Skip to content

Releases: spolspol/terragrunt-github-org

Refactors GitHub org management to orchestrated workflows

Choose a tag to compare

@spolspol spolspol released this 01 Jun 20:12

This commit introduces significant structural changes by implementing orchestrated GitHub Actions workflows for managing GitHub organization resources, ensuring consistency and dependency management. It moves from a simpler, parallel workflow to a more sophisticated one using orchestrator workflows and reusable components.

Changes

  • Workflow Structure: Introduces orchestrator workflows (terragrunt-pr-orchestrator.yml, terragrunt-apply-orchestrator.yml) to manage resources in dependency order.
  • Reusable Workflow Template: Creates a unified reusable workflow (terragrunt-unified-reusable.yml) to standardize actions across different resource types (org settings, members, teams, repositories). The common-env.yml is also introduced as a reusable workflow to setup environment variables.
  • Template-Based Configuration: Implements HCL templates (_common/templates/*.hcl) for organization settings, members, teams, and repositories, providing reusable configuration patterns.
  • Root Configuration: Adds a root.hcl to manage remote state and provider configuration.
  • Pre-commit Hooks: Introduces .pre-commit-config.yaml and associated scripts (scripts/terragrunt-format.sh, scripts/terragrunt-format-check.sh) for formatting and linting HCL files before commit.
  • Documentation Updates: Extensive documentation added in docs/ directory, covering configuration, workflows, environment variables, and GPG commit signing.
  • Removes prior simple workflows: Deletes the prior single workflows terragrunt-apply.yml and terragrunt-pr.yml.

Impact

  • Behavioral Changes: Enforces dependency order during application, validates changes in a structured manner, and introduces automated formatting checks via pre-commit hooks.
  • Structural Changes: Major refactoring of the workflow system, moving from standalone workflows to an orchestrated, template-driven approach.
  • Dependencies Affected: Relies on reusable workflows and templates, enforcing a consistent configuration style. Requires a GitHub token with organization admin permissions.
  • Testing Implications: Requires thorough testing of orchestrated workflows, change detection logic, and template configurations. Emphasis is now on integration testing since individual steps are less meaningful.