Skip to content

Update Cilium v1.19.0 - #2054

Closed
Andrei Kvapil (kvaps) wants to merge 1 commit into
mainfrom
cilium-1.19
Closed

Update Cilium v1.19.0#2054
Andrei Kvapil (kvaps) wants to merge 1 commit into
mainfrom
cilium-1.19

Conversation

@kvaps

@kvaps Andrei Kvapil (kvaps) commented Feb 16, 2026

Copy link
Copy Markdown
Member

What this PR does

Release note

Update Cilium v1.19.0

Summary by CodeRabbit

  • New Features

    • Added standalone DNS proxy configuration for enhanced DNS management
    • Introduced CoreDNS MCS API auto-configuration for multi-cluster DNS support
    • Expanded cloud provider node specifications (Alibaba Cloud, Azure, ENI)
    • Enhanced Hubble observability with additional profiling and logging options
  • Improvements

    • Added cloud-init synchronization support during node initialization
    • Improved TLS and security configurations
    • Strengthened pod security contexts and RBAC policies
    • Better handling of Kubernetes EndpointSlice resources

@dosubot dosubot Bot added the size/XL This PR changes 500-999 lines, ignoring generated files label Feb 16, 2026
@coderabbitai

coderabbitai Bot commented Feb 16, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

Cilium Helm chart version bump from 1.18.6 to 1.19.0 with extensive template enhancements, new extensibility hooks, standalone DNS proxy feature, CoreDNS MCS API auto-configuration, cloud provider enhancements (ENI, Azure, Alibaba), encryption mode refinements, and expanded RBAC permissions across multiple components.

Changes

Cohort / File(s) Summary
Version and Metadata Updates
packages/system/cilium/Makefile, packages/system/cilium/charts/cilium/Chart.yaml, packages/system/cilium/images/cilium/Dockerfile, packages/system/cilium/values.yaml
Updated Cilium version from 1.18.6 to 1.19.0 with corresponding image digest updates and Helm chart version bump.
Chart Documentation and Schema
packages/system/cilium/charts/cilium/README.md, packages/system/cilium/charts/cilium/values.schema.json, packages/system/cilium/charts/cilium/values.yaml.tmpl
Expanded configuration documentation, added new nodeSpec blocks for cloud providers, introduced standalone DNS proxy and CoreDNS MCS API configuration, added pprof enhancements and tmpVolume support.
Core Helm Template Infrastructure
packages/system/cilium/charts/cilium/templates/_extensions.tpl, packages/system/cilium/charts/cilium/templates/_helpers.tpl
Added 13 new template defines for downstream customization (operator volumes/volumeMounts, clustermesh args, envoy configuration, ports, updateStrategy, affinity); enhanced ConfigMap existence checking in k8sServiceHost.
Cilium Agent and Daemon
packages/system/cilium/charts/cilium/templates/cilium-agent/daemonset.yaml, packages/system/cilium/charts/cilium/templates/cilium-agent/clusterrole.yaml, packages/system/cilium/charts/cilium/templates/cilium-nodeinit/daemonset.yaml
Introduced buildDaemonConfig flag to gate configuration-sharing behavior; replaced numeric health port with named port "health"; added cloud-init synchronization step; added ztunnel encryption support; removed ciliumbgppeeringpolicies RBAC rule.
Cilium Operator and RBAC
packages/system/cilium/charts/cilium/templates/cilium-operator/clusterrole.yaml, packages/system/cilium/charts/cilium/templates/cilium-operator/deployment.yaml, packages/system/cilium/charts/cilium/templates/cilium-operator/role.yaml, packages/system/cilium/charts/cilium/templates/cilium-operator/rolebinding.yaml, packages/system/cilium/charts/cilium/templates/cilium-operator/secret.yaml
Expanded EndpointSlice and MCS API RBAC permissions; added cilium-operator-ztunnel role; tightened Azure client secret gating; added health port; enhanced TLS and Prometheus configuration; introduced clustermesh.mcsapi.enabled flag integration.
Cilium Preflight
packages/system/cilium/charts/cilium/templates/cilium-preflight/clusterrole.yaml
Removed ciliumbgppeeringpolicies from preflight RBAC rules.
Cilium CA and Configuration
packages/system/cilium/charts/cilium/templates/cilium-ca-secret.yaml, packages/system/cilium/charts/cilium/templates/cilium-configmap.yaml, packages/system/cilium/charts/cilium/templates/cilium-secrets-namespace.yaml, packages/system/cilium/charts/cilium/templates/cilium-ingress-service.yaml
Added non-idempotent label to CA secret; expanded ConfigMap with ENI IPAM override, policyMapPressureMetricsThreshold, standalone DNS proxy, encryption strict mode egress/ingress, Big TCP support, and nodeSpec expansions; migrated Endpoints to EndpointSlice; added secretsNamespaceLabels rendering.
Envoy Components
packages/system/cilium/charts/cilium/templates/cilium-envoy/daemonset.yaml, packages/system/cilium/charts/cilium/files/cilium-envoy/configmap/bootstrap-config.yaml, packages/system/cilium/charts/cilium/templates/cilium-envoy/service.yaml
Switched updateStrategy, initContainers, args, env, ports, affinity, and volumeMounts to use include-based template injection; made downstream connections count configurable via Helm values; changed service targetPort to dynamic value.
ClusterMesh API Server
packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/clusterrole.yaml, packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/deployment.yaml, packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/service.yaml
Extended MCS API gating with mcsapi.enabled flag; added etcd gRPC gateway disable; injected extra args via new templates; added clustermesh-cache-ttl; enhanced hostAliases with clustermesh-clusters helper; gated service creation on externallyCreated flag.
ClusterMesh TLS and Certificates
packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-cronjob/*, packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-helm/*
Added pod and container securityContext with restrictive policies; made ttlSecondsAfterFinished conditional; introduced checksum-based job naming for immutable upgrade safety; added successfulJobsHistoryLimit and failedJobsHistoryLimit; added non-idempotent annotations across secret templates; removed clustermesh-apiserver-client-cert from resourceNames.
ClusterMesh Configuration Helpers
packages/system/cilium/charts/cilium/templates/clustermesh-config/_helpers.tpl, packages/system/cilium/charts/cilium/templates/clustermesh-config/clustermesh-secret.yaml, packages/system/cilium/charts/cilium/templates/clustermesh-config/kvstoremesh-secret.yaml, packages/system/cilium/charts/cilium/templates/clustermesh-config/users-configmap.yaml
Added new "clustermesh-clusters" template define supporting map/slice cluster input; refactored cluster iteration to use JSON-decoded clusters; enhanced users-configmap gating with config.enabled flag.
CoreDNS MCS API Auto-Configuration
packages/system/cilium/charts/cilium/templates/clustermesh-coredns-mcsapi/*
Added comprehensive new RBAC and Job infrastructure (clusterrole, clusterrolebinding, job-clusterrole, job-clusterrolebinding, job-role, job-rolebinding, job-serviceaccount, job.yaml, clusterrolebinding.yaml) enabling automatic CoreDNS configuration for MCS API integration when enabled.
Hubble Components
packages/system/cilium/charts/cilium/templates/hubble-relay/configmap.yaml, packages/system/cilium/charts/cilium/templates/hubble-ui/clusterrole.yaml, packages/system/cilium/charts/cilium/templates/hubble-ui/deployment.yaml
Added pprof mutex and block profile rate fields; removed overly broad networkpolicies and cilium.io wildcard RBAC rules; made tmp-dir volume configurable with fallback to emptyDir; changed probe ports to named "http" port.
Hubble TLS and Secrets
packages/system/cilium/charts/cilium/templates/hubble/tls-cronjob/*, packages/system/cilium/charts/cilium/templates/hubble/tls-helm/*
Introduced checksum-based job naming for safe upgrades; made ttlSecondsAfterFinished conditional; added successfulJobsHistoryLimit and failedJobsHistoryLimit; added non-idempotent marker labels and conditional nonIdempotentAnnotations across all secret templates; removed serviceAccount field in favor of serviceAccountName.
Standalone DNS Proxy
packages/system/cilium/charts/cilium/templates/standalone-dns-proxy/configmap.yaml, packages/system/cilium/charts/cilium/templates/standalone-dns-proxy/daemonset.yaml, packages/system/cilium/charts/cilium/templates/validate.yaml
Added new standalone DNS proxy feature with ConfigMap and DaemonSet templates, configurable ports, tolerations, and update strategies; added validation rules for standalone DNS proxy port configuration and BPF tproxy with netkit datapath mode restriction.
Nodeinit Script Enhancement
packages/system/cilium/charts/cilium/files/nodeinit/startup.bash
Added optional cloud-init synchronization step gated by nodeinit.waitForCloudInit flag.

Sequence Diagram(s)

sequenceDiagram
    participant User as User/Helm
    participant Agent as Cilium Agent
    participant ConfigMgr as Config Manager
    participant CloudInit as Cloud-Init
    participant Kernel as Kernel/eBPF

    User->>Agent: Deploy with buildDaemonConfig
    activate Agent
    Note over Agent: Check daemon.configSources validity
    alt buildDaemonConfig == true
        Agent->>ConfigMgr: Initialize config via tmpVolume
        ConfigMgr->>Agent: Provide built config
    else buildDaemonConfig == false
        Agent->>ConfigMgr: Mount config from ConfigMap
        ConfigMgr->>Agent: Provide mounted config
    end
    
    Agent->>CloudInit: Check waitForCloudInit
    alt Cloud-Init Enabled
        Agent->>CloudInit: Wait for cloud-init status
        CloudInit->>Agent: cloud-init completed
    end
    
    Agent->>Kernel: Apply eBPF programs
    Kernel->>Agent: Health check on "health" port
    activate Kernel
    Agent-->>Kernel: Readiness/Liveness probes
    deactivate Kernel
    deactivate Agent
Loading
sequenceDiagram
    participant Helm as Helm Templates
    participant ClusterMesh as ClusterMesh API Server
    participant CoreDNS as CoreDNS
    participant MCSJob as MCS API Auto-Config Job
    participant KubeAPI as Kubernetes API

    Helm->>Helm: Check clustermesh.mcsapi.enabled
    activate Helm
    alt MCS API Enabled
        Helm->>KubeAPI: Create RBAC (ClusterRole, ClusterRoleBinding)
        Helm->>KubeAPI: Create Job (coredns auto-config)
        Helm->>KubeAPI: Create ServiceAccount
        KubeAPI->>MCSJob: Schedule Job
        activate MCSJob
        MCSJob->>ClusterMesh: Fetch MCS API configuration
        MCSJob->>CoreDNS: Update CoreDNS ConfigMap
        CoreDNS->>KubeAPI: Watch ServiceImports
        MCSJob->>KubeAPI: Mark Job completed
        deactivate MCSJob
    else
        Note over Helm: Skip MCS API setup
    end
    deactivate Helm
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • [cilium] Update Cilium to v1.18.5 #1769: Both PRs perform comprehensive Cilium Helm chart version bumps (1.18.x to 1.19.x) with extensive template and configuration updates across the same chart files.
  • Update cilium v1.17.8 #1473: Both PRs modify _extensions.tpl to add new template defines and expand the templating extensibility system for downstream customization.
  • Update Cilium v1.16.3 #446: Both PRs modify the same _helpers.tpl file, specifically the k8sServiceHost logic for ConfigMap existence checking.

Suggested labels

enhancement, lgtm

Suggested reviewers

  • lllamnyp

Poem

🐰 Bouncing through the charts with glee,
Cilium's hopped to v1.19!
DNS proxies stand alone and tall, 🌟
CoreDNS auto-config answers the call,
Templates extend like whiskers so fine,
This upgrade's surely divine!

🚥 Pre-merge checks | ✅ 3 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Merge Conflict Detection ⚠️ Warning ❌ Merge conflicts detected (78 files):

⚔️ api/dashboard/v1alpha1/dashboard_resources.go (content)
⚔️ api/dashboard/v1alpha1/groupversion_info.go (content)
⚔️ api/dashboard/v1alpha1/zz_generated.deepcopy.go (content)
⚔️ internal/controller/dashboard/breadcrumb.go (content)
⚔️ internal/controller/dashboard/customformsoverride.go (content)
⚔️ internal/controller/dashboard/factory.go (content)
⚔️ internal/controller/dashboard/manager.go (content)
⚔️ internal/controller/dashboard/marketplacepanel.go (content)
⚔️ internal/controller/dashboard/sidebar.go (content)
⚔️ internal/controller/dashboard/static_helpers.go (content)
⚔️ internal/controller/dashboard/static_processor.go (content)
⚔️ internal/controller/dashboard/static_refactored.go (content)
⚔️ packages/apps/vpc/templates/vpc.yaml (content)
⚔️ packages/apps/vpc/values.schema.json (content)
⚔️ packages/apps/vpc/values.yaml (content)
⚔️ packages/core/platform/values.yaml (content)
⚔️ packages/system/cilium/Makefile (content)
⚔️ packages/system/cilium/charts/cilium/Chart.yaml (content)
⚔️ packages/system/cilium/charts/cilium/README.md (content)
⚔️ packages/system/cilium/charts/cilium/files/cilium-envoy/configmap/bootstrap-config.yaml (content)
⚔️ packages/system/cilium/charts/cilium/files/nodeinit/startup.bash (content)
⚔️ packages/system/cilium/charts/cilium/templates/_extensions.tpl (content)
⚔️ packages/system/cilium/charts/cilium/templates/_helpers.tpl (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-agent/clusterrole.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-agent/daemonset.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-ca-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-configmap.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-envoy/daemonset.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-envoy/service.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-ingress-service.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-nodeinit/daemonset.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-operator/clusterrole.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-operator/deployment.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-operator/role.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-operator/rolebinding.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-operator/secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-preflight/clusterrole.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/cilium-secrets-namespace.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/clusterrole.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/deployment.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/service.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-cronjob/_job-spec.tpl (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-cronjob/cronjob.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-cronjob/job.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-cronjob/role.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-helm/admin-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-helm/local-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-helm/remote-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-helm/server-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/users-configmap.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-config/_helpers.tpl (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-config/clustermesh-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/clustermesh-config/kvstoremesh-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble-relay/configmap.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble-ui/clusterrole.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble-ui/deployment.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble/tls-cronjob/_job-spec.tpl (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble/tls-cronjob/cronjob.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble/tls-cronjob/job.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble/tls-helm/metrics-server-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble/tls-helm/relay-client-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble/tls-helm/relay-server-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble/tls-helm/server-secret.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/hubble/tls-helm/ui-client-certs.yaml (content)
⚔️ packages/system/cilium/charts/cilium/templates/validate.yaml (content)
⚔️ packages/system/cilium/charts/cilium/values.schema.json (content)
⚔️ packages/system/cilium/charts/cilium/values.yaml (content)
⚔️ packages/system/cilium/charts/cilium/values.yaml.tmpl (content)
⚔️ packages/system/cilium/images/cilium/Dockerfile (content)
⚔️ packages/system/cilium/values.yaml (content)
⚔️ packages/system/dashboard/images/openapi-ui-k8s-bff/Dockerfile (content)
⚔️ packages/system/dashboard/images/openapi-ui/Dockerfile (content)
⚔️ packages/system/dashboard/images/openapi-ui/openapi-k8s-toolkit/patches/tenantmodules.diff (content)
⚔️ packages/system/dashboard/templates/ingress.yaml (content)
⚔️ packages/system/dashboard/templates/nginx-config.yaml (content)
⚔️ packages/system/dashboard/templates/web.yaml (content)
⚔️ packages/system/kilo/values.yaml (content)
⚔️ packages/system/virtualprivatecloud-rd/cozyrds/virtualprivatecloud.yaml (content)

These conflicts must be resolved before merging into main.
Resolve conflicts locally and push changes to this branch.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'Update Cilium v1.19.0' accurately summarizes the main change, which is upgrading Cilium from v1.18.6 to v1.19.0 across all files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch cilium-1.19
⚔️ Resolve merge conflicts (beta)
  • Auto-commit resolved conflicts to branch cilium-1.19
  • Create stacked PR with resolved conflicts
  • Post resolved changes as copyable diffs in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
@kvaps Andrei Kvapil (kvaps) changed the title cilium 1.19 Update Cilium v1.19.0 Feb 16, 2026
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello Andrei Kvapil (@kvaps), 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 primarily focuses on upgrading the Cilium CNI to version 1.19.0, incorporating a multitude of new features, configuration options, and deprecations from the upstream project. The update includes refreshed container images for all core components, significant enhancements to ClusterMesh functionality with Multi-Cluster Services API support and CoreDNS auto-configuration, and expanded encryption capabilities with more granular strict mode settings. Additionally, it introduces a standalone DNS proxy, refines BPF datapath controls, and adjusts various operational parameters for improved stability and observability.

Highlights

  • Cilium Version Upgrade: Upgraded Cilium to version 1.19.0, including updates to all associated container images (agent, operator, Envoy, Hubble Relay, Certgen, Nodeinit).
  • ClusterMesh Enhancements: Introduced new Multi-Cluster Services API (MCSAPI) CoreDNS auto-configuration, added a cache TTL for remote clusters, and updated authentication mode defaults.
  • New Standalone DNS Proxy: Added a new standalone DNS proxy feature with its own configuration and deployment options.
  • Expanded Encryption Capabilities: Refined encryption strict mode with separate egress and ingress configurations and added ZTunnel support.
  • BPF and Datapath Improvements: Enhanced BPF configuration with new options for policy map pressure metrics, IP tracing, and updated datapath mode compatibility checks.
  • Configuration and Observability Additions: Introduced new configuration options for AlibabaCloud and Azure node specifications, added pprof profiling options for agent, operator, and Hubble Relay, and updated Hubble export configurations with aggregation features.
  • Deprecated Features and RBAC Adjustments: Removed deprecated options such as customCalls and enableK8sEndpointSlice, and adjusted RBAC permissions for Cilium agent and operator to align with new features and deprecated resources.

🧠 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
  • packages/system/cilium/Makefile
    • Updated Cilium Helm chart pull version to 1.19.
  • packages/system/cilium/charts/cilium/Chart.yaml
    • Updated appVersion and version to 1.19.0.
    • Removed CiliumBGPPeeringPolicy CRD definition.
  • packages/system/cilium/charts/cilium/README.md
    • Updated version badges to 1.19.0.
    • Added AlibabaCloud nodeSpec options.
    • Changed authentication.enabled default to false.
    • Updated SPIRE agent and server image digests.
    • Added Azure nodeSpec.
    • Updated BGP control plane descriptions.
    • Added bpf.monitorTraceIPOption and bpf.policyMapPressureMetricsThreshold.
    • Added certgen.cronJob options and changed certgen.ttlSecondsAfterFinished to null.
    • Added clustermesh.apiserver.service.externallyCreated.
    • Deprecated clustermesh.apiserver.tls fields.
    • Added clustermesh.cacheTTL and introduced clustermesh.mcsapi options.
    • Changed clustermesh.policyDefaultLocalCluster default to true.
    • Removed customCalls options.
    • Added envoy.clusterMaxConnections, envoy.clusterMaxRequests, envoy.initContainers, envoy.maxGlobalDownstreamConnections, and envoy.useOriginalSourceAddress.
    • Updated Envoy image digest.
    • Added Hubble export aggregation fields.
    • Updated Hubble Relay image digest and added hubble.relay.logOptions and hubble.relay.pprof options.
    • Added hubble.ui.tmpVolume.
    • Updated Cilium agent image digest.
    • Added ipam.nodeSpec options.
    • Removed nodePort.enabled.
    • Added nodeinit.waitForCloudInit and updated Nodeinit image digest.
    • Added operator.pprof options and operator.prometheus.tls options.
    • Added operator.unmanagedPodWatcher.selector.
    • Added pmtuDiscovery.packetizationLayerPMTUDMode and policyDenyResponse.
    • Added pprof.mutexProfileFraction and pprof.blockProfileRate.
    • Added secretsNamespaceLabels and standaloneDnsProxy options.
    • Updated securityContext.capabilities.ciliumAgent to include SYSLOG.
    • Added serviceAccounts.corednsMCSAPI and tmpVolume.
    • Updated underlayProtocol description.
  • packages/system/cilium/charts/cilium/files/cilium-envoy/configmap/bootstrap-config.yaml
    • Parameterized max_active_downstream_connections with envoy.maxGlobalDownstreamConnections.
  • packages/system/cilium/charts/cilium/files/nodeinit/startup.bash
    • Added logic to wait for cloud-init if nodeinit.waitForCloudInit is enabled.
  • packages/system/cilium/charts/cilium/templates/_extensions.tpl
    • Added new template definitions for cilium-operator.volumes.extra, cilium-operator.volumeMounts.extra, cilium.operator.securityContext, clustermesh.apiserver.args.extra, clustermesh.kvstoremesh.args.extra, envoy.initContainers, envoy.args.extra, envoy.env.extra, envoy.volumeMounts.extra, envoy.hostPathMounts.extra, envoy.ports, envoy.updateStrategy, and envoy.affinity.
  • packages/system/cilium/charts/cilium/templates/_helpers.tpl
    • Modified k8sServiceHost lookup to fail if ConfigMap is not found.
    • Added clustermesh-clusters helper to normalize cluster definitions.
  • packages/system/cilium/charts/cilium/templates/cilium-agent/clusterrole.yaml
    • Removed ciliumbgppeeringpolicies from resources.
  • packages/system/cilium/charts/cilium/templates/cilium-agent/daemonset.yaml
    • Updated health probe ports to use named port health.
    • Added cilium-ztunnel-secrets volume mount.
    • Modified tmp volume handling based on daemon.configSources.
  • packages/system/cilium/charts/cilium/templates/cilium-ca-secret.yaml
    • Added cilium.io/helm-template-non-idempotent label and nonIdempotentAnnotations for common CA secret.
  • packages/system/cilium/charts/cilium/templates/cilium-configmap.yaml
    • Removed defaultKubeProxyReplacement variable.
    • Updated ipam mode logic for ENI.
    • Added operator-prometheus-tls configuration.
    • Added bpf-policy-map-pressure-metrics-threshold.
    • Corrected typo in cluster-id description.
    • Updated routing-mode logic for ENI/GKE.
    • Added policy-deny-response.
    • Added eni.nodeSpec and alibabacloud.nodeSpec configurations.
    • Added standalone-dns-proxy configuration.
    • Added enable-tunnel-big-tcp.
    • Updated encryption strict mode options.
    • Added enable-no-service-endpoints-routable.
    • Removed enable-node-port from config.
    • Removed bpf-lb-proto-diff and enable-session-affinity.
    • Added ip-tracing-option-type.
    • Added pprof mutex and block profile rates.
    • Added hubble-lost-event-send-interval, hubble-export-aggregation-interval, and hubble-export-fieldaggregate.
    • Removed deprecated ipam.operator.clusterPoolIPv4PodCIDR and ipam.operator.clusterPoolIPv6PodCIDR checks.
    • Removed enable-k8s-endpoint-slice and enable-custom-calls.
    • Added packetization-layer-pmtud-mode.
    • Added pod-restart-selector.
  • packages/system/cilium/charts/cilium/templates/cilium-envoy/daemonset.yaml
    • Replaced direct updateStrategy, ports, affinity definitions with template includes.
    • Added envoy.initContainers, envoy.args.extra, envoy.env.extra, envoy.volumeMounts.extra, envoy.hostPathMounts.extra template includes.
  • packages/system/cilium/charts/cilium/templates/cilium-envoy/service.yaml
    • Updated targetPort for envoy-metrics to use the numeric port value.
  • packages/system/cilium/charts/cilium/templates/cilium-ingress-service.yaml
    • Changed kind from Endpoints to EndpointSlice and updated address format.
  • packages/system/cilium/charts/cilium/templates/cilium-nodeinit/daemonset.yaml
    • Added automountServiceAccountToken: false when serviceAccounts.nodeinit.enabled is false.
  • packages/system/cilium/charts/cilium/templates/cilium-operator/clusterrole.yaml
    • Updated conditions for endpointslices and multicluster.x-k8s.io resources to include clustermesh.mcsapi.enabled.
    • Added services/finalizers and ingresses/finalizers permissions.
    • Added ciliumendpointslices deletecollection permission.
  • packages/system/cilium/charts/cilium/templates/cilium-operator/deployment.yaml
    • Updated conditions for CILIUM_CLUSTERMESH_CONFIG environment variable.
    • Added conditional AZURE_CLIENT_ID and AZURE_CLIENT_SECRET environment variables.
    • Added health port and updated health probe ports to use named port health.
    • Updated volume mounts for clustermesh-secrets and added prometheus-tls volume mount.
    • Updated securityContext handling.
  • packages/system/cilium/charts/cilium/templates/cilium-operator/role.yaml
    • Added cilium-operator-ztunnel role for ZTunnel DaemonSet management.
  • packages/system/cilium/charts/cilium/templates/cilium-operator/rolebinding.yaml
    • Added cilium-operator-ztunnel rolebinding.
  • packages/system/cilium/charts/cilium/templates/cilium-operator/secret.yaml
    • Wrapped Azure client ID/secret secret creation with if .Values.azure.clientID.
  • packages/system/cilium/charts/cilium/templates/cilium-preflight/clusterrole.yaml
    • Removed ciliumbgppeeringpolicies from resources.
  • packages/system/cilium/charts/cilium/templates/cilium-secrets-namespace.yaml
    • Added secretsNamespaceLabels.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/clusterrole.yaml
    • Updated conditions for multicluster.x-k8s.io resources to include clustermesh.mcsapi.enabled.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/deployment.yaml
    • Added --enable-grpc-gateway=false to etcd arguments.
    • Updated conditions for clustermesh-enable-mcs-api.
    • Added clustermesh.apiserver.args.extra and clustermesh.kvstoremesh.args.extra template includes.
    • Added --clustermesh-cache-ttl argument.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/service.yaml
    • Added (not .Values.clustermesh.apiserver.service.externallyCreated) condition for service creation.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-cronjob/_job-spec.tpl
    • Added securityContext for certgen container.
    • Changed hostNetwork to false.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-cronjob/cronjob.yaml
    • Added successfulJobsHistoryLimit and failedJobsHistoryLimit for certgen cronjob.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-cronjob/job.yaml
    • Modified job naming to include checksum for immutability.
    • Removed helm.sh/hook annotation.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-cronjob/role.yaml
    • Removed clustermesh-apiserver-client-cert from resources.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-helm/admin-secret.yaml
    • Added cilium.io/helm-template-non-idempotent label and nonIdempotentAnnotations.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-helm/local-secret.yaml
    • Added cilium.io/helm-template-non-idempotent label and nonIdempotentAnnotations.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-helm/remote-secret.yaml
    • Added cilium.io/helm-template-non-idempotent label and nonIdempotentAnnotations.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/tls-helm/server-secret.yaml
    • Added cilium.io/helm-template-non-idempotent label and nonIdempotentAnnotations.
  • packages/system/cilium/charts/cilium/templates/clustermesh-apiserver/users-configmap.yaml
    • Updated conditions for configmap creation.
    • Iterated over clustermesh-clusters helper.
  • packages/system/cilium/charts/cilium/templates/clustermesh-config/_helpers.tpl
    • Added clustermesh-clusters helper to normalize cluster definitions.
  • packages/system/cilium/charts/cilium/templates/clustermesh-config/clustermesh-secret.yaml
    • Iterated over clustermesh-clusters helper.
  • packages/system/cilium/charts/cilium/templates/clustermesh-config/kvstoremesh-secret.yaml
    • Iterated over clustermesh-clusters helper.
  • packages/system/cilium/charts/cilium/templates/clustermesh-coredns-mcsapi/clusterrole.yaml
    • Added new file for CoreDNS MCSAPI clusterrole.
  • packages/system/cilium/charts/cilium/templates/clustermesh-coredns-mcsapi/clusterrolebinding.yaml
    • Added new file for CoreDNS MCSAPI clusterrolebinding.
  • packages/system/cilium/charts/cilium/templates/clustermesh-coredns-mcsapi/job-clusterrole.yaml
    • Added new file for CoreDNS MCSAPI job clusterrole.
  • packages/system/cilium/charts/cilium/templates/clustermesh-coredns-mcsapi/job-clusterrolebinding.yaml
    • Added new file for CoreDNS MCSAPI job clusterrolebinding.
  • packages/system/cilium/charts/cilium/templates/clustermesh-coredns-mcsapi/job-serviceaccount.yaml
    • Added new file for CoreDNS MCSAPI job serviceaccount.
  • packages/system/cilium/charts/cilium/templates/clustermesh-coredns-mcsapi/job.yaml
    • Added new file for CoreDNS MCSAPI job.
  • packages/system/cilium/charts/cilium/templates/hubble-relay/configmap.yaml
    • Added pprof-mutex-profile-fraction, pprof-block-profile-rate, log-format, and log-level options.
  • packages/system/cilium/charts/cilium/templates/hubble-ui/clusterrole.yaml
    • Removed networking.k8s.io/networkpolicies and cilium.io/* resources from rules.
  • packages/system/cilium/charts/cilium/templates/hubble-ui/deployment.yaml
    • Updated liveness/readiness probe ports to use named port http.
    • Added tmp-dir volume configuration.
  • packages/system/cilium/charts/cilium/templates/hubble/tls-cronjob/_job-spec.tpl
    • Removed serviceAccount field.
    • Updated ttlSecondsAfterFinished to be conditional.
  • packages/system/cilium/charts/cilium/templates/hubble/tls-cronjob/cronjob.yaml
    • Added successfulJobsHistoryLimit and failedJobsHistoryLimit for hubble certgen cronjob.
  • packages/system/cilium/charts/cilium/templates/hubble/tls-cronjob/job.yaml
    • Modified job naming to include checksum for immutability.
    • Removed helm.sh/hook annotation.
  • packages/system/cilium/charts/cilium/templates/hubble/tls-helm/metrics-server-secret.yaml
    • Added cilium.io/helm-template-non-idempotent label and nonIdempotentAnnotations.
  • packages/system/cilium/charts/cilium/templates/hubble/tls-helm/relay-client-secret.yaml
    • Added cilium.io/helm-template-non-idempotent label and nonIdempotentAnnotations.
  • packages/system/cilium/charts/cilium/templates/hubble/tls-helm/relay-server-secret.yaml
    • Added cilium.io/helm-template-non-idempotent label and nonIdempotentAnnotations.
  • packages/system/cilium/charts/cilium/templates/hubble/tls-helm/server-secret.yaml
    • Added cilium.io/helm-template-non-idempotent label and nonIdempotentAnnotations.
  • packages/system/cilium/charts/cilium/templates/hubble/tls-helm/ui-client-certs.yaml
    • Added cilium.io/helm-template-non-idempotent label and nonIdempotentAnnotations.
  • packages/system/cilium/charts/cilium/templates/standalone-dns-proxy/configmap.yaml
    • Added new file for standalone DNS proxy configmap.
  • packages/system/cilium/charts/cilium/templates/standalone-dns-proxy/daemonset.yaml
    • Added new file for standalone DNS proxy daemonset.
  • packages/system/cilium/charts/cilium/templates/validate.yaml
    • Added validation for standaloneDnsProxy.
    • Added validation for bpf.tproxy with bpf.datapathMode.
  • packages/system/cilium/charts/cilium/values.schema.json
    • Updated schema to reflect new and changed values, including alibabacloud.nodeSpec, azure.nodeSpec, bpf.monitorTraceIPOption, bpf.policyMapPressureMetricsThreshold, certgen.cronJob, certgen.ttlSecondsAfterFinished, clustermesh.apiserver.service.externallyCreated, clustermesh.apiserver.tls.client removal, clustermesh.cacheTTL, clustermesh.config.clusters type, clustermesh.mcsapi, cni.resources limits, customCalls removal, enableNoServiceEndpointsRoutable, enableTunnelBIGTCP, encryption.strictMode new structure, eni.nodeSpec, envoy.clusterMaxConnections, envoy.clusterMaxRequests, envoy.initContainers, envoy.maxGlobalDownstreamConnections, envoy.useOriginalSourceAddress, hubble.export aggregation fields, hubble.relay.logOptions, hubble.relay.pprof options, hubble.ui.tmpVolume, ipam.nodeSpec, nodePort.enabled removal, nodeinit.waitForCloudInit, operator.pprof options, operator.prometheus.tls, operator.unmanagedPodWatcher.selector, pmtuDiscovery.packetizationLayerPMTUDMode, policyDenyResponse, pprof.mutexProfileFraction, pprof.blockProfileRate, secretsNamespaceLabels, standaloneDnsProxy, svcSourceRangeCheck removal, tmpVolume, and underlayProtocol enum.
  • packages/system/cilium/charts/cilium/values.yaml
    • Updated debug.verbose description.
    • Added corednsMCSAPI service account.
    • Updated Cilium agent image tag and digest.
    • Added SYSLOG capability.
    • Added azure.nodeSpec and alibabacloud.nodeSpec.
    • Updated BGP control plane descriptions.
    • Added pmtuDiscovery.packetizationLayerPMTUDMode, bpf.policyMapPressureMetricsThreshold, bpf.monitorTraceIPOption, and bpf.datapathMode note.
    • Updated cni.resources limits.
    • Removed customCalls.
    • Added tmpVolume.
    • Removed enableK8sEndpointSlice.
    • Updated encryption strict mode structure.
    • Added eni.nodeSpec and enableNoServiceEndpointsRoutable.
    • Updated certgen image tag/digest and ttlSecondsAfterFinished.
    • Added certgen.cronJob.
    • Added hubble.lostEventSendInterval.
    • Updated Hubble Relay image tag/digest.
    • Added hubble.relay.logOptions and hubble.relay.pprof options.
    • Added hubble.ui.tmpVolume.
    • Added Hubble export aggregation fields.
    • Added ipam.nodeSpec.
    • Removed nodePort.enabled.
    • Added pprof.mutexProfileFraction and pprof.blockProfileRate.
    • Updated Envoy image tag/digest.
    • Added envoy.clusterMaxConnections, envoy.clusterMaxRequests, envoy.maxGlobalDownstreamConnections, envoy.useOriginalSourceAddress, and envoy.initContainers.
    • Removed sessionAffinity and svcSourceRangeCheck.
    • Added secretsNamespaceLabels.
    • Updated underlayProtocol description.
    • Added policyDenyResponse.
    • Updated operator image tag/digests.
    • Added operator.pprof options, operator.prometheus.tls, and operator.unmanagedPodWatcher.selector.
    • Added nodeinit.waitForCloudInit.
    • Added standaloneDnsProxy configuration.
  • packages/system/cilium/charts/cilium/values.yaml.tmpl
    • Updated debug.verbose description.
    • Added corednsMCSAPI service account.
    • Added SYSLOG capability.
    • Added azure.nodeSpec and alibabacloud.nodeSpec.
    • Updated BGP control plane descriptions.
    • Added pmtuDiscovery.packetizationLayerPMTUDMode, bpf.policyMapPressureMetricsThreshold, bpf.monitorTraceIPOption, and bpf.datapathMode note.
    • Updated cni.resources limits.
    • Removed customCalls.
    • Added tmpVolume.
    • Removed enableK8sEndpointSlice.
    • Updated encryption strict mode structure.
    • Added eni.nodeSpec and enableNoServiceEndpointsRoutable.
    • Updated certgen image tag/digest and ttlSecondsAfterFinished.
    • Added certgen.cronJob.
    • Added hubble.lostEventSendInterval.
    • Added hubble.relay.logOptions and hubble.relay.pprof options.
    • Added hubble.ui.tmpVolume.
    • Added Hubble export aggregation fields.
    • Added ipam.nodeSpec.
    • Removed nodePort.enabled.
    • Added pprof.mutexProfileFraction and pprof.blockProfileRate.
    • Added envoy.clusterMaxConnections, envoy.clusterMaxRequests, envoy.maxGlobalDownstreamConnections, envoy.useOriginalSourceAddress, and envoy.initContainers.
    • Removed sessionAffinity and svcSourceRangeCheck.
    • Added secretsNamespaceLabels.
    • Updated underlayProtocol description.
    • Added policyDenyResponse.
    • Added operator.pprof options, operator.prometheus.tls, and operator.unmanagedPodWatcher.selector.
    • Added nodeinit.waitForCloudInit.
    • Added standaloneDnsProxy configuration.
  • packages/system/cilium/images/cilium/Dockerfile
    • Updated Cilium base image version to 1.19.0.
  • packages/system/cilium/values.yaml
    • Updated Cilium image tag to latest and digest.
Activity
  • The pull request was created by kvaps with the title "cilium 1.19".
  • The description indicates updates to kilo v0.8.0 and Cilium v1.19.0.
  • No further human activity (comments, reviews) is available in the provided context.
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 (@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 (@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.

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

Copy link
Copy Markdown
Contributor

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 Cilium to v1.19.0. The changes mostly consist of version updates in various configuration files, Makefiles, and Dockerfiles, along with updates to Helm chart values and templates to reflect new features and deprecations in the new Cilium version.

My review has identified a potential issue with the SPIRE image versions being downgraded, which could introduce risks. I've also made a suggestion regarding the use of the latest image tag for better reproducibility.

Overall, the changes are consistent with a version upgrade, with many improvements in the Helm templates for flexibility and robustness.

repository: ghcr.io/cozystack/cozystack/cilium
tag: 1.18.6
digest: "sha256:4f4585f8adc3b8becd15d3999f3900a4d3d650f2ab7f85ca8c661f3807113d01"
tag: latest

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Using the latest tag for an image is generally discouraged as it can lead to non-reproducible builds and unexpected behavior in deployments. It would be better to use a specific version tag, even if it's updated by the build process. This makes the source code clearer and deployments more predictable.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
packages/system/cilium/charts/cilium/templates/clustermesh-config/clustermesh-secret.yaml (1)

21-31: ⚠️ Potential issue | 🔴 Critical

Move these changes out of the vendored upstream Helm chart.

This file is part of the vendored Cilium chart (pulled via helm pull cilium/cilium). Direct edits to vendored charts violate the coding guidelines and will be overwritten on the next chart update via the Makefile update target.

The clustermesh-clusters helper correctly handles both map and list cluster formats and returns proper JSON for consumption by fromJson, but these changes must be applied through proper chart vendoring mechanisms (e.g., Kustomize patches, values overlays, or contributing upstream) rather than direct file edits.

packages/system/cilium/charts/cilium/templates/hubble/tls-cronjob/_job-spec.tpl (1)

96-98: ⚠️ Potential issue | 🔴 Critical

Fix Helm template syntax error in hubble-metrics certificate configuration.

Lines 96 and 98 have mismatched braces causing | quote }} to be emitted as literal text in rendered YAML. The quote filter is outside the template expression.

This bug exists in Cilium 1.19.0 upstream. The template expressions should move | quote inside the {{ }} block:

Proposed fix
-                  commonName: {{ list (.Values.cluster.name | replace "." "-") "hubble-metrics.cilium.io" | join "." }} | quote }}
+                  commonName: {{ list (.Values.cluster.name | replace "." "-") "hubble-metrics.cilium.io" | join "." | quote }}
                   hosts:
-                  - {{ list (.Values.cluster.name | replace "." "-") "hubble-metrics.cilium.io" | join "." }} | quote }}
+                  - {{ list (.Values.cluster.name | replace "." "-") "hubble-metrics.cilium.io" | join "." | quote }}
🤖 Fix all issues with AI agents
In `@packages/system/cilium/charts/cilium/README.md`:
- Line 69: The description for the Helm value key "authentication.enabled"
contains a typo; update the sentence "But the resulting authentication requests
for these requests will not be processed, therefore the requests not be
allowed." to read "But the resulting authentication requests for these requests
will not be processed; therefore the requests will not be allowed." so it is
grammatically correct and clearer.

In `@packages/system/cilium/charts/cilium/values.yaml.tmpl`:
- Around line 3496-3498: Fix the minor spacing typo in the comment that reads
``clustermesh.config.enabled=true``documentation by inserting a space between
the closing backticks and "documentation" so it becomes
``clustermesh.config.enabled=true`` documentation; locate the comment containing
the backtick-quoted config name (the snippet
``clustermesh.config.enabled=true``documentation) and update it accordingly.
- Around line 4340-4377: The values.yaml.tmpl references undefined template
variables STANDALONE_DNS_PROXY_REPO, STANDALONE_DNS_PROXY_VERSION, and
STANDALONE_DNS_PROXY_DIGEST which are not handled by the Makefile image target;
either (A) extend the Makefile's image target to set and substitute these
variables the same way it does for cilium/envoy/certgen (add
STANDALONE_DNS_PROXY_* vars to the image target, update the yq substitution
steps and any image build/push logic to produce repo/tag/digest values) or (B)
remove the standalone DNS proxy image fields (repository/tag/digest/useDigest)
from values.yaml.tmpl if the feature is not supported; reference the
values.yaml.tmpl template variables and the Makefile image target/yq
substitution logic when implementing the change.
🧹 Nitpick comments (3)
packages/system/cilium/values.yaml (1)

17-19: tag: latest is a build-time placeholder — confirm if intentional here

The Makefile image target overwrites this with the actual version: yq -i '.cilium.image.tag = strenv(TAG)' values.yaml sets it to the Chart version. The digest on line 19 is extracted from the built image metadata. Having tag: latest committed alongside a specific digest is confusing — while the digest pins it safely, a reader of values.yaml would expect them to align. This pattern is unique to cilium among all system packages; consider either:

  1. Document this as the expected placeholder state before the image target runs, or
  2. Use the actual version tag in the committed values.yaml for clarity.
packages/system/cilium/charts/cilium/README.md (1)

62-65: Add descriptions for newly documented cloud nodeSpec fields.

The Description column is empty for these new keys, which makes the values table less usable. Please add short, user-facing descriptions (even 1–2 sentences) for alibabacloud.nodeSpec.* and azure.nodeSpec.azureInterfaceName.

Also applies to: 121-121

packages/system/cilium/charts/cilium/values.yaml.tmpl (1)

1273-1277: ttlSecondsAfterFinished changed to null — completed certgen Job pods will persist.

Previously this was set to an integer value, which would auto-clean completed Job pods. Setting it to null means the Kubernetes default applies (no automatic cleanup). This could lead to accumulation of completed Job pods over time if not managed externally. Verify this matches the upstream 1.19.0 default and is intentional.

| annotations | object | `{}` | Annotations to be added to all top-level cilium-agent objects (resources under templates/cilium-agent) |
| apiRateLimit | string | `nil` | The api-rate-limit option can be used to overwrite individual settings of the default configuration for rate limiting calls to the Cilium Agent API |
| authentication.enabled | bool | `true` | Enable authentication processing and garbage collection. Note that if disabled, policy enforcement will still block requests that require authentication. But the resulting authentication requests for these requests will not be processed, therefore the requests not be allowed. |
| authentication.enabled | bool | `false` | Enable authentication processing and garbage collection. Note that if disabled, policy enforcement will still block requests that require authentication. But the resulting authentication requests for these requests will not be processed, therefore the requests not be allowed. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix grammar in authentication.enabled description.

Current text says “therefore the requests not be allowed,” which reads as a typo.

✏️ Proposed fix
-| authentication.enabled | bool | `false` | Enable authentication processing and garbage collection. Note that if disabled, policy enforcement will still block requests that require authentication. But the resulting authentication requests for these requests will not be processed, therefore the requests not be allowed. |
+| authentication.enabled | bool | `false` | Enable authentication processing and garbage collection. Note that if disabled, policy enforcement will still block requests that require authentication. But the resulting authentication requests for these requests will not be processed, therefore the requests will not be allowed. |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| authentication.enabled | bool | `false` | Enable authentication processing and garbage collection. Note that if disabled, policy enforcement will still block requests that require authentication. But the resulting authentication requests for these requests will not be processed, therefore the requests not be allowed. |
| authentication.enabled | bool | `false` | Enable authentication processing and garbage collection. Note that if disabled, policy enforcement will still block requests that require authentication. But the resulting authentication requests for these requests will not be processed, therefore the requests will not be allowed. |
🤖 Prompt for AI Agents
In `@packages/system/cilium/charts/cilium/README.md` at line 69, The description
for the Helm value key "authentication.enabled" contains a typo; update the
sentence "But the resulting authentication requests for these requests will not
be processed, therefore the requests not be allowed." to read "But the resulting
authentication requests for these requests will not be processed; therefore the
requests will not be allowed." so it is grammatically correct and clearer.

Comment on lines +3496 to +3498
# -- Deploy clustermesh-apiserver for clustermesh. This option is typically
# used with ``clustermesh.config.enabled=true``. Refer to the
# ``clustermesh.config.enabled=true``documentation for more information.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Minor typo: missing space before "documentation".

Line 3498 has clustermesh.config.enabled=true``documentation — there's a missing space between the backtick-quoted value and the word "documentation".

-  # used with ``clustermesh.config.enabled=true``. Refer to the
-  # ``clustermesh.config.enabled=true``documentation for more information.
+  # used with ``clustermesh.config.enabled=true``. Refer to the
+  # ``clustermesh.config.enabled=true`` documentation for more information.
🤖 Prompt for AI Agents
In `@packages/system/cilium/charts/cilium/values.yaml.tmpl` around lines 3496 -
3498, Fix the minor spacing typo in the comment that reads
``clustermesh.config.enabled=true``documentation by inserting a space between
the closing backticks and "documentation" so it becomes
``clustermesh.config.enabled=true`` documentation; locate the comment containing
the backtick-quoted config name (the snippet
``clustermesh.config.enabled=true``documentation) and update it accordingly.

Comment on lines +4340 to +4377
# -- Standalone DNS Proxy Configuration
# Note: The standalone DNS proxy uses the agent's dnsProxy.* configuration
# for DNS settings (proxyPort, enableDnsCompression) to ensure consistency.
standaloneDnsProxy:
# -- Enable standalone DNS proxy (alpha feature)
enabled: false
# -- Roll out Standalone DNS proxy automatically when configmap is updated.
rollOutPods: false
# -- Standalone DNS proxy annotations
annotations: {}
# -- Standalone DNS proxy debug mode
debug: false
# -- Standalone DNS proxy server port
serverPort: 10095
# -- Standalone DNS proxy Node Selector
nodeSelector:
kubernetes.io/os: linux
# -- Standalone DNS proxy tolerations
tolerations: []
# -- Standalone DNS proxy auto mount service account token
automountServiceAccountToken: false
# -- Standalone DNS proxy update strategy
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 2
maxUnavailable: 0
# -- Standalone DNS proxy image
image:
# @schema
# type: [null, string]
# @schema
override: ~
repository: "${STANDALONE_DNS_PROXY_REPO}"
tag: "${STANDALONE_DNS_PROXY_VERSION}"
digest: "${STANDALONE_DNS_PROXY_DIGEST}"
useDigest: ${USE_DIGESTS}
pullPolicy: "${PULL_POLICY}"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for definitions of STANDALONE_DNS_PROXY variables in the repository
echo "=== Searching for STANDALONE_DNS_PROXY variable definitions ==="
rg -rn "STANDALONE_DNS_PROXY" --type-not yaml -g '!**/charts/**' | head -40

echo ""
echo "=== Searching in Makefile or script files ==="
fd -e mk -e Makefile -e sh -e bash --exec grep -l "STANDALONE_DNS_PROXY" {} \;

echo ""
echo "=== Searching in any file outside charts ==="
rg -rn "STANDALONE_DNS_PROXY" -g '!**/values.yaml.tmpl' | head -40

Repository: cozystack/cozystack

Length of output: 219


🏁 Script executed:

#!/bin/bash
# Find Makefile in packages/system/cilium
echo "=== Looking for Makefile in cilium package ==="
find packages/system/cilium -name "Makefile" -o -name "*.mk" | head -20

echo ""
echo "=== Looking at root Makefile and build scripts ==="
ls -la | grep -i make

echo ""
echo "=== Search for how template variables are typically handled ==="
rg -rn "values\.yaml\.tmpl" packages/system/ | head -20

echo ""
echo "=== Check other image variable patterns in cilium values.yaml.tmpl ==="
rg -n "\$\{.*_REPO\}" packages/system/cilium/charts/cilium/values.yaml.tmpl | head -20

Repository: cozystack/cozystack

Length of output: 604


🏁 Script executed:

#!/bin/bash
# Read the cilium Makefile
echo "=== Content of packages/system/cilium/Makefile ==="
cat -n packages/system/cilium/Makefile

echo ""
echo "=== Search for template variable definitions ==="
rg -n "STANDALONE_DNS_PROXY|USE_DIGESTS|PULL_POLICY" packages/system/cilium/Makefile

Repository: cozystack/cozystack

Length of output: 1668


🏁 Script executed:

#!/bin/bash
# Check the included makefiles
echo "=== Content of hack/common-envs.mk ==="
cat -n hack/common-envs.mk | head -50

echo ""
echo "=== Content of hack/package.mk ==="
cat -n hack/package.mk | head -100

echo ""
echo "=== Search for how values.yaml.tmpl files are rendered ==="
rg -n "values\.yaml\.tmpl" hack/ -A 3 -B 3

Repository: cozystack/cozystack

Length of output: 2956


🏁 Script executed:

#!/bin/bash
# Check root Makefile
echo "=== Root Makefile content ==="
cat -n Makefile

echo ""
echo "=== Search for any script that processes .tmpl files ==="
fd -type f -name "*.sh" -o -name "*.py" -o -name "*.mk" | xargs grep -l "\.tmpl" 2>/dev/null | head -20

echo ""
echo "=== Check if values.yaml.tmpl exists and view it with template variables ==="
wc -l packages/system/cilium/charts/cilium/values.yaml.tmpl

echo ""
echo "=== Look for template variable pattern in the .tmpl file ==="
rg -n '\$\{' packages/system/cilium/charts/cilium/values.yaml.tmpl | head -30

Repository: cozystack/cozystack

Length of output: 6196


🏁 Script executed:

#!/bin/bash
# Search for how template variables are substituted
echo "=== Search for scripts that substitute template variables ==="
find . -name "*.sh" -type f | xargs grep -l "values.yaml.tmpl\|CILIUM_REPO\|PULL_POLICY" 2>/dev/null

echo ""
echo "=== Check if there's an envsubst or similar template processing ==="
rg -rn "envsubst|sed.*values\.yaml\.tmpl|yq.*values\.yaml\.tmpl" --type-not yaml

echo ""
echo "=== Search for where CILIUM_REPO type variables are defined ==="
rg -rn "CILIUM_REPO|PULL_POLICY" --type-not yaml -g '!**/charts/**' | head -30

echo ""
echo "=== Check cilium package specifically for image building ==="
ls -la packages/system/cilium/

Repository: cozystack/cozystack

Length of output: 938


🏁 Script executed:

#!/bin/bash
# Check Chart.yaml
echo "=== Chart.yaml content ==="
cat -n packages/system/cilium/Chart.yaml

echo ""
echo "=== Check if values.yaml is generated or handwritten ==="
head -20 packages/system/cilium/values.yaml

echo ""
echo "=== Check if values.yaml.tmpl is the source ==="
head -20 packages/system/cilium/charts/cilium/values.yaml.tmpl

echo ""
echo "=== Check templates directory ==="
ls -la packages/system/cilium/templates/

echo ""
echo "=== Compare line counts ==="
wc -l packages/system/cilium/values.yaml packages/system/cilium/charts/cilium/values.yaml.tmpl

echo ""
echo "=== Search for STANDALONE_DNS_PROXY in values.yaml (not .tmpl) ==="
grep -n "STANDALONE_DNS_PROXY" packages/system/cilium/values.yaml

Repository: cozystack/cozystack

Length of output: 1796


🏁 Script executed:

#!/bin/bash
# Search for .tmpl processing in cilium Makefile more carefully
echo "=== Full cilium Makefile ==="
cat packages/system/cilium/Makefile

echo ""
echo "=== Search for any script that might process .tmpl files ==="
find . -type f \( -name "*.sh" -o -name "*.py" \) | xargs grep -l "tmpl\|STANDALONE_DNS_PROXY" 2>/dev/null

echo ""
echo "=== Check if values.yaml.tmpl is perhaps not meant to be used yet ==="
git log --oneline packages/system/cilium/charts/cilium/values.yaml.tmpl 2>/dev/null | head -5

echo ""
echo "=== Search for STANDALONE_DNS_PROXY in entire repo ==="
rg -rn "STANDALONE_DNS_PROXY" 2>/dev/null

Repository: cozystack/cozystack

Length of output: 1832


Add STANDALONE_DNS_PROXY image variables to the Makefile image target or remove them from values.yaml.tmpl.

The template variables ${STANDALONE_DNS_PROXY_REPO}, ${STANDALONE_DNS_PROXY_VERSION}, and ${STANDALONE_DNS_PROXY_DIGEST} are referenced in values.yaml.tmpl but are not defined or substituted anywhere in the build pipeline. The cilium Makefile's image target only handles cilium, envoy, and certgen image variables via yq, while the .tmpl file (a vendor file from upstream cilium) contains the undefined STANDALONE_DNS_PROXY references. Either extend the Makefile to handle STANDALONE_DNS_PROXY image building and substitution, or remove these references from the template if the feature is not yet supported.

🤖 Prompt for AI Agents
In `@packages/system/cilium/charts/cilium/values.yaml.tmpl` around lines 4340 -
4377, The values.yaml.tmpl references undefined template variables
STANDALONE_DNS_PROXY_REPO, STANDALONE_DNS_PROXY_VERSION, and
STANDALONE_DNS_PROXY_DIGEST which are not handled by the Makefile image target;
either (A) extend the Makefile's image target to set and substitute these
variables the same way it does for cilium/envoy/certgen (add
STANDALONE_DNS_PROXY_* vars to the image target, update the yq substitution
steps and any image build/push logic to produce repo/tag/digest values) or (B)
remove the standalone DNS proxy image fields (repository/tag/digest/useDigest)
from values.yaml.tmpl if the feature is not supported; reference the
values.yaml.tmpl template variables and the Makefile image target/yq
substitution logic when implementing the change.

@kvaps

Copy link
Copy Markdown
Member Author

Let's update it after v1.0 released

@kvaps

Copy link
Copy Markdown
Member Author

closed in favor #2173

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XL This PR changes 500-999 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant