aws-bootstrap

Crates.ioaws-bootstrap
lib.rsaws-bootstrap
version0.1.1
sourcesrc
created_at2022-06-30 21:51:12.989704
updated_at2022-07-01 06:21:22.657442
descriptionBootstrap a minimal self-hosted Terraform setup on an AWS account, using CloudFormation stack.
homepagehttps://github.com/rustshop/rustshop/tree/main/infra/utils/aws-bootstrap
repositoryhttps://github.com/rustshop/rustshop
max_upload_size
id616738
size46,774
Dawid Ciężarkiewicz (dpc)

documentation

https://github.com/rustshop/rustshop/tree/main/infra/utils/aws-bootstrap

README

AWS Bootstrap

Bootstrap a minimal self-hosted Terraform setup on an AWS account, using CloudFormation stack.

Part of the rustshop project.

Explanation

When called like this:

aws-bootstrap --email infra@example.com --base example --accounts dev,prod

with AWS_PROFILE pointing to an iamadmin Account Admin IAM identity on, will:

  • create a AWS Organinzation (if needed):
  • in each account deploy a minimal CloudFormation stack including:
    • S3 Bucket for Terraform State

    • S3 Bucket for CloudWatch Logs

    • Minimal (thus drit cheap) DynamoDB for Terraform State locking

    • some minimal policies, etc.

Requirements:

  • Uses aws CLI command under the hood

Building

You can use ./aws-bootstrap.build.sh to build the Dockerfile an export the statically linked Linux binary.

This is a normal Rust project, so can be build using cargo.

Commit count: 112

cargo fmt