Skip to main content

No project description provided

Project description

AWS Cloud Resource Utils - Library (ACRU-L)

codecov Code style: black Build

Pronounced Ah-crew-el (ə-kroo͞′l)

An open source framework for collecting and reusing AWS CDK constructs and stacks.

NOTE: This project is currently not stable (alpha releases only) and is subject change at any time. Please use at your own risk.

Usage: ACRU-L Action

This action provisions AWS stacks given an ACRU-L configuration file. The intention is to encapsulate the code needed to provision resources without conflating application code with devops requirements.

The goal is to avoid conflating microservice application code with "infrastructure as code".

Inputs

subcommand

Optional The aws-cdk subcommand to run. Default "deploy -f --require-approval=never".

Example usage

- user: actions/setup-python@v2
  with:
  python-version: 3.8
- uses: actions/setup-node@v2
  with:
  node-version: 12
- uses: quadio-media/acru-l@1.0.0a6
  with:
    subcommand: deploy -f
  env:
    AWS_REGION: us-east-1
    AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
    AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
    AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
    DEPLOY_ID: ${{ github.sha }}
    ACRUL_CONFIG_PATH: "./acru-l.toml"

Configuration

The following settings must be passed as environment variables as shown in the example. Sensitive information, especially AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, should be set as encrypted secrets — otherwise, they'll be public to anyone browsing your repository's source code and CI logs.

Key Value Suggested Type Required Default
AWS_ACCOUNT_ID Your AWS Account ID. secret env Yes N/A
AWS_ACCESS_KEY_ID Your AWS Access Key. More info here. secret env Yes N/A
AWS_SECRET_ACCESS_KEY Your AWS Secret Access Key. More info here. secret env Yes N/A
AWS_REGION The region you want the VPC Stack to live in. env Yes N/A
DEPLOY_ID SHA of the commit that triggered the action. env / github.sha Yes N/A
ACRUL_CONFIG_PATH Path to the ACRU-L configuration file to use. env No ./acru-l.toml

License

This project is distributed under the MIT license.

Why?

The problem with infrastructure as code ...

Monorepos... Snowflake code...

Confounding application source code with devops

A strict interface and reuse patterns

Installation

poetry add -D acru-l

pip install acru-l

About

Core Concepts

  • Resources - Extended constructs
  • Services - Collections of Resources that build a service interface
  • Stacks - Collections of Services

Resources

Extended constructs with set defaults

Services

TBD

Stacks

TBD

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

acru-l-1.0.0a6.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

acru_l-1.0.0a6-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file acru-l-1.0.0a6.tar.gz.

File metadata

  • Download URL: acru-l-1.0.0a6.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.6 Linux/5.4.0-1032-azure

File hashes

Hashes for acru-l-1.0.0a6.tar.gz
Algorithm Hash digest
SHA256 971b1b1bf8aba5fd2b9b0e6a798ec72b5be04ce5613cb0a68a6d3b30667ecddb
MD5 b1c96ada28514560799a6a3017856366
BLAKE2b-256 b88cd97ca7d380671f3aae10eacc6275f369ea4f6c313bd6c5b95da96b124aa1

See more details on using hashes here.

File details

Details for the file acru_l-1.0.0a6-py3-none-any.whl.

File metadata

  • Download URL: acru_l-1.0.0a6-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.6 Linux/5.4.0-1032-azure

File hashes

Hashes for acru_l-1.0.0a6-py3-none-any.whl
Algorithm Hash digest
SHA256 ae797e06eafa78dcdfc0c07443e3233675aa5226d7b9c7b2043ddf1f3ca0d356
MD5 4a5ed2c16134b106f076092feea7e9a5
BLAKE2b-256 ed821f81510fd3cb8cfceb05d8992412f2a9a14e828fd8dba99c4d8867013664

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page