Skip to content

v0.1.0

Compare
Choose a tag to compare
@marshall7m marshall7m released this 19 Jun 03:09
· 861 commits to master since this release

Enhancements

Module

  • Replace prefixing resources with var.step_function_name with actual var.prefix variable
  • Use pinned Terraform sub-module source versions instead of using sub-module's possibly unstable master branch
  • Remove module.ecr_common_image and replace with a ghcr image that has it's own GitHub actions release workflow
    • This bring the benefit of decoupling the Docker build process from the Terraform module deployment
    • Allows the user to pin down a specific version of the image
    • Opens up the ability to run an older version of the module with a newer version of the image that may contain updated packages
  • Add a common entrypoint script to the create deploy stack and terra run buildspec definitions to install the user-defined Terraform/Terragrunt versions at runtime
  • Add the following execution context data to the approval request email template:
    LogsUrl: Cloudwatch log stream associated with the Step Function execution Plan task
    ExecutionName: Step Function execution ID
    AccountName: AWS account name
    PullRequestID: Pull Request #
  • Replace general var.github_token_ssm_key with var.github_webhook_validator_github_token_ssm_key for module.github_webhook_validator and local.merge_lock_github_token_ssm_key for module.lambda_merge_lock
  • Replace inline local.metadb_setup_script with templated metadb_setup_script.sh
  • Add a random_id suffix to aws_secretsmanager_secret to prevent duplicate naming issues with scheduled for deletion secret manager values

Tests

  • Add GitHub actions workflow
    • Includes a job for pre-commit hooks, unit tests and integration tests
    • Implements conditional jobs that allow the Github workflow to run locally via act
  • Use ghcr.io/marshall7m/terrace:v0.1.8 for Docker compose unit and integration testing services
  • Use handy dummy_thing resource from the Terraform provider nfx04/dummy for rollback new provider resouces integration testing. Replaces dummy github_repository resource that required additional teardown logic
  • Add black, flake8, sqlfluff-lint, and shellcheck pre-commit hooks for enforcing style and format checks for .py, .sql and .sh files. Release also includes fixes to adhere to the hooks
  • Use authenticated sender email address to actually test approval request Lambda Function logic instead of patching the API request
  • Create useful aws_session_expiration_check fixture that skips all integration tests if the AWS_SESSION_EXPIRATION is less than a specified amount of time. No more mid-way expired session token surprises within integration testing!
  • Add Terraform/Terragrunt version constraint markdown table for create deploy stack and terra run builds

Bug Fixes

  • Replace overwritting AWS credentials with dummy values within unit test aws_credentials fixture with setting the value if it doesn't not exist. This fixes the case where the aws_credentials fixture overwrites the GitHub workflow’s actual AWS credentials that causes downstream tests that need valid AWS credentials to fail