Workflows, IaC, and tools updates.
Workflows, IaC, and tools updates.
Change Summary
This git diff encompasses several significant changes, primarily focused on enhancing and standardizing the CI/CD pipeline for deploying and planning infrastructure using Terragrunt and OpenTofu. The changes include the addition of new GitHub Actions workflows, updates to HCL and Terraform configurations, and the introduction of a new mise.toml file for managing tool versions.
Technical Details
- New GitHub Actions Workflows:
deploy.yml: This workflow is triggered on pushes to themainbranch and manual dispatches. It includes jobs for checking Terragrunt HCL and deploying infrastructure using Terragrunt and OpenTofu. It configures AWS credentials and uses Tailscale for networking.plan.yml: This workflow is triggered on pull requests to themainbranch. It includes jobs for checking Terragrunt HCL and planning infrastructure changes using Terragrunt and OpenTofu. It also configures AWS credentials and uses Tailscale.
- HCL and Terraform Configurations:
metrics.hcl: Includes a newkube_providerconfiguration.helm.hclandkube.hcl: Updated to usepathexpandfor theconfig_path.main.tf: Updated the version of themetrics-serverHelm chart from3.13to3.12.2.- Various
.terraform.lock.hclfiles: Updated the version of the Argo CD provider from7.12.3to7.12.4.
- mise.toml:
- Introduced to manage tool versions, specifying
terragruntversion0.96.1andopentofuversion1.11.2.
- Introduced to manage tool versions, specifying
Key Learnings & Insights
- Standardization of CI/CD Pipelines: The introduction of dedicated workflows for deploying and planning infrastructure ensures a standardized and automated process, reducing manual errors and enhancing reliability.
- Version Management: The use of
mise.tomlfor tool version management promotes consistency across development environments, ensuring that all team members use the same versions of critical tools. - Infrastructure as Code Best Practices: The changes reflect best practices in Infrastructure as Code (IaC), such as using Terragrunt for modular Terraform configurations and OpenTofu for enhanced compatibility and features.
- Dependency Updates: Regularly updating dependencies (e.g., Argo CD provider) ensures that the infrastructure benefits from the latest features and security patches.
Impact Assessment
- Performance: The changes are unlikely to have a direct impact on performance but will ensure that the infrastructure is deployed using the latest and most stable tool versions.
- Security: Updating dependencies and standardizing the CI/CD pipeline enhances security by reducing the risk of using outdated or vulnerable tools.
- Maintainability: The introduction of
mise.tomland standardized workflows improves maintainability by ensuring consistency and simplifying the process of updating tool versions.
Developer Notes
- Gotchas: Ensure that all team members update their local environments to use the specified versions of Terragrunt and OpenTofu as defined in
mise.toml. - Edge Cases: Pay attention to any potential issues arising from the version changes in the Argo CD provider and the Helm chart for
metrics-server. - Future Improvements: Consider automating the update process for tool versions in
mise.tomlto further streamline the development workflow.
This post is licensed under CC BY 4.0 by the author.