adding a new helm-upgrade module under community folder.#5595
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request adds a new community module designed to manage Helm chart deployments on GKE clusters. By leveraging the local Helm CLI via a Terraform local-exec provisioner, it provides a robust alternative for complex orchestration scenarios where direct binary control or dynamic, zero-touch authentication is required. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request adds a new community module for Helm chart management on GKE using local-exec. The reviewer identified a critical command injection risk in the shell command and suggested quoting variables. Other feedback includes expanding resource triggers to ensure consistency, using 'type = any' for complex variables with default values, and relaxing the Terraform version constraint for better compatibility.
kvenkatachala333
left a comment
There was a problem hiding this comment.
LGTM. Just a minor nit: please handle the gemini suggestion of ensuring new module is added to the index in the root modules/README.md file as required by the repository style guide
…Platform#5595) adding a new module helm-upgrade under community folder
…Platform#5595) adding a new module helm-upgrade under community folder
Adding a community module for managing Helm chart lifecycles using the Helm CLI.
This module provides a standardized way to deploy and upgrade Helm charts on GKE by wrapping the helm upgrade --install command within a local-exec provisioner.
While the native Terraform Helm provider is preferred for standard resource management, this CLI-based module is specifically designed for complex orchestration scenarios where direct control over the Helm binary is required or where "zero-touch" dynamic authentication is a priority.
Key Changes:
Dynamic Authentication: The module manages its own cluster connection on-the-fly by executing gcloud container clusters get-credentials at the beginning of the provisioner block. This ensures it is self-sufficient in clean CI/CD environments like Cloud Build.
Unified Lifecycle: Utilizes the --install flag to handle both new installations and version upgrades in a single declarative block.
Flexible Configuration: Supports both local file-based overrides (values_yaml) and dynamic key-value pairs (set_values).
Trigger-based Updates: Uses Terraform triggers to ensure the local-exec block re-runs whenever the set_values configuration is modified.
Requirements:
The host environment executing Terraform must have the gcloud (Google Cloud SDK) and helm CLI binaries installed and available in the system PATH.
Submission Checklist
NOTE: Community submissions can take up to 2 weeks to be reviewed.
Please take the following actions before submitting this pull request.