Skip to content

Robot Upgrade: argo-cd chart upgrade from 8.1.0 to 9.4.5#3951

Open
weizhoublue wants to merge 1 commit intomainfrom
upgrade/argo-cd/9.4.5
Open

Robot Upgrade: argo-cd chart upgrade from 8.1.0 to 9.4.5#3951
weizhoublue wants to merge 1 commit intomainfrom
upgrade/argo-cd/9.4.5

Conversation

@weizhoublue
Copy link
Member

I am robot, upgrade: project argo-cd chart upgrade from 8.1.0 to 9.4.5

@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 delivers a substantial upgrade to the Argo CD Helm chart, advancing it from version 8.1.0 to 9.4.5. The update encompasses not only the core Argo CD application but also critical underlying components like Redis-HA and Dex, ensuring compatibility and leveraging the latest features. A significant addition is the experimental support for Kubernetes Gateway API, providing more flexible and powerful ingress routing capabilities. Furthermore, the changes introduce a suite of new configuration options for fine-tuning deployments and improve the clarity of the project's documentation.

Highlights

  • Argo CD Chart Upgrade: The Argo CD Helm chart has been upgraded from version 8.1.0 to 9.4.5, bringing the core Argo CD application version from v3.0.6 to v3.3.2.
  • Dependency Updates: Key dependencies such as the Redis-HA subchart, Dex, and Redis images have been updated to their latest stable versions, including Redis-HA 4.34.11, Dex v2.44.0, and Redis 8.2.3-alpine.
  • Gateway API Support: New configurations and templates have been introduced to support Kubernetes Gateway API resources, including HTTPRoute, GRPCRoute, and BackendTLSPolicy, offering modern ingress traffic management options.
  • Enhanced Configuration Options: Numerous new configuration parameters have been added across various Argo CD components, such as deployment labels, network policy creation toggles, Vertical Pod Autoscaler (VPA) settings for the application controller, and refined probe enablement.
  • Documentation Updates: The README.md file has been significantly updated to include detailed sections on AKS Application Routing, Gateway API usage examples, and guidance for setting the initial admin password, along with important changelog entries for versions 9.1.0 and 9.0.0.
  • Redis-HA Split-Brain Detection Improvement: The Redis-HA subchart's split-brain detection logic has been enhanced to include a retry mechanism, improving resilience and stability.

🧠 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/argo-cd/argo-cd/Chart.yaml
    • Updated appVersion to v3.3.2 and chart version to 9.4.5.
    • Modified artifacthub.io/changes description to reflect HTTPRoute timeout support.
    • Updated dependency argo-cd version to 9.4.5.
  • charts/argo-cd/argo-cd/README.md
    • Added new sections for AKS Application Routing, Gateway API (HTTPRoute, GRPCRoute, BackendTLSPolicy), and setting the initial admin password.
    • Included changelog entries for versions 9.1.0 and 9.0.0, detailing breaking changes related to redis-ha and .Values.configs.params.
    • Corrected a typo in crds.additionalLabels description.
    • Updated note regarding configs.cm and configs.params passing to ConfigMaps.
    • Introduced new global, controller, repoServer, server, dex, redis, applicationSet, notifications, and commitServer configuration options, including deployment labels, network policies, VPA, and probe enablement.
    • Updated server.extensions.image.tag to v0.0.9, dex.image.tag to v2.44.0, redis.exporter.image.tag to v1.81.0, and redis.image.tag to 8.2.3-alpine.
  • charts/argo-cd/argo-cd/charts/argo-cd/Chart.lock
    • Updated redis-ha dependency version to 4.34.11.
    • Updated digest and generated timestamp.
  • charts/argo-cd/argo-cd/charts/argo-cd/Chart.yaml
    • Updated appVersion to v3.3.2 and chart version to 9.4.5.
    • Updated dependencies.argo-cd.version to 9.4.5 and dependencies.redis-ha.version to 4.34.11.
    • Modified artifacthub.io/changes description.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/Chart.yaml
    • Updated appVersion to 8.2.1 and chart version to 4.34.11.
    • Updated description, home URL, and icon.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/README.md
    • Added Helm v3+ to prerequisites.
    • Added authSecretAnnotations, redis.podAnnotations, restore.redis.source, splitBrainDetection.retryInterval, tolerations, haproxy.deploymentAnnotations, and haproxy.podAnnotations parameters.
    • Updated image.tag to 8.2.1-alpine and haproxy.image.tag to 3.0.8-alpine.
    • Changed serviceAccount.automountToken default to false and haproxy.serviceAccount.automountToken default to true.
    • Changed exporter.image repository to quay.io/oliver006/redis_exporter and updated exporter.tag to v1.67.0.
    • Added exporter.serviceMonitor.metricRelabelings and exporter.serviceMonitor.relabelings parameters.
    • Updated split-brain detection logic description.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/_configs.tpl
    • Modified split-brain detection script to incorporate retry logic using splitBrainDetection.retryInterval.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/_helpers.tpl
    • Added redis-ports template for defining Redis ports in network policies.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-auth-secret.yaml
    • Added authSecretAnnotations to the secret metadata.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-ha-announce-service.yaml
    • Updated semverCompare to use .Capabilities.KubeVersion.Version.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-ha-network-policy.yaml
    • Refactored network policy port definitions to utilize the redis-ports template.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-ha-prometheus-rule.yaml
    • Added conditional rendering for prometheusRule.additionalLabels.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-ha-servicemonitor.yaml
    • Added metricRelabelings and relabelings to ServiceMonitor configuration.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-haproxy-deployment.yaml
    • Added component: haproxy label to deployment and pod selectors.
    • Included haproxy.deploymentAnnotations and haproxy.podAnnotations.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-haproxy-network-policy.yaml
    • Added component: haproxy label to pod selector.
    • Refactored network policy port definitions to use the redis-ports template.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-haproxy-pdb.yaml
    • Added component: haproxy label to pod selector.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-haproxy-role.yaml
    • Changed component label to haproxy.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-haproxy-rolebinding.yaml
    • Changed component label to haproxy.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-haproxy-service.yaml
    • Changed component label to haproxy.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/redis-haproxy-servicemonitor.yaml
    • Changed component label to haproxy.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/templates/tests/test-redis-ha-pod.yaml
    • Added conditional rendering for podAnnotations.
  • charts/argo-cd/argo-cd/charts/argo-cd/charts/redis-ha/values.yaml
    • Updated image.tag to 8.2.1-alpine.
    • Added haproxy.deploymentAnnotations, haproxy.podAnnotations, redis.podAnnotations, tolerations, exporter.serviceMonitor.relabelings, exporter.serviceMonitor.metricRelabelings, authSecretAnnotations, and splitBrainDetection.retryInterval.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/NOTES.txt
    • Modified port-forward instructions to dynamically include rootpath if configured.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/_helpers.tpl
    • Added argo-cd.kubeVersion and argo-cd.apiVersions.monitoring templates.
    • Extended configs.params generation to include commit.server and added commitserver to component iteration.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-application-controller/deployment.yaml
    • Added global.deploymentLabels and controller.deploymentLabels to deployment labels.
    • Included ARGOCD_SYNC_WAVE_DELAY and ARGOCD_APPLICATION_CONTROLLER_COMMIT_SERVER environment variables.
    • Concatenated global.extraVolumeMounts and controller.volumeMounts, and global.extraVolumes and controller.volumes.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-application-controller/networkpolicy.yaml
    • Modified network policy creation condition to include controller.networkPolicy.create.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-application-controller/role.yaml
    • Added conditional rendering for controller.roleRules.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-application-controller/servicemonitor.yaml
    • Updated API version to use argo-cd.apiVersions.monitoring template.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-application-controller/statefulset.yaml
    • Added ARGOCD_SYNC_WAVE_DELAY and ARGOCD_APPLICATION_CONTROLLER_COMMIT_SERVER environment variables.
    • Concatenated global.extraVolumeMounts and controller.volumeMounts, and global.extraVolumes and controller.volumes.
    • Modified argocd-application-controller-tmp volume to support controller.emptyDir.sizeLimit.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-application-controller/vpa.yaml
    • Added new file for VerticalPodAutoscaler (VPA) for the application controller.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-applicationset/clusterrole.yaml
    • Removed applicationsets/status from argoproj.io resources and adjusted events and configmaps permissions.
    • Updated coordination.k8s.io/leases rules for leader election.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-applicationset/deployment.yaml
    • Added global.deploymentLabels and applicationSet.deploymentLabels to deployment labels.
    • Included ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_GITHUB_API_METRICS and ARGOCD_APPLICATIONSET_CONTROLLER_MAX_RESOURCES_STATUS_COUNT environment variables.
    • Concatenated global.extraVolumeMounts and applicationSet.extraVolumeMounts, and global.extraVolumes and applicationSet.extraVolumes.
    • Added argocd-cmd-params-cm volume mount and volume with applicationsetcontroller.profile.enabled item.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-applicationset/networkpolicy.yaml
    • Modified network policy creation condition to include applicationSet.networkPolicy.create and removed conditional rendering for metrics port.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-applicationset/role.yaml
    • Updated coordination.k8s.io/leases rules for leader election.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-applicationset/servicemonitor.yaml
    • Updated API version to use argo-cd.apiVersions.monitoring template.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-commit-server/deployment.yaml
    • Added global.deploymentLabels and commitServer.deploymentLabels to deployment labels.
    • Concatenated global.extraVolumeMounts and commitServer.extraVolumeMounts, and global.extraVolumes and commitServer.extraVolumes.
    • Removed copyutil initContainer and var-files volume.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-commit-server/networkpolicy.yaml
    • Modified network policy creation condition to include commitServer.networkPolicy.create.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-commit-server/service.yaml
    • Updated service port and target port to use commitServer.service.portName and commitServer.service.port.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-notifications/deployment.yaml
    • Added global.deploymentLabels and notifications.deploymentLabels to deployment labels.
    • Included checksum/cmd-params annotation to pod metadata.
    • Concatenated global.extraVolumeMounts and notifications.extraVolumeMounts, and global.extraVolumes and notifications.extraVolumes.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-notifications/networkpolicy.yaml
    • Modified network policy creation condition to include notifications.networkPolicy.create.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-notifications/servicemonitor.yaml
    • Updated API version to use argo-cd.apiVersions.monitoring template.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-repo-server/deployment.yaml
    • Added global.deploymentLabels and repoServer.deploymentLabels to deployment labels.
    • Included new environment variables for OCI manifest handling, built-in Git config, and gRPC max size.
    • Concatenated global.extraVolumeMounts and repoServer.volumeMounts, and global.extraVolumes and repoServer.volumes.
    • Added conditional rendering for livenessProbe and readinessProbe enablement.
    • Modified copyutil initContainer command and resources to use repoServer.copyutil.resources.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-repo-server/networkpolicy.yaml
    • Modified network policy creation condition to include repoServer.networkPolicy.create and removed conditional rendering for metrics port.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-repo-server/servicemonitor.yaml
    • Updated API version to use argo-cd.apiVersions.monitoring template.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-server/aws/service.yaml
    • Added serviceAnnotations to AWS ALB gRPC service.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-server/backendtlspolicy.yaml
    • Added new file for BackendTLSPolicy.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-server/deployment.yaml
    • Added global.deploymentLabels and server.deploymentLabels to deployment labels.
    • Removed ARGOCD_SERVER_LOGIN_ATTEMPTS_EXPIRATION environment variable.
    • Included ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_GITHUB_API_METRICS environment variable.
    • Concatenated global.extraVolumeMounts and server.volumeMounts, and global.extraVolumes and server.volumes.
    • Added conditional rendering for livenessProbe and readinessProbe enablement.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-server/gke/ingress.yaml
    • Modified ingressClassName annotation to use .Values.server.ingress.ingressClassName and removed ingressClassName from spec.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-server/grpcroute.yaml
    • Added new file for GRPCRoute.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-server/httproute.yaml
    • Added new file for HTTPRoute.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-server/networkpolicy.yaml
    • Modified network policy creation condition to include server.networkPolicy.create.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-server/service.yaml
    • Modified nodePort conditions to check for nodePortHttp and nodePortHttps values.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/argocd-server/servicemonitor.yaml
    • Updated API version to use argo-cd.apiVersions.monitoring template.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/crds/crd-project.yaml
    • Added name field to ClusterResourceRestrictionItem schema.
    • Added maxLength: 255 to description field.
    • Added description field to SyncWindow schema.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/dex/deployment.yaml
    • Added global.deploymentLabels and dex.deploymentLabels to deployment labels.
    • Concatenated global.extraVolumeMounts and dex.volumeMounts, and global.extraVolumes and dex.volumes.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/dex/networkpolicy.yaml
    • Modified network policy creation condition to include dex.networkPolicy.create and removed conditional rendering for metrics port.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/dex/servicemonitor.yaml
    • Updated API version to use argo-cd.apiVersions.monitoring template.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/redis-secret-init/job.yaml
    • Added redisSecretInit.runtimeClassName to job spec and redisSecretInit.extraArgs to command arguments.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/redis/deployment.yaml
    • Added global.deploymentLabels and redis.deploymentLabels to deployment labels.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/redis/networkpolicy.yaml
    • Modified network policy creation condition to include redis.networkPolicy.create and removed conditional rendering for metrics port.
  • charts/argo-cd/argo-cd/charts/argo-cd/templates/redis/servicemonitor.yaml
    • Updated API version to use argo-cd.apiVersions.monitoring template.
  • charts/argo-cd/argo-cd/charts/argo-cd/values.yaml
    • Corrected typo 'Addtional' to 'Additional' for crds.additionalLabels.
    • Added global.deploymentLabels, global.extraVolumes, global.extraVolumeMounts.
    • Removed configs.cm.server.rbac.log.enforce.enable and streamlined configs.params.
    • Added controller.vpa configuration, controller.deploymentLabels, controller.roleRules, and controller.networkPolicy.create.
    • Updated dex.image.tag to v2.44.0 and added dex.deploymentLabels, dex.networkPolicy.create.
    • Updated redis.image.tag to 8.2.3-alpine, redis.exporter.image.tag to v1.81.0, and added redis.deploymentLabels, redis.networkPolicy.create.
    • Updated redis-ha.image.tag to 8.2.3-alpine, redis-ha.exporter.tag to v1.75.0.
    • Added redisSecretInit.extraArgs, redisSecretInit.runtimeClassName, and updated redisSecretInit.image.tag to v3.3.2.
    • Updated server.extensions.image.tag to v0.0.9 and added server.deploymentLabels, server.readinessProbe.enabled, server.livenessProbe.enabled, server.ingress.aws.serviceAnnotations, server.httproute, server.grpcroute, server.backendTLSPolicy configurations, and server.networkPolicy.create.
    • Added repoServer.copyutil.resources, repoServer.deploymentLabels, repoServer.readinessProbe.enabled, repoServer.livenessProbe.enabled, repoServer.networkPolicy.create.
    • Added applicationSet.deploymentLabels, applicationSet.networkPolicy.create.
    • Added notifications.deploymentLabels, notifications.networkPolicy.create.
    • Added commitServer.service.port, commitServer.service.portName, commitServer.deploymentLabels, commitServer.networkPolicy.create.
  • charts/argo-cd/argo-cd/values.yaml
    • Corrected typo 'Addtional' to 'Additional' for argo-cd.crds.additionalLabels.
    • Updated argo-cd.global.image.tag to v3.3.2.
    • Added argo-cd.global.deploymentLabels, argo-cd.global.extraVolumes, argo-cd.global.extraVolumeMounts.
    • Removed argo-cd.configs.cm.server.rbac.log.enforce.enable and streamlined argo-cd.configs.params.
    • Added argo-cd.controller.vpa configuration, argo-cd.controller.deploymentLabels, argo-cd.controller.roleRules, and argo-cd.controller.networkPolicy.create.
    • Updated argo-cd.dex.image.tag to v2.44.0 and added argo-cd.dex.deploymentLabels, argo-cd.dex.networkPolicy.create.
    • Updated argo-cd.redis.image.tag to 8.2.3-alpine and added argo-cd.redis.deploymentLabels, argo-cd.redis.networkPolicy.create.
    • Updated argo-cd.redis-ha.image.tag to 8.2.3-alpine, argo-cd.redis-ha.exporter.tag to v1.75.0.
    • Added argo-cd.redisSecretInit.extraArgs, argo-cd.redisSecretInit.runtimeClassName, and updated argo-cd.redisSecretInit.image.tag to v3.3.2.
    • Updated argo-cd.server.extensions.image.tag to v0.0.9 and added argo-cd.server.deploymentLabels, argo-cd.server.readinessProbe.enabled, argo-cd.server.livenessProbe.enabled, argo-cd.server.ingress.aws.serviceAnnotations, argo-cd.server.httproute, argo-cd.server.grpcroute, argo-cd.server.backendTLSPolicy configurations, and argo-cd.server.networkPolicy.create.
    • Added argo-cd.repoServer.copyutil.resources, argo-cd.repoServer.deploymentLabels, argo-cd.repoServer.readinessProbe.enabled, argo-cd.repoServer.livenessProbe.enabled, argo-cd.repoServer.networkPolicy.create.
    • Added argo-cd.applicationSet.deploymentLabels, argo-cd.applicationSet.networkPolicy.create.
    • Added argo-cd.notifications.deploymentLabels, argo-cd.notifications.networkPolicy.create.
    • Added argo-cd.commitServer.service.port, argo-cd.commitServer.service.portName, argo-cd.commitServer.deploymentLabels, argo-cd.commitServer.networkPolicy.create.
  • charts/argo-cd/config
    • Updated VERSION to 9.4.5.
Activity
  • The pull request was initiated by a robot, 'weizhoublue', with the explicit purpose of upgrading the 'argo-cd' chart from version 8.1.0 to 9.4.5.
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 updates the Argo CD Helm chart to version 9.4.5, aligning with Argo CD appVersion v3.3.2, and includes a significant update to the redis-ha subchart to version 4.34.11. Key changes involve adding extensive support for Kubernetes Gateway API resources (HTTPRoute, GRPCRoute, and BackendTLSPolicy) with corresponding documentation and configuration options, and introducing new global and component-specific labels and network policy controls across various Argo CD components (controller, repoServer, server, dex, redis, applicationSet, notifications, commitServer). The README.md is updated with detailed examples for AKS Application Routing and Gateway API configurations, along with important breaking change notes for redis-ha upgrades and the removal of many parameters from .Values.configs.params to streamline configuration. Review comments highlighted and corrected a typo in an annotation key (annnotaions: to annotations:) and addressed a potential security vulnerability by recommending type casting for splitBrainDetection.retryInterval to prevent arbitrary command execution. Additionally, several network policy ingress rules were made conditional on their respective metrics enablement flags to prevent creating rules for non-existent ports.

{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.controller.vpa.annotations }}
annnotaions:

Choose a reason for hiding this comment

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

critical

There is a typo in the annotations key. annnotaions: should be annotations:.

  annotations:

if [ "$ROLE" != "master" ]; then
reinit
echo "waiting for redis to become master"
sleep {{ .Values.splitBrainDetection.retryInterval }}

Choose a reason for hiding this comment

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

security-high high

The sleep command uses the .Values.splitBrainDetection.retryInterval value directly without validation or proper shell escaping. If this value is overridden with a malicious string (e.g., 10; id), it could lead to arbitrary command execution within the container. It is recommended to cast the value to an integer to ensure it only contains numeric characters.

                sleep {{ .Values.splitBrainDetection.retryInterval | int }}

if [ "$REDIS_MASTER" != "$MASTER" ]; then
reinit
echo "Redis master and local master are not the same. waiting."
sleep {{ .Values.splitBrainDetection.retryInterval }}

Choose a reason for hiding this comment

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

security-high high

The sleep command uses the .Values.splitBrainDetection.retryInterval value directly without validation or proper shell escaping. If this value is overridden with a malicious string (e.g., 10; id), it could lead to arbitrary command execution within the container. It is recommended to cast the value to an integer to ensure it only contains numeric characters.

                sleep {{ .Values.splitBrainDetection.retryInterval | int }}

Comment on lines 15 to 18
- from:
- namespaceSelector: {}
ports:
- port: metrics

Choose a reason for hiding this comment

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

high

The ingress rule for metrics should be conditional on applicationSet.metrics.enabled. Otherwise, if metrics are disabled but another feature like ingress is enabled, this rule will be created for a port that doesn't exist, which could cause issues.

  {{- if .Values.applicationSet.metrics.enabled }}
  - from:
    - namespaceSelector: {}
    ports:
    - port: metrics
  {{- end }}

Comment on lines 29 to 32
- from:
- namespaceSelector: {}
ports:
- port: metrics

Choose a reason for hiding this comment

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

high

The ingress rule for metrics should be conditional on repoServer.metrics.enabled. Otherwise, this rule will be created for a port that might not exist if metrics are disabled.

  {{- if .Values.repoServer.metrics.enabled }}
  - from:
    - namespaceSelector: {}
    ports:
    - port: metrics
  {{- end }}

Comment on lines 20 to 24
- from:
- namespaceSelector: {}
ports:
- port: metrics
protocol: TCP

Choose a reason for hiding this comment

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

high

The ingress rule for metrics should be conditional on dex.metrics.enabled. Otherwise, this rule will be created for a port that might not exist if metrics are disabled.

  {{- if .Values.dex.metrics.enabled }}
  - from:
    - namespaceSelector: {}
    ports:
    - port: metrics
      protocol: TCP
  {{- end }}

Comment on lines 25 to 29
- from:
- namespaceSelector: {}
ports:
- port: metrics
protocol: TCP

Choose a reason for hiding this comment

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

high

The ingress rule for metrics should be conditional on redis.metrics.enabled. Otherwise, this rule will be created for a port that might not exist if metrics are disabled.

  {{- if .Values.redis.metrics.enabled }}
  - from:
    - namespaceSelector: {}
    ports:
    - port: metrics
      protocol: TCP
  {{- end }}

@github-actions github-actions bot force-pushed the upgrade/argo-cd/9.4.5 branch from 4c8ab5f to cccf863 Compare February 27, 2026 20:08
Signed-off-by: robot <robot@example.com>
@github-actions github-actions bot force-pushed the upgrade/argo-cd/9.4.5 branch from cccf863 to f686d8e Compare February 28, 2026 20:06
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