Skip to content

Files

Latest commit

dfc44ae · Nov 8, 2022

History

History
114 lines (83 loc) · 2.52 KB

README.adoc

File metadata and controls

114 lines (83 loc) · 2.52 KB

Stratus

CodeQL Validate Release stratus

Simple layer for managing CloudFormation stacks in CI/CD.

Commands

Native

stratus --help

# Create change set
stratus --name=my-clouds stage

# Execute change set
stratus --name=my-clouds deploy

# Delete stack
stratus --name=my-clouds delete

Docker (sh)

docker run                                    \
--env AWS_REGION=ap-southeast-2               \
--rm                                          \
--volume "$(pwd):/tmp"                        \
--volume ~/.aws/credentials:/.aws/credentials \
--workdir /tmp                                \
72636c/stratus --help

Docker (PowerShell)

docker run                                    `
--env AWS_REGION=ap-southeast-2               `
--rm                                          `
--volume "${pwd}:/tmp"                        `
--volume ~/.aws/credentials:/.aws/credentials `
--workdir /tmp                                `
72636c/stratus --help

Config

Define a YAML file like so:

defaults: # optional
  artefactBucket: '{{aws:ssm:parameter:artefact-bucket}}'

stacks:
  - name: stratus-sample-{{env:ENVIRONMENT}}

    capabilities: []
    parameters: []
    region: ap-southeast-2 # optional
    terminationProtection: true

    policyFile: ./policy.json
    templateFile: ./template.yaml

More in /samples.

Meta

Motivation

  • Binary distribution

  • Change set-based previews

  • Synchronous interface

  • Vanilla CloudFormation artefacts

Tool Distribution Dry Run Command Deployment Command

AWS CLI

❎ Python package

❎ glue code

aws cloudformation deploy

AWS SDK

✅ cross-language library

❎ glue code

❎ glue code

Serverless Framework

❎ JavaScript package

❎ no change sets

serverless deploy

Stratus

✅ binary

stratus stage

stratus deploy

Name

Stratus was a reasonably-short result from googling cloud formations.