Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

813 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graviton CDK – "Infrastructure as Lego"

Alt text

Build status License Ruff pre-commit

Overview

Graviton CDK is a modular infrastructure as code (IaC) development kit that enables composing secure, reliable and manageable infrastructure stacks using reusable components akin to building Lego.

ℹ️ Versioning: Pinning a specific version of Graviton is recommended for downstream use. The project is under active development, so capturing and validating any breaking changes or unexpected updates before upgrading is the consumer's responsibility.

Development

Usage: make <command>

Initialize dev environment
    install              Install Poetry dependencies
    install-precommit    Install pre-commit hooks
    install-poly         Install polylith plugins
    install-lego         Install lego acme cli

Local development
    stacks               Check for changes in stacks
    test                 Run tests
    fmt                  Ruff formatter and linter (autofix)
    lint                 Ruff formatter and linter (check mode)
    pyright              Run Pyright type checker

Scaffolding
    component            Create a new component
    base                 Create a new base

Dependency choirs
    outdated             Check for outdated Poetry dependencies
    update               Update Poetry and pre-commit dependencies

Help
    help                 (Default) Print listing of key targets with their descriptions

Adding components & bases

# Create a new component
poetry poly create component --name <component_name>

# Create a new base
poetry poly create base --name <base_name>

Versioning & Commit messages

Releases are automatically created by commitizen in the build workflow when a commit is pushed to the main branch. To communicate the intent of your changes to the release process, please use the following prefixes:

  • feat: New feature - will trigger a minor version bump
  • fix: Bug fix - will trigger a patch version bump
  • test: Adding or updating tests
  • refactor: Code refactor
  • style: Code style update
  • chore: Maintenance task (e.g. bumping dependencies)
  • docs: Documentation update
  • ci: CI/CD related changes

Breaking changes

When commitizen sees BREAKING CHANGE in the commit message, it will trigger a major version bump – cz commit is your friend here and will automatically include the breaking changes in the changelog and release message.

Right now we've set major_version_zero = true in pyproject.toml which means that we're still in v0.x.x and breaking changes will not trigger a major version as all versions are considered unstable.

About

Opinionated Azure infrastructure template library with Pulumi & Python

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages