stratus

command module
v0.0.0-...-b169d62 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2024 License: MIT Imports: 4 Imported by: 0

README

= Stratus

:repo: 72636c/stratus
:hub: https://hub.docker.com/r/{repo}
:workflows: https://github.com/{repo}/actions/workflows

image:{workflows}/codeql-analysis.yml/badge.svg?branch=main[CodeQL,link="{workflows}/codeql-analysis.yml"]
image:{workflows}/validate.yml/badge.svg?branch=main[Validate,link="{workflows}/validate.yml"]
image:{workflows}/release.yml/badge.svg?branch=main[Release,link="{workflows}/release.yml"]
image:https://img.shields.io/docker/pulls/{repo}.svg[link={hub}]

Simple layer for managing CloudFormation stacks in CI/CD.

== Commands

=== Native

```shell
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)

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

=== Docker (PowerShell)

```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:

```yaml
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 link:/samples[`/samples`].

== Meta

=== Motivation

- Binary distribution
- Change set-based previews
- Synchronous interface
- Vanilla CloudFormation artefacts

[options=header]
|===
| Tool | Distribution | Dry Run Command | Deployment Command

| link:https://aws.amazon.com/cli/[AWS CLI]
| ❎ Python package
| ❎ glue code
| ✅ `aws cloudformation deploy`

| link:https://aws.amazon.com/tools/#sdk[AWS SDK]
| ✅ cross-language library
| ❎ glue code
| ❎ glue code

| link:https://serverless.com/[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_.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
cli
log

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL