Skip to content

Comments

Robot Upgrade: submariner-k8s-broker chart upgrade from 0.19.2 to 0.22.1#3916

Open
weizhoublue wants to merge 1 commit intomainfrom
upgrade/submariner-k8s-broker/0.22.1
Open

Robot Upgrade: submariner-k8s-broker chart upgrade from 0.19.2 to 0.22.1#3916
weizhoublue wants to merge 1 commit intomainfrom
upgrade/submariner-k8s-broker/0.22.1

Conversation

@weizhoublue
Copy link
Member

I am robot, upgrade: project submariner-k8s-broker chart upgrade from 0.19.2 to 0.22.1

@gemini-code-assist
Copy link

Summary of Changes

Hello @weizhoublue, 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 performs a routine upgrade of the submariner-k8s-broker Helm chart to a newer version. The primary impact of this upgrade is the modernization and enhancement of the Custom Resource Definitions, which define the API objects used by Submariner. Additionally, the chart's internal structure for managing RBAC and service accounts has been streamlined, making their creation implicit rather than configurable through values. These changes ensure compatibility with newer Kubernetes features and improve the overall robustness of the chart.

Highlights

  • Chart Version Upgrade: The submariner-k8s-broker Helm chart has been upgraded from version 0.19.2 to 0.22.1, reflected across configuration files and Chart.yaml.
  • Custom Resource Definition (CRD) Updates: Significant updates were applied to the clusters.submariner.io, endpoints.submariner.io, serviceexports.multicluster.x-k8s.io, and serviceimports.multicluster.x-k8s.io CRD schemas. These updates include reordering of CRD definitions, adding new fields like healthCheckIPs, privateIPs, publicIPs, usingIP, and usingNAT, introducing deprecation notices for older fields, and refining validation rules such as maxLength, minLength, maxItems, and pattern.
  • RBAC and Service Account Refactoring: The RBAC definitions have been refactored by extracting the Role definition into a new _role.tpl helper file. Conditional logic for creating RBAC resources and service accounts has been removed from rbac.yaml and svc-acct.yaml, and the corresponding rbac, crd, and serviceAccounts flags have been removed from values.yaml, simplifying the chart's deployment model.
  • Documentation Cleanup: The 'Values' section, which previously detailed configurable parameters, has been removed from the README.md files within the chart structure.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • charts/submariner-k8s-broker/config
    • Updated the VERSION environment variable from 0.19.2 to 0.22.1.
  • charts/submariner-k8s-broker/submariner-k8s-broker/Chart.yaml
    • Updated appVersion from 0.19.2 to 0.22.1.
    • Updated chart version from 0.19.2 to 0.22.1.
    • Updated dependency submariner-k8s-broker version from 0.19.2 to 0.22.1.
  • charts/submariner-k8s-broker/submariner-k8s-broker/README.md
    • Removed the 'Values' section and its associated table.
  • charts/submariner-k8s-broker/submariner-k8s-broker/charts/submariner-k8s-broker/Chart.yaml
    • Updated appVersion from 0.19.2 to 0.22.1.
    • Updated chart version from 0.19.2 to 0.22.1.
  • charts/submariner-k8s-broker/submariner-k8s-broker/charts/submariner-k8s-broker/README.md
    • Removed the 'Values' section and its associated table.
  • charts/submariner-k8s-broker/submariner-k8s-broker/charts/submariner-k8s-broker/crds/crd.yaml
    • Reordered clusters.submariner.io and endpoints.submariner.io CRD definitions.
    • Added controller-gen.kubebuilder.io/version: v0.18.0 annotations to CRD metadata.
    • Updated descriptions for apiVersion and kind fields in CRD schemas.
    • Modified endpoints.submariner.io CRD schema to include maxLength and minLength for cluster_id.
    • Added new fields healthCheckIPs, privateIPs, and publicIPs with maxItems and deprecation descriptions to endpoints.submariner.io CRD.
    • Removed private_ip and public_ip from the required fields for endpoints.submariner.io spec.
    • Removed the latency object and its properties from endpoints.submariner.io status.
    • Updated latencyRTT description in endpoints.submariner.io status.
    • Added usingIP and usingNAT fields to endpoints.submariner.io status conditions.
    • Added Kubernetes license header comments.
    • Modified serviceexports.multicluster.x-k8s.io CRD to include spec properties for exportedAnnotations and exportedLabels.
    • Updated serviceexports.multicluster.x-k8s.io CRD status conditions to align with metav1.Condition structure, adding lastTransitionTime, message, observedGeneration, reason, and type as required fields with detailed descriptions and validation patterns.
    • Added svcimport to shortNames for serviceimports.multicluster.x-k8s.io CRD.
    • Modified serviceimports.multicluster.x-k8s.io CRD ips field to allow maxItems: 2.
    • Added default: TCP to the protocol field in serviceimports.multicluster.x-k8s.io CRD ports schema.
  • charts/submariner-k8s-broker/submariner-k8s-broker/charts/submariner-k8s-broker/templates/_helpers.tpl
    • Simplified the submariner-k8s-broker.clientServiceAccountName definition by removing conditional logic for service account creation.
  • charts/submariner-k8s-broker/submariner-k8s-broker/charts/submariner-k8s-broker/templates/_role.tpl
    • Added a new template file defining the broker-role with updated RBAC rules for submariner.io, multicluster.x-k8s.io, discovery.k8s.io API groups, and core Kubernetes resources like secrets and serviceaccounts.
  • charts/submariner-k8s-broker/submariner-k8s-broker/charts/submariner-k8s-broker/templates/rbac.yaml
    • Refactored to include the broker-role template, replacing the inline Role definition.
    • Removed the conditional {{- if .Values.rbac.create -}} block.
  • charts/submariner-k8s-broker/submariner-k8s-broker/charts/submariner-k8s-broker/templates/svc-acct.yaml
    • Removed the conditional {{- if .Values.serviceAccounts.client.create }} block, making service account creation unconditional.
  • charts/submariner-k8s-broker/submariner-k8s-broker/charts/submariner-k8s-broker/values.yaml
    • Removed rbac, crd, and serviceAccounts sections, eliminating their configurable create and name options.
  • charts/submariner-k8s-broker/submariner-k8s-broker/values.yaml
    • Removed rbac, crd, and serviceAccounts sections from the child values.
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

@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 automates the upgrade of the submariner-k8s-broker chart from version 0.19.2 to 0.22.1. The changes primarily involve version bumps, significant updates to the Custom Resource Definitions (CRDs) to align with the new API version, and refactoring of the Helm templates. A notable change is the removal of conditional logic for creating RBAC and ServiceAccount resources, making them unconditional, which simplifies the chart but is a breaking change. My review identified a regression in the refactored Role resource where standard Helm labels were omitted. I've provided a suggestion to re-add them to ensure proper resource tracking by Helm.

Comment on lines +5 to +6
metadata:
name: {{ template "submariner-k8s-broker.fullname" . }}-cluster

Choose a reason for hiding this comment

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

medium

The standard Helm labels (heritage, release, chart, app) are missing from this Role resource. These labels were present in the previous version of the chart and are important for resource management with Helm. Please add them back to the metadata to maintain consistency and best practices.

metadata:
  name: {{ template "submariner-k8s-broker.fullname" . }}-cluster
  labels:
    heritage: {{ .Release.Service | quote }}
    release: {{ .Release.Name | quote }}
    chart: {{ template "submariner-k8s-broker.chart" . }}
    app: {{ template "submariner-k8s-broker.name" . }}

@github-actions github-actions bot force-pushed the upgrade/submariner-k8s-broker/0.22.1 branch 8 times, most recently from 97d0261 to 623d9a8 Compare February 19, 2026 20:18
…22.1

Signed-off-by: robot <robot@example.com>
@github-actions github-actions bot force-pushed the upgrade/submariner-k8s-broker/0.22.1 branch from 623d9a8 to a14933f Compare February 20, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants