Skip to content

merylldindin/sirtuin

Repository files navigation

sirtuin

AWS CLI Routines

Report Bug

About

Sirtuin is a collection of AWS CLI routines that automate common deployment tasks for CloudFront distributions and container services.

Tech Stack

Layer Technology
Language Python 3.13
Package Manager uv
CLI Framework Typer
Data Validation Pydantic
Linting & Formatting Ruff
Type Checking ty
Testing Pytest
Cloud AWS CLI

Installation

pip install sirtuin

Or with uv:

uv add sirtuin

Usage

CloudFront Operations

Deploy a CloudFront distribution via a local configuration:

sirtuin cloudfront-deploy .cloudfront -p profile

Invalidate CloudFront cache:

sirtuin cloudfront-invalidate .cloudfront -p profile

Display Content Security Policy headers:

sirtuin cloudfront-headers .cloudfront

Container Operations

Push an updated container to AWS via a stored configuration on S3:

sirtuin container-push s3://bucket/.container -p profile

Deploy a new container to AWS via a stored configuration on S3:

sirtuin container-deploy s3://bucket/.container -p profile

Local Development

Prerequisites

  • Python 3.13
  • uv package manager
  • AWS CLI v2 configured with profiles

Setup

git clone https://github.com/merylldindin/sirtuin
cd sirtuin
make setup

This installs all dependencies and configures pre-commit hooks.

Available Commands

Command Description
make setup Install dependencies + hooks
make setup-hard Clean install from scratch
make format Check code formatting
make format-fix Format code with Ruff
make lint Lint code with Ruff
make lint-fix Auto-fix linting issues
make types Type check with ty
make test Run test suite
make test-coverage Run tests with coverage

Contributing

See CONTRIBUTING.md for guidelines on:

  • Code quality standards
  • Naming conventions
  • Git workflow and conventional commits
  • Pre-commit hooks

License

Apache License 2.0 - see LICENSE for details.