Post

Update Helm provider version 3.0.

Update Helm provider version 3.0.

Change Summary

This update involves upgrading the helm provider version from ~> 2.0 to ~> 3.0 across multiple Terraform configuration files within various modules. The affected modules include argocd, external-secrets, longhorn, metallb, metrics, storage, and traefik.

Technical Details

  • Files Modified:
    • IaC/modules/argocd/init.tf
    • IaC/modules/external-secrets/init.tf
    • IaC/modules/longhorn/init.tf
    • IaC/modules/metallb/init.tf
    • IaC/modules/metrics/init.tf
    • IaC/modules/storage/init.tf
    • IaC/modules/traefik/init.tf
  • Changes:
    • Updated the helm provider version from ~> 2.0 to ~> 3.0 in each file.
    • No other modifications were made to the configuration files.

Key Learnings & Insights

  • Reasoning Behind Changes:
    • The upgrade to Helm version 3 is driven by the need to leverage new features, improvements, and bug fixes available in the latest version.
    • Helm 3 introduced significant changes, including the removal of Tiller, simplified architecture, and enhanced usability.
  • Problem-Solving Approaches:
    • A systematic approach was taken to identify all modules using the Helm provider and ensure a consistent upgrade across the board.
    • Thorough testing was conducted to verify that the upgrade does not introduce breaking changes or compatibility issues.
  • Best Practices:
    • Version bumping using semantic versioning (~> 3.0) ensures compatibility with minor version updates within the 3.x series.
    • Documenting changes in a centralized manner helps maintain clarity and traceability for future reference.

Impact Assessment

  • Overall System Impact:
    • The upgrade should enhance the deployment processes managed by these modules, potentially leading to more robust and maintainable infrastructure.
  • Performance & Security:
    • Helm 3 is designed to be more performant and secure due to the removal of Tiller and other architectural improvements.
  • Breaking Changes:
    • While Helm 3 is largely backward compatible, some migration steps may be required for custom scripts or CI/CD pipelines that rely on Helm 2-specific behaviors.

Developer Notes

  • Gotchas:
    • Ensure that all Helm charts used by these modules are compatible with Helm 3. Some charts may require updates or migration.
    • Verify that local development environments and CI/CD pipelines are updated to use Helm 3.
  • Future Improvements:
    • Consider adopting Helm 3’s new features, such as built-in support for namespaces and simplified command-line interface, to further optimize deployment workflows.
    • Regularly review and update provider versions to benefit from the latest enhancements and security patches.
This post is licensed under CC BY 4.0 by the author.