Skip to content

Commit ad7d25f

Browse files
authored
chore(cilium): bump to v1.19.3 (#2464)
## What this PR does Refreshes the vendored Cilium chart in `packages/system/cilium` from v1.19.1 to v1.19.3 via `make update`. Chart templates, values, CRDs and the Cilium image reference are regenerated from upstream. ### Motivation - **v1.19.2** ships a critical fix for cert-manager HTTP-01 Gateway API challenges on hostnames that have both HTTP and HTTPS listeners ([cilium#44492](cilium/cilium#44492), backport [#44517](cilium/cilium#44517)). Without this fix, cert-manager cannot issue certificates via Gateway API when a redirect HTTP listener and a TLS HTTPS listener share a hostname. - **v1.19.3** is the latest stable patch release in the v1.19.x line (15 Apr 2026). - This bump is a prerequisite for upcoming Gateway API work tracked separately. ### Upstream changes pulled in - Cilium Envoy bootstrap config, operator clusterrole, config template, `values.schema.json` and the cilium-agent DaemonSet refreshed from upstream. - New `templates/ztunnel/` directory (DaemonSet, Secret, ServiceAccount) added by upstream — not enabled by default in Cozystack values. ### Release note ```release-note chore(cilium): bump to v1.19.3 (cert-manager HTTP-01 fix via cilium#44492) ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added ztunnel encryption support with configurable deployment settings * Added ConfigDriftDetection for monitoring ConfigMap changes * Added endpoint policy update timeout configuration * Added load balancer service topology support * Extended Envoy circuit breaker configuration with connection and request limits * **Updates** * Upgraded Cilium to v1.19.3 * Updated container images (Envoy, certgen, Hubble relay, clustermesh) * Enhanced Cilium operator RBAC capabilities for managing ServiceImport finalizers * **Removals** * Removed BIG TCP tunnel configuration option <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2 parents 7e887ed + 3f36a1b commit ad7d25f

14 files changed

Lines changed: 728 additions & 57 deletions

File tree

‎packages/system/cilium/charts/cilium/Chart.yaml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ annotations:
7676
Cilium Gateway Class Config\n description: |\n CiliumGatewayClassConfig defines
7777
a configuration for Gateway API GatewayClass.\n"
7878
apiVersion: v2
79-
appVersion: 1.19.1
79+
appVersion: 1.19.3
8080
description: eBPF-based Networking, Security, and Observability
8181
home: https://cilium.io/
8282
icon: https://cdn.jsdelivr.net/gh/cilium/cilium@main/Documentation/images/logo-solo.svg
@@ -92,4 +92,4 @@ kubeVersion: '>= 1.21.0-0'
9292
name: cilium
9393
sources:
9494
- https://github.com/cilium/cilium
95-
version: 1.19.1
95+
version: 1.19.3

‎packages/system/cilium/charts/cilium/README.md‎

Lines changed: 38 additions & 12 deletions
Large diffs are not rendered by default.

‎packages/system/cilium/charts/cilium/files/cilium-envoy/configmap/bootstrap-config.yaml‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ staticResources:
167167
circuitBreakers:
168168
thresholds:
169169
- maxRetries: {{ .Values.envoy.maxConcurrentRetries }}
170+
maxConnections: {{ .Values.envoy.clusterMaxConnections }}
171+
maxRequests: {{ .Values.envoy.clusterMaxRequests }}
170172
lbPolicy: "CLUSTER_PROVIDED"
171173
typedExtensionProtocolOptions:
172174
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
@@ -183,6 +185,8 @@ staticResources:
183185
circuitBreakers:
184186
thresholds:
185187
- maxRetries: {{ .Values.envoy.maxConcurrentRetries }}
188+
maxConnections: {{ .Values.envoy.clusterMaxConnections }}
189+
maxRequests: {{ .Values.envoy.clusterMaxRequests }}
186190
lbPolicy: "CLUSTER_PROVIDED"
187191
typedExtensionProtocolOptions:
188192
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
@@ -204,6 +208,8 @@ staticResources:
204208
circuitBreakers:
205209
thresholds:
206210
- maxRetries: {{ .Values.envoy.maxConcurrentRetries }}
211+
maxConnections: {{ .Values.envoy.clusterMaxConnections }}
212+
maxRequests: {{ .Values.envoy.clusterMaxRequests }}
207213
lbPolicy: "CLUSTER_PROVIDED"
208214
typedExtensionProtocolOptions:
209215
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
@@ -220,6 +226,8 @@ staticResources:
220226
circuitBreakers:
221227
thresholds:
222228
- maxRetries: {{ .Values.envoy.maxConcurrentRetries }}
229+
maxConnections: {{ .Values.envoy.clusterMaxConnections }}
230+
maxRequests: {{ .Values.envoy.clusterMaxRequests }}
223231
lbPolicy: "CLUSTER_PROVIDED"
224232
typedExtensionProtocolOptions:
225233
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
@@ -304,3 +312,4 @@ admin:
304312
address:
305313
pipe:
306314
path: "/var/run/cilium/envoy/sockets/admin.sock"
315+
mode: 0660

‎packages/system/cilium/charts/cilium/templates/cilium-agent/daemonset.yaml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ spec:
546546
{{- toYaml .Values.initResources | trim | nindent 10 }}
547547
{{- end }}
548548
command:
549-
- sh
549+
- bash
550550
- -ec
551551
# The statically linked Go program binary is invoked to avoid any
552552
# dependency on utilities like sh and mount that can be missing on certain
@@ -592,7 +592,7 @@ spec:
592592
- name: BIN_PATH
593593
value: {{ .Values.cni.binPath }}
594594
command:
595-
- sh
595+
- bash
596596
- -ec
597597
# The statically linked Go program binary is invoked to avoid any
598598
# dependency on utilities like sh that can be missing on certain
@@ -660,7 +660,7 @@ spec:
660660
{{- toYaml . | trim | nindent 10 }}
661661
{{- end }}
662662
command:
663-
- sh
663+
- bash
664664
- -c
665665
- |
666666
until test -s {{ (print "/tmp/cilium-bootstrap.d/" (.Values.nodeinit.bootstrapFile | base)) | quote }}; do

‎packages/system/cilium/charts/cilium/templates/cilium-configmap.yaml‎

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,9 @@ data:
464464
{{- if has (kindOf .Values.bpf.policyMapPressureMetricsThreshold) (list "int64" "float64") }}
465465
bpf-policy-map-pressure-metrics-threshold: {{ .Values.bpf.policyMapPressureMetricsThreshold | quote }}
466466
{{- end }}
467+
{{- if .Values.endpointPolicyUpdateTimeoutDuration }}
468+
endpoint-policy-update-timeout: {{ .Values.endpointPolicyUpdateTimeoutDuration | quote }}
469+
{{- end }}
467470
{{- if hasKey .Values.bpf "policyStatsMapMax" }}
468471
# bpf-policy-stats-map-max specifies the maximum number of entries in global
469472
# policy stats map
@@ -706,7 +709,6 @@ data:
706709
enable-ipv4-big-tcp: {{ .Values.enableIPv4BIGTCP | quote }}
707710
enable-ipv6-big-tcp: {{ .Values.enableIPv6BIGTCP | quote }}
708711
enable-ipv6-masquerade: {{ .Values.enableIPv6Masquerade | quote }}
709-
enable-tunnel-big-tcp: {{ .Values.enableTunnelBIGTCP | quote }}
710712

711713
{{- if hasKey .Values.bpf "enableTCX" }}
712714
enable-tcx: {{ .Values.bpf.enableTCX | quote }}
@@ -906,9 +908,9 @@ data:
906908
{{- end }}
907909
{{- if hasKey .Values.loadBalancer "serviceTopology" }}
908910
enable-service-topology: {{ .Values.loadBalancer.serviceTopology | quote }}
909-
# {{- end }}
910-
911911
{{- end }}
912+
{{- end }}
913+
912914
{{- if hasKey .Values.maglev "tableSize" }}
913915
bpf-lb-maglev-table-size: {{ .Values.maglev.tableSize | quote}}
914916
{{- end }}
@@ -1380,11 +1382,7 @@ data:
13801382

13811383
{{- if .Values.operator.unmanagedPodWatcher.restart }}
13821384
{{- $interval := .Values.operator.unmanagedPodWatcher.intervalSeconds }}
1383-
{{- if kindIs "float64" $interval }}
13841385
unmanaged-pod-watcher-interval: {{ printf "%ds" (int $interval) | quote }}
1385-
{{- else }}
1386-
unmanaged-pod-watcher-interval: {{ $interval | quote }}
1387-
{{- end }}
13881386
{{- else }}
13891387
unmanaged-pod-watcher-interval: "0"
13901388
{{- end }}
@@ -1517,6 +1515,14 @@ data:
15171515
connectivity-probe-frequency-ratio: {{ .Values.connectivityProbeFrequencyRatio | quote }}
15181516
{{- end }}
15191517

1518+
{{- if hasKey .Values "configDriftDetection" }}
1519+
enable-dynamic-config: {{ .Values.configDriftDetection.enabled | quote }}
1520+
enable-drift-checker: {{ .Values.configDriftDetection.driftChecker | quote }}
1521+
{{- if .Values.configDriftDetection.ignoredKeys }}
1522+
ignore-flags-drift-checker: {{ join "," .Values.configDriftDetection.ignoredKeys | quote }}
1523+
{{- end }}
1524+
{{- end }}
1525+
15201526
# Extra config allows adding arbitrary properties to the cilium config.
15211527
# By putting it at the end of the ConfigMap, it's also possible to override existing properties.
15221528
{{- if .Values.extraConfig }}

‎packages/system/cilium/charts/cilium/templates/cilium-operator/clusterrole.yaml‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,15 @@ rules:
407407
verbs:
408408
- update
409409
- patch
410+
- apiGroups:
411+
- multicluster.x-k8s.io
412+
resources:
413+
# The controller needs to be able to set serviceimport finalizers to be able to create a derived Service
414+
# resource that is owned by the ServiceImport and sets blockOwnerDeletion=true in its ownerRef.
415+
# This is required when the admission plugin OwnerReferencesPermissionEnforcement is activated.
416+
- serviceimports/finalizers
417+
verbs:
418+
- update
410419
- apiGroups:
411420
- multicluster.x-k8s.io
412421
resources:
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
{{- if and .Values.encryption.enabled (eq .Values.encryption.type "ztunnel") }}
2+
---
3+
kind: DaemonSet
4+
apiVersion: apps/v1
5+
metadata:
6+
name: ztunnel-cilium
7+
namespace: {{ include "cilium.namespace" . }}
8+
{{- with .Values.encryption.ztunnel.annotations }}
9+
annotations:
10+
{{- toYaml . | nindent 4 }}
11+
{{- end }}
12+
labels:
13+
app: ztunnel-cilium
14+
app.kubernetes.io/part-of: cilium
15+
app.kubernetes.io/name: ztunnel-cilium
16+
{{- with .Values.commonLabels }}
17+
{{- toYaml . | nindent 4 }}
18+
{{- end }}
19+
spec:
20+
revisionHistoryLimit: 10
21+
selector:
22+
matchLabels:
23+
app: ztunnel-cilium
24+
{{- with .Values.encryption.ztunnel.updateStrategy }}
25+
updateStrategy:
26+
{{- toYaml . | trim | nindent 4 }}
27+
{{- end }}
28+
template:
29+
metadata:
30+
annotations:
31+
sidecar.istio.io/inject: "false"
32+
{{- with .Values.encryption.ztunnel.podAnnotations }}
33+
{{- toYaml . | nindent 8 }}
34+
{{- end }}
35+
labels:
36+
app: ztunnel-cilium
37+
app.kubernetes.io/part-of: cilium
38+
app.kubernetes.io/name: ztunnel-cilium
39+
{{- with .Values.commonLabels }}
40+
{{- toYaml . | nindent 8 }}
41+
{{- end }}
42+
{{- with .Values.encryption.ztunnel.podLabels }}
43+
{{- toYaml . | nindent 8 }}
44+
{{- end }}
45+
spec:
46+
{{- with .Values.imagePullSecrets }}
47+
imagePullSecrets:
48+
{{- toYaml . | nindent 8 }}
49+
{{- end }}
50+
hostNetwork: true
51+
dnsPolicy: ClusterFirst
52+
containers:
53+
- name: istio-proxy
54+
image: {{ include "cilium.image" .Values.encryption.ztunnel.image | quote }}
55+
imagePullPolicy: {{ .Values.encryption.ztunnel.image.pullPolicy }}
56+
args:
57+
- proxy
58+
- ztunnel
59+
env:
60+
- name: XDS_ADDRESS
61+
value: "https://localhost:15012"
62+
- name: XDS_ROOT_CA
63+
value: "/etc/ztunnel/bootstrap-root.crt"
64+
- name: CA_ROOT_CA
65+
value: "/etc/ztunnel/bootstrap-root.crt"
66+
- name: CA_ADDRESS
67+
value: {{ .Values.encryption.ztunnel.caAddress | quote }}
68+
- name: ISTIO_META_DNS_CAPTURE
69+
value: "false"
70+
- name: INPOD_UDS
71+
value: "/var/run/cilium/ztunnel.sock"
72+
- name: NODE_NAME
73+
valueFrom:
74+
fieldRef:
75+
apiVersion: v1
76+
fieldPath: status.hostIP
77+
- name: INSTANCE_IP
78+
valueFrom:
79+
fieldRef:
80+
apiVersion: v1
81+
fieldPath: status.podIP
82+
- name: ISTIO_META_ENABLE_HBONE
83+
value: "true"
84+
{{- with .Values.encryption.ztunnel.extraEnv }}
85+
{{- toYaml . | trim | nindent 12 }}
86+
{{- end }}
87+
readinessProbe:
88+
httpGet:
89+
path: /healthz/ready
90+
port: {{ .Values.encryption.ztunnel.healthPort }}
91+
host: "127.0.0.1"
92+
scheme: HTTP
93+
initialDelaySeconds: {{ .Values.encryption.ztunnel.readinessProbe.initialDelaySeconds }}
94+
periodSeconds: {{ .Values.encryption.ztunnel.readinessProbe.periodSeconds }}
95+
failureThreshold: {{ .Values.encryption.ztunnel.readinessProbe.failureThreshold }}
96+
successThreshold: 1
97+
timeoutSeconds: 1
98+
{{- with .Values.encryption.ztunnel.resources }}
99+
resources:
100+
{{- toYaml . | trim | nindent 12 }}
101+
{{- end }}
102+
securityContext:
103+
allowPrivilegeEscalation: true
104+
capabilities:
105+
add:
106+
- NET_ADMIN
107+
- SYS_ADMIN
108+
- NET_RAW
109+
drop:
110+
- ALL
111+
privileged: false
112+
readOnlyRootFilesystem: true
113+
runAsGroup: 1337
114+
runAsNonRoot: false
115+
runAsUser: 0
116+
terminationMessagePath: /dev/termination-log
117+
terminationMessagePolicy: File
118+
volumeMounts:
119+
- mountPath: /var/run/cilium
120+
name: cilium-dir
121+
readOnly: false
122+
- mountPath: /etc/ztunnel
123+
name: cilium-ztunnel-secrets
124+
readOnly: true
125+
{{- with .Values.encryption.ztunnel.extraVolumeMounts }}
126+
{{- toYaml . | nindent 12 }}
127+
{{- end }}
128+
{{- with .Values.encryption.ztunnel.affinity }}
129+
affinity:
130+
{{- toYaml . | nindent 8 }}
131+
{{- end }}
132+
{{- with .Values.encryption.ztunnel.nodeSelector }}
133+
nodeSelector:
134+
{{- toYaml . | trim | nindent 8 }}
135+
{{- end }}
136+
{{- with .Values.encryption.ztunnel.tolerations }}
137+
tolerations:
138+
{{- toYaml . | trim | nindent 8 }}
139+
{{- end }}
140+
priorityClassName: {{ include "cilium.priorityClass" (list $ .Values.encryption.ztunnel.priorityClassName "system-node-critical") }}
141+
restartPolicy: Always
142+
terminationGracePeriodSeconds: {{ .Values.encryption.ztunnel.terminationGracePeriodSeconds }}
143+
{{- if .Values.serviceAccounts.ztunnel.create }}
144+
serviceAccountName: {{ .Values.serviceAccounts.ztunnel.name | quote }}
145+
automountServiceAccountToken: {{ .Values.serviceAccounts.ztunnel.automount }}
146+
{{- else }}
147+
automountServiceAccountToken: false
148+
{{- end }}
149+
volumes:
150+
- name: cilium-dir
151+
hostPath:
152+
path: /var/run/cilium
153+
type: DirectoryOrCreate
154+
- name: cilium-ztunnel-secrets
155+
secret:
156+
secretName: cilium-ztunnel-secrets
157+
defaultMode: 420
158+
items:
159+
- key: bootstrap-root.crt
160+
path: bootstrap-root.crt
161+
mode: 420
162+
{{- with .Values.encryption.ztunnel.extraVolumes }}
163+
{{- toYaml . | nindent 8 }}
164+
{{- end }}
165+
{{- end }}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{{- if and .Values.encryption.enabled (eq .Values.encryption.type "ztunnel") }}
2+
{{- if .Values.encryption.ztunnel.secrets.bootstrapRootCert }}
3+
---
4+
apiVersion: v1
5+
kind: Secret
6+
metadata:
7+
name: cilium-ztunnel-secrets
8+
namespace: {{ include "cilium.namespace" . }}
9+
{{- with .Values.encryption.ztunnel.annotations }}
10+
annotations:
11+
{{- toYaml . | nindent 4 }}
12+
{{- end }}
13+
labels:
14+
app.kubernetes.io/part-of: cilium
15+
app.kubernetes.io/name: ztunnel-cilium
16+
{{- with .Values.commonLabels }}
17+
{{- toYaml . | nindent 4 }}
18+
{{- end }}
19+
type: Opaque
20+
data:
21+
bootstrap-root.crt: {{ .Values.encryption.ztunnel.secrets.bootstrapRootCert | b64enc }}
22+
{{- end }}
23+
{{- end }}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{{- if and .Values.encryption.enabled (eq .Values.encryption.type "ztunnel") .Values.serviceAccounts.ztunnel.create }}
2+
---
3+
apiVersion: v1
4+
kind: ServiceAccount
5+
metadata:
6+
name: {{ .Values.serviceAccounts.ztunnel.name | quote }}
7+
namespace: {{ include "cilium.namespace" . }}
8+
{{- with .Values.commonLabels }}
9+
labels:
10+
{{- toYaml . | nindent 4 }}
11+
{{- end }}
12+
{{- if or .Values.serviceAccounts.ztunnel.annotations .Values.encryption.ztunnel.annotations }}
13+
annotations:
14+
{{- with .Values.encryption.ztunnel.annotations }}
15+
{{- toYaml . | nindent 4 }}
16+
{{- end }}
17+
{{- with .Values.serviceAccounts.ztunnel.annotations }}
18+
{{- toYaml . | nindent 4 }}
19+
{{- end }}
20+
{{- end }}
21+
{{- end }}

0 commit comments

Comments
 (0)