Skip to content

Feat/add addons templates#41

Merged
iasthc merged 35 commits intomainfrom
feat/add_addons_templates
Mar 18, 2026
Merged

Feat/add addons templates#41
iasthc merged 35 commits intomainfrom
feat/add_addons_templates

Conversation

@tsaishawn
Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings March 17, 2026 10:30
@tsaishawn tsaishawn added the enhancement New feature or request label Mar 17, 2026
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, 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 expands the operator's capabilities by integrating a robust system for managing external Kubernetes components as "addons" or "modules." It establishes a structured approach for defining and deploying these addons, leveraging both FluxCD Kustomization and HelmRelease mechanisms. This enhancement allows for easier extension and customization of the Kubernetes environment, providing pre-configured templates for a variety of essential tools and services.

Highlights

  • Documentation Streamlining: Removed the AGENTS.md guide, streamlining documentation related to AI agents and project structure.
  • New Addons Framework: Introduced a new config/addons directory structure to house a wide array of Module and ModuleTemplate definitions for popular Kubernetes ecosystem tools.
  • GitRepository-based Addons: Added ModuleTemplate definitions for GitRepository-based addons including CDI (Containerized Data Importer), Kubernetes Gateway API, KubeVirt, Rook-Ceph, and Samba.
  • HelmRepository-based Addons: Added ModuleTemplate definitions for HelmRepository-based addons such as NVIDIA GPU Operator, HAMI (Heterogeneous AI Computing Virtualization), Istio (base, istiod, gateway), Prometheus (kube-prometheus-stack), and LLM-D Infra.
  • Installer Integration: Updated the Makefile to incorporate these new addon ModuleTemplates into the build-installer target, enabling their inclusion in the main installation manifest.
  • Kustomize Configuration Standardization: Standardized the config/manager/kustomization.yaml with explicit API version, kind, and image definitions for better Kustomize management.
Changelog
  • AGENTS.md
    • Removed the AI Agent Guide documentation.
  • Makefile
    • Updated the build-installer target to include new Kustomize builds for HelmRepository and GitRepository module templates.
  • config/addons/gitrepository/cdi/deploy/kustomization.yaml
    • Added Kustomization for CDI deployment from remote YAMLs.
  • config/addons/gitrepository/cdi/module.yaml
    • Added Module definition for CDI.
  • config/addons/gitrepository/cdi/moduletemplate.yaml
    • Added ModuleTemplate for CDI.
  • config/addons/gitrepository/gateway-api/deploy/kustomization.yaml
    • Added Kustomization for Gateway API CRDs deployment.
  • config/addons/gitrepository/gateway-api/module.yaml
    • Added Module definition for Gateway API.
  • config/addons/gitrepository/gateway-api/moduletemplate.yaml
    • Added ModuleTemplate for Gateway API.
  • config/addons/gitrepository/kubevirt/deploy/kustomization.yaml
    • Added Kustomization for KubeVirt deployment from remote YAMLs.
  • config/addons/gitrepository/kubevirt/module.yaml
    • Added Module definition for KubeVirt.
  • config/addons/gitrepository/kubevirt/moduletemplate.yaml
    • Added ModuleTemplate for KubeVirt.
  • config/addons/gitrepository/module-templates/cdi-moduletemplate.yaml
    • Added CDI ModuleTemplate for GitRepository-based addons.
  • config/addons/gitrepository/module-templates/gateway-api-moduletemplate.yaml
    • Added Gateway API ModuleTemplate for GitRepository-based addons.
  • config/addons/gitrepository/module-templates/gitrepository.yaml
    • Added shared GitRepository definition for addon ModuleTemplates.
  • config/addons/gitrepository/module-templates/kubevirt-moduletemplate.yaml
    • Added KubeVirt ModuleTemplate for GitRepository-based addons.
  • config/addons/gitrepository/module-templates/kustomization.yaml
    • Added Kustomization for GitRepository-based module templates.
  • config/addons/gitrepository/module-templates/rook-ceph-moduletemplate.yaml
    • Added Rook-Ceph ModuleTemplate for GitRepository-based addons.
  • config/addons/gitrepository/module-templates/samba-moduletemplate.yaml
    • Added Samba ModuleTemplate for GitRepository-based addons.
  • config/addons/gitrepository/rook-ceph/deploy/kustomization.yaml
    • Added Kustomization for Rook-Ceph Operator deployment.
  • config/addons/gitrepository/rook-ceph/module.yaml
    • Added Module definition for Rook-Ceph.
  • config/addons/gitrepository/rook-ceph/moduletemplate.yaml
    • Added ModuleTemplate for Rook-Ceph Operator.
  • config/addons/gitrepository/samba/deploy/kustomization.yaml
    • Added Kustomization for Samba Operator deployment.
  • config/addons/gitrepository/samba/module.yaml
    • Added Module definition for Samba.
  • config/addons/gitrepository/samba/moduletemplate.yaml
    • Added ModuleTemplate for Samba Operator.
  • config/addons/helmrepository/gpu-operator/helmrepository.yaml
    • Added HelmRepository for NVIDIA GPU Operator.
  • config/addons/helmrepository/gpu-operator/kustomization.yaml
    • Added Kustomization for GPU Operator Helm resources.
  • config/addons/helmrepository/gpu-operator/module.yaml
    • Added Module definition for GPU Operator.
  • config/addons/helmrepository/gpu-operator/moduletemplate.yaml
    • Added ModuleTemplate for NVIDIA GPU Operator.
  • config/addons/helmrepository/hami/helmrepository.yaml
    • Added HelmRepository for HAMI.
  • config/addons/helmrepository/hami/kustomization.yaml
    • Added Kustomization for HAMI Helm resources.
  • config/addons/helmrepository/hami/module.yaml
    • Added Module definition for HAMI.
  • config/addons/helmrepository/hami/moduletemplate.yaml
    • Added ModuleTemplate for HAMI.
  • config/addons/helmrepository/istio/helmrepository.yaml
    • Added HelmRepository for Istio charts.
  • config/addons/helmrepository/istio/kustomization.yaml
    • Added Kustomization for Istio Helm resources.
  • config/addons/helmrepository/istio/module-base.yaml
    • Added Module definition for Istio base.
  • config/addons/helmrepository/istio/module-gateway.yaml
    • Added Module definition for Istio gateway.
  • config/addons/helmrepository/istio/module-istiod.yaml
    • Added Module definition for Istiod.
  • config/addons/helmrepository/istio/moduletemplate-base.yaml
    • Added ModuleTemplate for Istio base.
  • config/addons/helmrepository/istio/moduletemplate-gateway.yaml
    • Added ModuleTemplate for Istio ingress gateway.
  • config/addons/helmrepository/istio/moduletemplate-istiod.yaml
    • Added ModuleTemplate for Istiod.
  • config/addons/helmrepository/llm-d-infra/helmrepository.yaml
    • Added HelmRepository for LLM-D Infra.
  • config/addons/helmrepository/llm-d-infra/kustomization.yaml
    • Added Kustomization for LLM-D Infra Helm resources.
  • config/addons/helmrepository/llm-d-infra/module.yaml
    • Added Module definition for LLM-D Infra.
  • config/addons/helmrepository/llm-d-infra/moduletemplate.yaml
    • Added ModuleTemplate for LLM-D Infra.
  • config/addons/helmrepository/module-templates/gpu-operator-helmrepository.yaml
    • Added GPU Operator HelmRepository for Helm-based addons.
  • config/addons/helmrepository/module-templates/gpu-operator-moduletemplate.yaml
    • Added GPU Operator ModuleTemplate for Helm-based addons.
  • config/addons/helmrepository/module-templates/hami-helmrepository.yaml
    • Added HAMI HelmRepository for Helm-based addons.
  • config/addons/helmrepository/module-templates/hami-moduletemplate.yaml
    • Added HAMI ModuleTemplate for Helm-based addons.
  • config/addons/helmrepository/module-templates/istio-helmrepository.yaml
    • Added Istio HelmRepository for Helm-based addons.
  • config/addons/helmrepository/module-templates/istio-moduletemplate-base.yaml
    • Added Istio base ModuleTemplate for Helm-based addons.
  • config/addons/helmrepository/module-templates/istio-moduletemplate-gateway.yaml
    • Added Istio gateway ModuleTemplate for Helm-based addons.
  • config/addons/helmrepository/module-templates/istio-moduletemplate-istiod.yaml
    • Added Istiod ModuleTemplate for Helm-based addons.
  • config/addons/helmrepository/module-templates/kustomization.yaml
    • Added Kustomization for HelmRepository-based module templates.
  • config/addons/helmrepository/module-templates/llm-d-infra-helmrepository.yaml
    • Added LLM-D Infra HelmRepository for Helm-based addons.
  • config/addons/helmrepository/module-templates/llm-d-infra-moduletemplate.yaml
    • Added LLM-D Infra ModuleTemplate for Helm-based addons.
  • config/addons/helmrepository/module-templates/prometheus-helmrepository.yaml
    • Added Prometheus HelmRepository for Helm-based addons.
  • config/addons/helmrepository/module-templates/prometheus-moduletemplate.yaml
    • Added Prometheus ModuleTemplate for Helm-based addons.
  • config/addons/helmrepository/prometheus/helmrepository.yaml
    • Added HelmRepository for Prometheus community charts.
  • config/addons/helmrepository/prometheus/kustomization.yaml
    • Added Kustomization for Prometheus Helm resources.
  • config/addons/helmrepository/prometheus/module.yaml
    • Added Module definition for Prometheus.
  • config/addons/helmrepository/prometheus/moduletemplate.yaml
    • Added ModuleTemplate for kube-prometheus-stack.
  • config/manager/kustomization.yaml
    • Added explicit apiVersion, kind, and images fields for Kustomize configuration.
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

@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 introduces a comprehensive set of addon templates for the module operator, structured for both Helm and Git repositories. The changes primarily involve adding new YAML configuration files and updating the Makefile to build a consolidated installer. My review focuses on improving the maintainability of these new templates by addressing issues like file duplication, hardcoded values, and configuration clarity. Overall, this is a significant feature addition, and the suggested changes will help ensure it's easier to manage in the long term.

Comment thread config/addons/gitrepository/cdi/moduletemplate.yaml Outdated
Comment thread config/addons/gitrepository/gitrepository.yaml Outdated
Comment thread config/addons/gitrepository/module-templates/kustomization.yaml Outdated
Comment thread config/addons/helmrepository/module-templates/kustomization.yaml Outdated
Comment thread config/modules/prometheus/moduletemplate.yaml
Comment thread Makefile Outdated
Comment thread config/addons/helmrepository/gpu-operator/moduletemplate.yaml Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a set of “addon” manifests (ModuleTemplates, Modules, and Flux sources) and updates the release installer generation so these addon templates are bundled into dist/install.yaml.

Changes:

  • Add HelmRepository-based addon templates (GPU Operator, HAMI, Prometheus stack, Istio, llm-d-infra).
  • Add GitRepository-based addon templates (Gateway API, CDI, KubeVirt, Samba Operator, Rook-Ceph Operator).
  • Update make build-installer to concatenate addon “module-templates” outputs into dist/install.yaml and add manager image overrides in Kustomize.

Reviewed changes

Copilot reviewed 62 out of 62 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
config/manager/kustomization.yaml Adds Kustomize metadata/images for controller image override.
config/addons/helmrepository/prometheus/moduletemplate.yaml Prometheus HelmRelease ModuleTemplate (addon).
config/addons/helmrepository/prometheus/module.yaml Prometheus Module referencing the template.
config/addons/helmrepository/prometheus/kustomization.yaml Kustomization to apply Prometheus addon resources.
config/addons/helmrepository/prometheus/helmrepository.yaml Flux HelmRepository for prometheus-community charts.
config/addons/helmrepository/prometheus/moduletemplate.yaml Prometheus stack ModuleTemplate definition.
config/addons/helmrepository/llm-d-infra/moduletemplate.yaml llm-d-infra HelmRelease ModuleTemplate (addon).
config/addons/helmrepository/llm-d-infra/module.yaml llm-d-infra Module referencing the template.
config/addons/helmrepository/llm-d-infra/kustomization.yaml Kustomization to apply llm-d-infra addon resources.
config/addons/helmrepository/llm-d-infra/helmrepository.yaml Flux HelmRepository for llm-d-infra chart source.
config/addons/helmrepository/istio/moduletemplate-base.yaml Istio base HelmRelease ModuleTemplate (CRDs).
config/addons/helmrepository/istio/moduletemplate-istiod.yaml Istiod HelmRelease ModuleTemplate.
config/addons/helmrepository/istio/moduletemplate-gateway.yaml Istio gateway HelmRelease ModuleTemplate.
config/addons/helmrepository/istio/module-base.yaml Module referencing istio-base template.
config/addons/helmrepository/istio/module-istiod.yaml Module referencing istiod template.
config/addons/helmrepository/istio/module-gateway.yaml Module referencing istio-gateway template.
config/addons/helmrepository/istio/kustomization.yaml Kustomization to apply Istio addon resources.
config/addons/helmrepository/istio/helmrepository.yaml Flux HelmRepository for Istio charts.
config/addons/helmrepository/hami/moduletemplate.yaml HAMI HelmRelease ModuleTemplate (addon).
config/addons/helmrepository/hami/module.yaml HAMI Module referencing the template.
config/addons/helmrepository/hami/kustomization.yaml Kustomization to apply HAMI addon resources.
config/addons/helmrepository/hami/helmrepository.yaml Flux HelmRepository for HAMI charts.
config/addons/helmrepository/gpu-operator/moduletemplate.yaml NVIDIA GPU Operator HelmRelease ModuleTemplate (addon).
config/addons/helmrepository/gpu-operator/module.yaml GPU Operator Module referencing the template.
config/addons/helmrepository/gpu-operator/kustomization.yaml Kustomization to apply GPU Operator addon resources.
config/addons/helmrepository/gpu-operator/helmrepository.yaml Flux HelmRepository for NVIDIA GPU Operator charts.
config/addons/helmrepository/module-templates/kustomization.yaml Aggregates HelmRepository+ModuleTemplate (no Module CRs) for installer bundling.
config/addons/helmrepository/module-templates/gpu-operator-helmrepository.yaml Installer-bundled HelmRepository for GPU Operator.
config/addons/helmrepository/module-templates/gpu-operator-moduletemplate.yaml Installer-bundled GPU Operator ModuleTemplate.
config/addons/helmrepository/module-templates/hami-helmrepository.yaml Installer-bundled HelmRepository for HAMI.
config/addons/helmrepository/module-templates/hami-moduletemplate.yaml Installer-bundled HAMI ModuleTemplate.
config/addons/helmrepository/module-templates/prometheus-helmrepository.yaml Installer-bundled HelmRepository for Prometheus community.
config/addons/helmrepository/module-templates/prometheus-moduletemplate.yaml Installer-bundled Prometheus ModuleTemplate.
config/addons/helmrepository/module-templates/istio-helmrepository.yaml Installer-bundled HelmRepository for Istio.
config/addons/helmrepository/module-templates/istio-moduletemplate-base.yaml Installer-bundled Istio base ModuleTemplate.
config/addons/helmrepository/module-templates/istio-moduletemplate-istiod.yaml Installer-bundled Istiod ModuleTemplate.
config/addons/helmrepository/module-templates/istio-moduletemplate-gateway.yaml Installer-bundled Istio gateway ModuleTemplate.
config/addons/helmrepository/module-templates/llm-d-infra-helmrepository.yaml Installer-bundled HelmRepository for llm-d-infra.
config/addons/helmrepository/module-templates/llm-d-infra-moduletemplate.yaml Installer-bundled llm-d-infra ModuleTemplate.
config/addons/gitrepository/cdi/moduletemplate.yaml CDI Kustomization-based ModuleTemplate (addon).
config/addons/gitrepository/cdi/module.yaml CDI Module referencing the template.
config/addons/gitrepository/cdi/deploy/kustomization.yaml Remote-manifest Kustomization for CDI deployment.
config/addons/gitrepository/gateway-api/moduletemplate.yaml Gateway API Kustomization-based ModuleTemplate (addon).
config/addons/gitrepository/gateway-api/module.yaml Gateway API Module referencing the template.
config/addons/gitrepository/gateway-api/deploy/kustomization.yaml Remote-manifest Kustomization for Gateway API CRDs.
config/addons/gitrepository/kubevirt/moduletemplate.yaml KubeVirt Kustomization-based ModuleTemplate (addon).
config/addons/gitrepository/kubevirt/module.yaml KubeVirt Module referencing the template.
config/addons/gitrepository/kubevirt/deploy/kustomization.yaml Remote-manifest Kustomization for KubeVirt deployment.
config/addons/gitrepository/samba/moduletemplate.yaml Samba Operator ModuleTemplate (addon).
config/addons/gitrepository/samba/module.yaml Samba Module referencing the template.
config/addons/gitrepository/samba/deploy/kustomization.yaml Remote-manifest Kustomization for Samba Operator deployment.
config/addons/gitrepository/rook-ceph/moduletemplate.yaml Rook-Ceph Operator ModuleTemplate (addon).
config/addons/gitrepository/rook-ceph/module.yaml Rook-Ceph Module referencing the template.
config/addons/gitrepository/rook-ceph/deploy/kustomization.yaml Remote-manifest Kustomization for Rook-Ceph operator resources.
config/addons/gitrepository/module-templates/kustomization.yaml Aggregates GitRepository+ModuleTemplate (no Module CRs) for installer bundling.
config/addons/gitrepository/module-templates/gitrepository.yaml Installer-bundled shared GitRepository source for git-based addon templates.
config/addons/gitrepository/module-templates/gateway-api-moduletemplate.yaml Installer-bundled Gateway API ModuleTemplate.
config/addons/gitrepository/module-templates/cdi-moduletemplate.yaml Installer-bundled CDI ModuleTemplate.
config/addons/gitrepository/module-templates/kubevirt-moduletemplate.yaml Installer-bundled KubeVirt ModuleTemplate.
config/addons/gitrepository/module-templates/samba-moduletemplate.yaml Installer-bundled Samba Operator ModuleTemplate.
config/addons/gitrepository/module-templates/rook-ceph-moduletemplate.yaml Installer-bundled Rook-Ceph ModuleTemplate.
Makefile Changes build-installer to emit a combined install bundle including addon templates.
AGENTS.md Removes the agent guide document.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread config/addons/helmrepository/module-templates/kustomization.yaml Outdated
Comment thread config/modules/prometheus/moduletemplate.yaml
Comment thread config/addons/gitrepository/module-templates/kustomization.yaml Outdated
Comment thread Makefile Outdated
Comment thread config/addons/gitrepository/gitrepository.yaml Outdated
@tsaishawn tsaishawn requested a review from iasthc March 17, 2026 11:27
@iasthc iasthc merged commit 6664197 into main Mar 18, 2026
11 checks passed
@iasthc iasthc deleted the feat/add_addons_templates branch March 18, 2026 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants