Skip to content

Migrate install_gib from kubectl to helm#5256

Merged
agrawalkhushi18 merged 4 commits intoGoogleCloudPlatform:developfrom
agrawalkhushi18:migration-gib
Feb 19, 2026
Merged

Migrate install_gib from kubectl to helm#5256
agrawalkhushi18 merged 4 commits intoGoogleCloudPlatform:developfrom
agrawalkhushi18:migration-gib

Conversation

@agrawalkhushi18
Copy link
Copy Markdown
Contributor

This PR migrates the install_gib module in kubectl-apply from the legacy third-party kubectl provider to the official helm provider. This change is part of the strategic effort to deprecate third-party dependencies within the Cluster Toolkit in favor of official HashiCorp providers.

The implementation utilizes the Raw Config Helm Chart pattern, which allows us to deploy standard Kubernetes manifests using the Helm provider.

Submission Checklist

NOTE: Community submissions can take up to 2 weeks to be reviewed.

Please take the following actions before submitting this pull request.

  • Fork your PR branch from the Toolkit "develop" branch (not main)
  • Test all changes with pre-commit in a local branch #
  • Confirm that "make tests" passes all tests
  • Add or modify unit tests to cover code changes
  • Ensure that unit test coverage remains above 80%
  • Update all applicable documentation
  • Follow Cluster Toolkit Contribution guidelines #

@agrawalkhushi18 agrawalkhushi18 added release-module-improvements Added to release notes under the "Module Improvements" heading. release-improvements Added to release notes under the "Improvements" heading. labels Feb 18, 2026
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @agrawalkhushi18, 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 significantly refactors the deployment mechanism for the install_gib module within the kubectl-apply management module. By transitioning from a direct kubectl provider to a helm provider using the Raw Config Helm Chart pattern, the change enhances consistency and reduces reliance on deprecated third-party tools. This update streamlines the deployment process for Kubernetes manifests, ensuring better integration with the HashiCorp ecosystem.

Highlights

  • Migration to Helm: The install_gib module has been migrated from using the legacy kubectl provider to the official helm provider, aligning with the strategic deprecation of third-party dependencies.
  • Raw Config Helm Chart Pattern: The implementation now utilizes the Raw Config Helm Chart pattern, allowing standard Kubernetes manifests to be deployed via the Helm provider.
  • Terraform Module Update: The install_gib Terraform module in main.tf was refactored to use the helm_install source, incorporating Helm-specific configurations like release_name, chart_name, and values_yaml.
  • Documentation Update: The README.md file was updated to reflect the change in the source for the install_gib module from ./kubectl to ./helm_install.
Changelog
  • modules/management/kubectl-apply/README.md
    • Updated the source reference for the install_gib module from ./kubectl to ./helm_install in the module table.
  • modules/management/kubectl-apply/main.tf
    • Changed the source of the install_gib module from ./kubectl to ./helm_install.
    • Removed server_side_apply, template_vars, wait_for_rollout, and providers attributes.
    • Added count and depends_on attributes to control module instantiation and dependencies.
    • Introduced Helm-specific configuration attributes: release_name, chart_name, namespace, create_namespace, and wait.
    • Implemented values_yaml to encode Kubernetes manifests generated from templatefile for Helm deployment.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request successfully migrates the install_gib module from using the kubectl provider to the helm provider, aligning with the strategic effort to deprecate third-party dependencies in favor of official HashiCorp providers. The implementation correctly utilizes the Raw Config Helm Chart pattern, ensuring that Kubernetes manifests are deployed via Helm. The README.md has been updated to reflect this change, maintaining accurate documentation. The refactoring in main.tf is well-structured, using count for conditional module creation and depends_on for proper sequencing. Overall, the changes enhance maintainability and adhere to best practices for Terraform module development.

@agrawalkhushi18 agrawalkhushi18 marked this pull request as ready for review February 18, 2026 09:58
@agrawalkhushi18 agrawalkhushi18 requested review from a team and samskillman as code owners February 18, 2026 09:58
Comment thread modules/management/kubectl-apply/main.tf Outdated
Comment thread modules/management/kubectl-apply/main.tf Outdated
Comment thread modules/management/kubectl-apply/main.tf
Copy link
Copy Markdown
Contributor

@SwarnaBharathiMantena SwarnaBharathiMantena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, Khushi.

I have a suggestion - to update the README description to highlight giB support. I think it'll be good to update the description and example(s) with giB snippet.

@agrawalkhushi18
Copy link
Copy Markdown
Contributor Author

Thanks, Khushi.

I have a suggestion - to update the README description to highlight giB support. I think it'll be good to update the description and example(s) with giB snippet.

Sure, I'll update the README with giB snippets in a follow-up PR. Thanks for the suggestion!

@agrawalkhushi18 agrawalkhushi18 merged commit dea1176 into GoogleCloudPlatform:develop Feb 19, 2026
17 of 82 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-improvements Added to release notes under the "Improvements" heading. release-module-improvements Added to release notes under the "Module Improvements" heading.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants