/aws-tools

Some of my tools and sample code for building with AWS.

Primary LanguagePythonMIT LicenseMIT

aws-tools

githubactions githubactions codecov CodeQL SecretsScan

This repository includes some tools and sample code I created for building with AWS.
All notable changes to this project are documented in CHANGELOG.

Jump to:


Built with

  • Python, Shell, PowerShell, JavaScript, TypeScript, Go, Docker
  • AWS CDK v2, AWS SAM, AWS CloudFormation are used for IaC.
  • cfn-lint is used for to validating CloudFormation templates.
  • black is used for Python code formatter. flake8 is used for Python linting checks.
  • CodeQL is enabled in this repository.
  • Dependabot is enabled for auto dependency updates.
  • Gitleaks and TruffleHog are enabled in this GitHub Actions workflow for detecting and preventing hardcoded secrets.
  • Snyk is enabled in this GitHub Actions workflow for vulnerability scanning and auto pull-request

To run the scripts

AWS login

  • saml2aws-multi is my version of AWS login tool providing an easy-to-use command line interface to support login and retrieve AWS temporary credentials for multiple roles of different accounts with saml2aws.

For running Python scripts

  • Most of the Python scripts support processing multiple AWS accounts (via AWS profiles in ~/.aws/credentials) and AWS regions using AwsApiHelper in the common helper.aws.AwsApiHelper module.
  • Automated tests being run with Python 3.10, 3.11, 3.12
  • To start, install dependencies by running:
    pip3 install -r requirements.txt
    
  • Set aliases (optional):
    source .aliases
    

For running CLI tools and shell scripts

  • To start, install dependencies by running:
    pip3 install -r requirements-cli.txt
    

Quick links for news, blogs and resources

AWS design + build tools

Other AWS related tools

Data Sources