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 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
Changelog
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. 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
|
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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-installerto concatenate addon “module-templates” outputs intodist/install.yamland 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.
…pi in llm-d-infra module template
…ts including CDI, KubeVirt, GPU Operator, HAMI, Istio, and Rook-Ceph
…le templates and Helm repositories
…tterscale-module-operator in module templates and Helm repository configurations
…es and adjust GitRepository interval to 24h
…, KubeVirt, and Rook-Ceph with updated resource paths
…pendency from prometheus module templates
…ateway API, GPU Operator, Hami, Istio, KubeVirt, LLM-D Infra, Prometheus, Rook-Ceph
…kustomization support
…res for consistency
…source categorization
…istio templates for consistency
…mization reconciliation
No description provided.