This is an automated email from the ASF dual-hosted git repository.

jscheffl pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new efef218967e Add workers.celery.kerberosSidecar & 
workers.kubernetes.kerberosSidecar sections (#61881)
efef218967e is described below

commit efef218967e2b6dbbed027c3dee0f368d48da067
Author: Przemysław Mirowski <[email protected]>
AuthorDate: Fri Mar 6 16:39:12 2026 +0100

    Add workers.celery.kerberosSidecar & workers.kubernetes.kerberosSidecar 
sections (#61881)
    
    * Add workers.celery.kerberosSidecar & workers.kubernetes.kerberosSidecar
    
    * Misc
---
 chart/files/pod-template-file.kubernetes-helm-yaml |  14 +-
 chart/templates/_helpers.yaml                      |  13 +-
 chart/templates/workers/worker-deployment.yaml     |   2 +-
 chart/templates/workers/worker-hpa.yaml            |   2 +-
 chart/templates/workers/worker-kedaautoscaler.yaml |   2 +-
 chart/templates/workers/worker-networkpolicy.yaml  |   2 +-
 .../workers/worker-poddisruptionbudget.yaml        |   2 +-
 chart/templates/workers/worker-service.yaml        |   2 +-
 chart/templates/workers/worker-serviceaccount.yaml |   2 +-
 chart/values.schema.json                           | 174 ++++++++++++++++++-
 chart/values.yaml                                  |  42 +++++
 .../helm_tests/airflow_aux/test_airflow_common.py  |  12 +-
 .../airflow_aux/test_container_lifecycle.py        |  74 ++++++--
 .../airflow_aux/test_pod_template_file.py          | 186 ++++++++++++++++++++-
 .../tests/helm_tests/airflow_core/test_worker.py   |  12 +-
 .../helm_tests/airflow_core/test_worker_sets.py    |  83 ++++++++-
 .../tests/helm_tests/security/test_kerberos.py     |  74 +++++---
 .../helm_tests/security/test_security_context.py   |  39 ++++-
 18 files changed, 654 insertions(+), 83 deletions(-)

diff --git a/chart/files/pod-template-file.kubernetes-helm-yaml 
b/chart/files/pod-template-file.kubernetes-helm-yaml
index 088cf55ec6a..4fa1413037e 100644
--- a/chart/files/pod-template-file.kubernetes-helm-yaml
+++ b/chart/files/pod-template-file.kubernetes-helm-yaml
@@ -22,8 +22,8 @@
 {{- $tolerations := or .Values.workers.tolerations .Values.tolerations }}
 {{- $topologySpreadConstraints := or .Values.workers.topologySpreadConstraints 
.Values.topologySpreadConstraints }}
 {{- $securityContext := include "airflowPodSecurityContext" (list 
.Values.workers.kubernetes .Values.workers .Values) }}
-{{- $containerSecurityContextKerberosSidecar := include 
"containerSecurityContext" (list .Values.workers.kerberosSidecar .Values) }}
-{{- $containerLifecycleHooksKerberosSidecar := or 
.Values.workers.kerberosSidecar.containerLifecycleHooks 
.Values.containerLifecycleHooks }}
+{{- $containerSecurityContextKerberosSidecar := include 
"containerSecurityContext" (list .Values.workers.kubernetes.kerberosSidecar 
.Values.workers.kerberosSidecar .Values) }}
+{{- $containerLifecycleHooksKerberosSidecar := or 
.Values.workers.kubernetes.kerberosSidecar.containerLifecycleHooks 
.Values.workers.kerberosSidecar.containerLifecycleHooks 
.Values.containerLifecycleHooks }}
 {{- $containerSecurityContextKerberosInitContainer := include 
"containerSecurityContext" (list 
.Values.workers.kubernetes.kerberosInitContainer 
.Values.workers.kerberosInitContainer .Values) }}
 {{- $containerLifecycleHooksKerberosInitContainer := or 
.Values.workers.kubernetes.kerberosInitContainer.containerLifecycleHooks 
.Values.workers.kerberosInitContainer.containerLifecycleHooks 
.Values.containerLifecycleHooks }}
 {{- $containerSecurityContext := include "containerSecurityContext" (list 
.Values.workers.kubernetes .Values.workers .Values) }}
@@ -112,7 +112,7 @@ spec:
       env:
         - name: AIRFLOW__CORE__EXECUTOR
           value: {{ .Values.executor | quote }}
-        {{- if or .Values.workers.kerberosSidecar.enabled 
.Values.workers.kubernetes.kerberosInitContainer.enabled 
.Values.workers.kerberosInitContainer.enabled }}
+        {{- if or .Values.workers.kubernetes.kerberosSidecar.enabled 
.Values.workers.kerberosSidecar.enabled 
.Values.workers.kubernetes.kerberosInitContainer.enabled 
.Values.workers.kerberosInitContainer.enabled }}
         - name: KRB5_CONFIG
           value:  {{ .Values.kerberos.configPath | quote }}
         - name: KRB5CCNAME
@@ -161,7 +161,7 @@ spec:
           mountPath: {{ .Values.kerberos.ccacheMountPath | quote }}
           readOnly: true
         {{- end }}
-    {{- if .Values.workers.kerberosSidecar.enabled }}
+    {{- if or .Values.workers.kubernetes.kerberosSidecar.enabled 
.Values.workers.kerberosSidecar.enabled }}
     - name: worker-kerberos
       image: {{ template "airflow_image" . }}
       imagePullPolicy: {{ .Values.images.airflow.pullPolicy }}
@@ -170,7 +170,7 @@ spec:
       lifecycle: {{- tpl (toYaml $containerLifecycleHooksKerberosSidecar) . | 
nindent 8 }}
       {{- end }}
       args: ["kerberos"]
-      resources: {{- toYaml .Values.workers.kerberosSidecar.resources | 
nindent 8 }}
+      resources: {{- toYaml 
(.Values.workers.kubernetes.kerberosSidecar.resources | default 
.Values.workers.kerberosSidecar.resources) | nindent 8 }}
       volumeMounts:
         - name: logs
           mountPath: {{ template "airflow_logs" . }}
@@ -261,13 +261,13 @@ spec:
       name: {{ include "airflow_config" . }}
     name: config
   {{- if semverCompare ">=3.0.0" .Values.airflowVersion }}
-    {{- if and (or .Values.apiServer.apiServerConfig 
.Values.apiServer.apiServerConfigConfigMapName) (or 
.Values.workers.kubernetes.kerberosInitContainer.enabled 
.Values.workers.kerberosInitContainer.enabled 
.Values.workers.kerberosSidecar.enabled) }}
+    {{- if and (or .Values.apiServer.apiServerConfig 
.Values.apiServer.apiServerConfigConfigMapName) (or 
.Values.workers.kubernetes.kerberosInitContainer.enabled 
.Values.workers.kerberosInitContainer.enabled 
.Values.workers.kubernetes.kerberosSidecar.enabled 
.Values.workers.kerberosSidecar.enabled) }}
   - name: api-server-config
     configMap:
       name: {{ template "airflow_api_server_config_configmap_name" . }}
     {{- end }}
   {{- else }}
-    {{- if and (or .Values.webserver.webserverConfig 
.Values.webserver.webserverConfigConfigMapName) (or 
.Values.workers.kubernetes.kerberosInitContainer.enabled 
.Values.workers.kerberosInitContainer.enabled 
.Values.workers.kerberosSidecar.enabled) }}
+    {{- if and (or .Values.webserver.webserverConfig 
.Values.webserver.webserverConfigConfigMapName) (or 
.Values.workers.kubernetes.kerberosInitContainer.enabled 
.Values.workers.kerberosInitContainer.enabled 
.Values.workers.kubernetes.kerberosSidecar.enabled 
.Values.workers.kerberosSidecar.enabled) }}
   - name: webserver-config
     configMap:
       name: {{ template "airflow_webserver_config_configmap_name" . }}
diff --git a/chart/templates/_helpers.yaml b/chart/templates/_helpers.yaml
index ceb0041a7b7..f3f92a87c42 100644
--- a/chart/templates/_helpers.yaml
+++ b/chart/templates/_helpers.yaml
@@ -646,7 +646,6 @@ server_tls_key_file = /etc/pgbouncer/server.key
   {{- include "_serviceAccountName" (merge (dict "key" "webserver") .) -}}
 {{- end }}
 
-
 {{/* Create the name of the API server service account to use */}}
 {{- define "apiServer.serviceAccountName" -}}
   {{- include "_serviceAccountName" (merge (dict "key" "apiServer" 
"nameSuffix" "api-server" ) .) -}}
@@ -902,9 +901,9 @@ Where `.` is the global variables scope and 
`.Values.workers` the local variable
 Set the default value for container securityContext
 If no value is passed for securityContexts.container or 
<node>.securityContexts.container, defaults to deny privileges escallation and 
dropping all POSIX capabilities.
 
-    +-----------------------------------+      +----------------------------+  
    +-----------------------------------------------------------+
-    | <node>.securityContexts.container |  ->  | securityContexts.containers | 
 ->  | allowPrivilegesEscalation: false, capabilities.drop: [ALL]|
-    +-----------------------------------+      +----------------------------+  
    +-----------------------------------------------------------+
+    +-----------------------------------+      +-----------------------------+ 
     +------------------------------------------------------------+
+    | <node>.securityContexts.container |  ->  | securityContexts.containers | 
 ->  | allowPrivilegesEscalation: false, capabilities.drop: [ALL] |
+    +-----------------------------------+      +-----------------------------+ 
     +------------------------------------------------------------+
 
 The template can be called like so:
    include "containerSecurityContext" (list .Values.webserver .Values)
@@ -937,9 +936,9 @@ capabilities:
 Set the default value for external container securityContext(redis and statsd).
 If no value is passed for <node>.securityContexts.container, defaults to deny 
privileges escallation and dropping all POSIX capabilities.
 
-    +-----------------------------------+      
+-----------------------------------------------------------+
-    | <node>.securityContexts.container |  ->  | allowPrivilegesEscalation: 
false, capabilities.drop: [ALL]|
-    +-----------------------------------+      
+-----------------------------------------------------------+
+    +-----------------------------------+      
+------------------------------------------------------------+
+    | <node>.securityContexts.container |  ->  | allowPrivilegesEscalation: 
false, capabilities.drop: [ALL] |
+    +-----------------------------------+      
+------------------------------------------------------------+
 
 The template can be called like so:
   include "externalContainerSecurityContext" .Values.statsd
diff --git a/chart/templates/workers/worker-deployment.yaml 
b/chart/templates/workers/worker-deployment.yaml
index 920e01895c1..4d44c4fa824 100644
--- a/chart/templates/workers/worker-deployment.yaml
+++ b/chart/templates/workers/worker-deployment.yaml
@@ -22,7 +22,7 @@
 #################################
 {{- $globals := deepCopy . -}}
 {{- $filteredCelery := include "removeNilFields" .Values.workers.celery | 
fromYaml -}}
-{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer")) | fromYaml) -}}
+{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer" "kerberosSidecar")) | 
fromYaml) -}}
 {{- $_ := unset $mergedWorkers "celery" -}}
 {{- $workerSets := .Values.workers.celery.sets | default list -}}
 {{- if .Values.workers.celery.enableDefault -}}
diff --git a/chart/templates/workers/worker-hpa.yaml 
b/chart/templates/workers/worker-hpa.yaml
index 6fe4fd3cb4e..99dd5a29468 100644
--- a/chart/templates/workers/worker-hpa.yaml
+++ b/chart/templates/workers/worker-hpa.yaml
@@ -22,7 +22,7 @@
 #################################
 {{- $globals := deepCopy . -}}
 {{- $filteredCelery := include "removeNilFields" .Values.workers.celery | 
fromYaml -}}
-{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer")) | fromYaml) -}}
+{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer" "kerberosSidecar")) | 
fromYaml) -}}
 {{- $_ := unset $mergedWorkers "celery" -}}
 {{- $workerSets := .Values.workers.celery.sets | default list -}}
 {{- if .Values.workers.celery.enableDefault -}}
diff --git a/chart/templates/workers/worker-kedaautoscaler.yaml 
b/chart/templates/workers/worker-kedaautoscaler.yaml
index 32b2ea87d3d..dac8991c4d7 100644
--- a/chart/templates/workers/worker-kedaautoscaler.yaml
+++ b/chart/templates/workers/worker-kedaautoscaler.yaml
@@ -22,7 +22,7 @@
 #################################
 {{- $globals := deepCopy . -}}
 {{- $filteredCelery := include "removeNilFields" .Values.workers.celery | 
fromYaml -}}
-{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer")) | fromYaml) -}}
+{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer" "kerberosSidecar")) | 
fromYaml) -}}
 {{- $_ := unset $mergedWorkers "celery" -}}
 {{- $workerSets := .Values.workers.celery.sets | default list -}}
 {{- if .Values.workers.celery.enableDefault -}}
diff --git a/chart/templates/workers/worker-networkpolicy.yaml 
b/chart/templates/workers/worker-networkpolicy.yaml
index 09fb4c0484d..814a183d524 100644
--- a/chart/templates/workers/worker-networkpolicy.yaml
+++ b/chart/templates/workers/worker-networkpolicy.yaml
@@ -22,7 +22,7 @@
 #################################
 {{- $globals := deepCopy . -}}
 {{- $filteredCelery := include "removeNilFields" .Values.workers.celery | 
fromYaml -}}
-{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer")) | fromYaml) -}}
+{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer" "kerberosSidecar")) | 
fromYaml) -}}
 {{- $_ := unset $mergedWorkers "celery" -}}
 {{- $workerSets := .Values.workers.celery.sets | default list -}}
 {{- if .Values.workers.celery.enableDefault -}}
diff --git a/chart/templates/workers/worker-poddisruptionbudget.yaml 
b/chart/templates/workers/worker-poddisruptionbudget.yaml
index a56eaa1f04a..8aed138c3be 100644
--- a/chart/templates/workers/worker-poddisruptionbudget.yaml
+++ b/chart/templates/workers/worker-poddisruptionbudget.yaml
@@ -22,7 +22,7 @@
 #################################
 {{- $globals := deepCopy . -}}
 {{- $filteredCelery := include "removeNilFields" .Values.workers.celery | 
fromYaml -}}
-{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer")) | fromYaml) -}}
+{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer" "kerberosSidecar")) | 
fromYaml) -}}
 {{- $_ := unset $mergedWorkers "celery" -}}
 {{- $workerSets := .Values.workers.celery.sets | default list -}}
 {{- if .Values.workers.celery.enableDefault -}}
diff --git a/chart/templates/workers/worker-service.yaml 
b/chart/templates/workers/worker-service.yaml
index ed77ea0a2f0..367ebcb496f 100644
--- a/chart/templates/workers/worker-service.yaml
+++ b/chart/templates/workers/worker-service.yaml
@@ -22,7 +22,7 @@
 #################################
 {{- $globals := deepCopy . -}}
 {{- $filteredCelery := include "removeNilFields" .Values.workers.celery | 
fromYaml -}}
-{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer")) | fromYaml) -}}
+{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer" "kerberosSidecar")) | 
fromYaml) -}}
 {{- $_ := unset $mergedWorkers "celery" -}}
 {{- $workerSets := .Values.workers.celery.sets | default list -}}
 {{- if .Values.workers.celery.enableDefault -}}
diff --git a/chart/templates/workers/worker-serviceaccount.yaml 
b/chart/templates/workers/worker-serviceaccount.yaml
index f1a9a27eac7..c1f4d6f816f 100644
--- a/chart/templates/workers/worker-serviceaccount.yaml
+++ b/chart/templates/workers/worker-serviceaccount.yaml
@@ -22,7 +22,7 @@
 #################################
 {{- $globals := deepCopy . -}}
 {{- $filteredCelery := include "removeNilFields" .Values.workers.celery | 
fromYaml -}}
-{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer")) | fromYaml) -}}
+{{- $mergedWorkers := (include "workersMergeValues" (list .Values.workers 
$filteredCelery "" (list "kerberosInitContainer" "kerberosSidecar")) | 
fromYaml) -}}
 {{- $_ := unset $mergedWorkers "celery" -}}
 {{- $workerSets := .Values.workers.celery.sets | default list -}}
 {{- if .Values.workers.celery.enableDefault -}}
diff --git a/chart/values.schema.json b/chart/values.schema.json
index 8b494c285d2..74d931666da 100644
--- a/chart/values.schema.json
+++ b/chart/values.schema.json
@@ -2063,7 +2063,7 @@
                     }
                 },
                 "kerberosSidecar": {
-                    "description": "Kerberos sidecar for Airflow Celery 
workers and pods created with pod-template-file.",
+                    "description": "Kerberos sidecar for Airflow Celery 
workers and pods created with pod-template-file. Use 
`workers.celery.kerberosSidecar` and/or `workers.kubernetes.kerberosSidecar` to 
separate value between Celery workers and pod-template-file",
                     "type": "object",
                     "additionalProperties": false,
                     "properties": {
@@ -3086,6 +3086,92 @@
                                 }
                             }
                         },
+                        "kerberosSidecar": {
+                            "description": "Kerberos sidecar for Airflow 
Celery workers.",
+                            "type": "object",
+                            "additionalProperties": false,
+                            "properties": {
+                                "enabled": {
+                                    "description": "Enable Kerberos sidecar.",
+                                    "type": [
+                                        "boolean",
+                                        "null"
+                                    ],
+                                    "default": null
+                                },
+                                "resources": {
+                                    "description": "Resources on kerberos 
sidecar.",
+                                    "type": "object",
+                                    "default": {},
+                                    "examples": [
+                                        {
+                                            "limits": {
+                                                "cpu": "100m",
+                                                "memory": "128Mi"
+                                            },
+                                            "requests": {
+                                                "cpu": "100m",
+                                                "memory": "128Mi"
+                                            }
+                                        }
+                                    ],
+                                    "$ref": 
"#/definitions/io.k8s.api.core.v1.ResourceRequirements"
+                                },
+                                "containerLifecycleHooks": {
+                                    "description": "Container Lifecycle Hooks 
definition for the kerberos sidecar. If not set, the values from 
`workers.containerLifecycleHooks` will be used.",
+                                    "type": "object",
+                                    "$ref": 
"#/definitions/io.k8s.api.core.v1.Lifecycle",
+                                    "default": {},
+                                    "x-docsSection": "Kubernetes",
+                                    "examples": [
+                                        {
+                                            "postStart": {
+                                                "exec": {
+                                                    "command": [
+                                                        "/bin/sh",
+                                                        "-c",
+                                                        "echo postStart 
handler > /usr/share/message"
+                                                    ]
+                                                }
+                                            },
+                                            "preStop": {
+                                                "exec": {
+                                                    "command": [
+                                                        "/bin/sh",
+                                                        "-c",
+                                                        "echo preStop handler 
> /usr/share/message"
+                                                    ]
+                                                }
+                                            }
+                                        }
+                                    ]
+                                },
+                                "securityContexts": {
+                                    "description": "Security context 
definition for the kerberos sidecar. If not set, the values from 
`workers.securityContexts` will be used.",
+                                    "type": "object",
+                                    "x-docsSection": "Kubernetes",
+                                    "properties": {
+                                        "container": {
+                                            "description": "Container security 
context definition for the kerberos sidecar.",
+                                            "type": "object",
+                                            "$ref": 
"#/definitions/io.k8s.api.core.v1.SecurityContext",
+                                            "default": {},
+                                            "x-docsSection": "Kubernetes",
+                                            "examples": [
+                                                {
+                                                    
"allowPrivilegeEscalation": false,
+                                                    "capabilities": {
+                                                        "drop": [
+                                                            "ALL"
+                                                        ]
+                                                    }
+                                                }
+                                            ]
+                                        }
+                                    }
+                                }
+                            }
+                        },
                         "kerberosInitContainer": {
                             "description": "Kerberos init container for 
Airflow Celery workers.",
                             "type": "object",
@@ -3255,6 +3341,92 @@
                                 }
                             ]
                         },
+                        "kerberosSidecar": {
+                            "description": "Kerberos sidecar for pods created 
with pod-template-file.",
+                            "type": "object",
+                            "additionalProperties": false,
+                            "properties": {
+                                "enabled": {
+                                    "description": "Enable Kerberos sidecar.",
+                                    "type": [
+                                        "boolean",
+                                        "null"
+                                    ],
+                                    "default": null
+                                },
+                                "resources": {
+                                    "description": "Resources on kerberos 
sidecar.",
+                                    "type": "object",
+                                    "default": {},
+                                    "examples": [
+                                        {
+                                            "limits": {
+                                                "cpu": "100m",
+                                                "memory": "128Mi"
+                                            },
+                                            "requests": {
+                                                "cpu": "100m",
+                                                "memory": "128Mi"
+                                            }
+                                        }
+                                    ],
+                                    "$ref": 
"#/definitions/io.k8s.api.core.v1.ResourceRequirements"
+                                },
+                                "containerLifecycleHooks": {
+                                    "description": "Container Lifecycle Hooks 
definition for the kerberos sidecar. If not set, the values from 
`workers.containerLifecycleHooks` will be used.",
+                                    "type": "object",
+                                    "$ref": 
"#/definitions/io.k8s.api.core.v1.Lifecycle",
+                                    "default": {},
+                                    "x-docsSection": "Kubernetes",
+                                    "examples": [
+                                        {
+                                            "postStart": {
+                                                "exec": {
+                                                    "command": [
+                                                        "/bin/sh",
+                                                        "-c",
+                                                        "echo postStart 
handler > /usr/share/message"
+                                                    ]
+                                                }
+                                            },
+                                            "preStop": {
+                                                "exec": {
+                                                    "command": [
+                                                        "/bin/sh",
+                                                        "-c",
+                                                        "echo preStop handler 
> /usr/share/message"
+                                                    ]
+                                                }
+                                            }
+                                        }
+                                    ]
+                                },
+                                "securityContexts": {
+                                    "description": "Security context 
definition for the kerberos sidecar. If not set, the values from 
`workers.securityContexts` will be used.",
+                                    "type": "object",
+                                    "x-docsSection": "Kubernetes",
+                                    "properties": {
+                                        "container": {
+                                            "description": "Container security 
context definition for the kerberos sidecar.",
+                                            "type": "object",
+                                            "$ref": 
"#/definitions/io.k8s.api.core.v1.SecurityContext",
+                                            "default": {},
+                                            "x-docsSection": "Kubernetes",
+                                            "examples": [
+                                                {
+                                                    
"allowPrivilegeEscalation": false,
+                                                    "capabilities": {
+                                                        "drop": [
+                                                            "ALL"
+                                                        ]
+                                                    }
+                                                }
+                                            ]
+                                        }
+                                    }
+                                }
+                            }
+                        },
                         "kerberosInitContainer": {
                             "description": "Kerberos init container for pods 
created with pod-template-file.",
                             "type": "object",
diff --git a/chart/values.yaml b/chart/values.yaml
index 4f85bd83fb8..255db1700bc 100644
--- a/chart/values.yaml
+++ b/chart/values.yaml
@@ -854,6 +854,8 @@ workers:
       container: {}
 
   # Kerberos sidecar configuration for Airflow Celery workers and pods created 
with pod-template-file
+  # Use workers.celery.kerberosSidecar and/or 
workers.kubernetes.kerberosSidecar to separate
+  # value between Celery workers and pod-template-file
   kerberosSidecar:
     # Enable kerberos sidecar
     enabled: false
@@ -1202,6 +1204,26 @@ workers:
       securityContexts:
         container: {}
 
+    # Kerberos sidecar configuration for Airflow Celery workers
+    kerberosSidecar:
+      # Enable kerberos sidecar
+      enabled: ~
+
+      resources: {}
+      #  limits:
+      #   cpu: 100m
+      #   memory: 128Mi
+      #  requests:
+      #   cpu: 100m
+      #   memory: 128Mi
+
+      # Detailed default security context for kerberos sidecar on container 
level
+      securityContexts:
+        container: {}
+
+      # Container level lifecycle hooks
+      containerLifecycleHooks: {}
+
     # Kerberos init container configuration for Airflow Celery workers
     # If not set, the values from `workers.kubernetesInitContainer` section 
will be used.
     kerberosInitContainer:
@@ -1237,6 +1259,26 @@ workers:
     # Container level Lifecycle Hooks definition for pods created with 
pod-template-file
     containerLifecycleHooks: {}
 
+    # Kerberos sidecar configuration for pods created with pod-template-file
+    kerberosSidecar:
+      # Enable kerberos sidecar
+      enabled: ~
+
+      resources: {}
+      #  limits:
+      #   cpu: 100m
+      #   memory: 128Mi
+      #  requests:
+      #   cpu: 100m
+      #   memory: 128Mi
+
+      # Detailed default security context for kerberos sidecar on container 
level
+      securityContexts:
+        container: {}
+
+      # Container level lifecycle hooks
+      containerLifecycleHooks: {}
+
     # Kerberos init container configuration for pods created with 
pod-template-file
     # If not set, the values from `workers.kubernetesInitContainer` section 
will be used.
     kerberosInitContainer:
diff --git a/helm-tests/tests/helm_tests/airflow_aux/test_airflow_common.py 
b/helm-tests/tests/helm_tests/airflow_aux/test_airflow_common.py
index 455c59456a7..c5eac7ce2c7 100644
--- a/helm-tests/tests/helm_tests/airflow_aux/test_airflow_common.py
+++ b/helm-tests/tests/helm_tests/airflow_aux/test_airflow_common.py
@@ -146,7 +146,15 @@ class TestAirflowCommon:
         for doc in docs:
             assert expected_mount in 
jmespath.search("spec.template.spec.containers[0].volumeMounts", doc)
 
-    def test_webserver_config_configmap_name_volume_mounts(self):
+    @pytest.mark.parametrize(
+        "workers_values",
+        [
+            {"kerberosSidecar": {"enabled": True}},
+            {"celery": {"kerberosSidecar": {"enabled": True}}},
+            {"kerberosSidecar": {"enabled": True}, "celery": 
{"kerberosSidecar": {"enabled": False}}},
+        ],
+    )
+    def test_webserver_config_configmap_name_volume_mounts(self, 
workers_values):
         configmap_name = "my-configmap"
         docs = render_chart(
             values={
@@ -154,7 +162,7 @@ class TestAirflowCommon:
                     "webserverConfig": "CSRF_ENABLED = True  # {{ 
.Release.Name }}",
                     "webserverConfigConfigMapName": configmap_name,
                 },
-                "workers": {"kerberosSidecar": {"enabled": True}},
+                "workers": workers_values,
             },
             show_only=[
                 "templates/scheduler/scheduler-deployment.yaml",
diff --git 
a/helm-tests/tests/helm_tests/airflow_aux/test_container_lifecycle.py 
b/helm-tests/tests/helm_tests/airflow_aux/test_container_lifecycle.py
index 6ed68d6abe1..04bef2de7df 100644
--- a/helm-tests/tests/helm_tests/airflow_aux/test_container_lifecycle.py
+++ b/helm-tests/tests/helm_tests/airflow_aux/test_container_lifecycle.py
@@ -193,25 +193,75 @@ class TestContainerLifecycleHooks:
         )
 
     # Test container lifecycle hooks for worker-kerberos main container
-    @pytest.mark.parametrize("hook_type", ["preStop", "postStart"])
-    def test_worker_kerberos_container_setting(self, hook_type):
-        docs = render_chart(
-            name=RELEASE_NAME,
-            values={
-                "workers": {
+    @pytest.mark.parametrize(
+        ("workers_values", "expected_hook_type"),
+        [
+            (
+                {
                     "kerberosSidecar": {
                         "enabled": True,
-                        "containerLifecycleHooks": {hook_type: 
LIFECYCLE_TEMPLATE},
+                        "containerLifecycleHooks": {"preStop": 
LIFECYCLE_TEMPLATE},
                     }
                 },
-            },
+                "preStop",
+            ),
+            (
+                {
+                    "kerberosSidecar": {
+                        "enabled": True,
+                        "containerLifecycleHooks": {"postStart": 
LIFECYCLE_TEMPLATE},
+                    }
+                },
+                "postStart",
+            ),
+            (
+                {
+                    "celery": {
+                        "kerberosSidecar": {
+                            "enabled": True,
+                            "containerLifecycleHooks": {"preStop": 
LIFECYCLE_TEMPLATE},
+                        }
+                    }
+                },
+                "preStop",
+            ),
+            (
+                {
+                    "celery": {
+                        "kerberosSidecar": {
+                            "enabled": True,
+                            "containerLifecycleHooks": {"postStart": 
LIFECYCLE_TEMPLATE},
+                        }
+                    }
+                },
+                "postStart",
+            ),
+            (
+                {
+                    "kerberosSidecar": {
+                        "containerLifecycleHooks": {"postStart": {"exec": 
{"command": ["test"]}}}
+                    },
+                    "celery": {
+                        "kerberosSidecar": {
+                            "enabled": True,
+                            "containerLifecycleHooks": {"preStop": 
LIFECYCLE_TEMPLATE},
+                        }
+                    },
+                },
+                "preStop",
+            ),
+        ],
+    )
+    def test_worker_kerberos_container_setting(self, workers_values, 
expected_hook_type):
+        docs = render_chart(
+            name=RELEASE_NAME,
+            values={"workers": workers_values},
             show_only=["templates/workers/worker-deployment.yaml"],
         )
 
-        assert (
-            
jmespath.search(f"spec.template.spec.containers[2].lifecycle.{hook_type}", 
docs[0])
-            == LIFECYCLE_PARSED
-        )
+        assert jmespath.search("spec.template.spec.containers[2].lifecycle", 
docs[0]) == {
+            expected_hook_type: LIFECYCLE_PARSED
+        }
 
     # Test container lifecycle hooks for log-groomer-sidecar main container
     @pytest.mark.parametrize("hook_type", ["preStop", "postStart"])
diff --git a/helm-tests/tests/helm_tests/airflow_aux/test_pod_template_file.py 
b/helm-tests/tests/helm_tests/airflow_aux/test_pod_template_file.py
index 70e1aac251c..a1f0f03aa1d 100644
--- a/helm-tests/tests/helm_tests/airflow_aux/test_pod_template_file.py
+++ b/helm-tests/tests/helm_tests/airflow_aux/test_pod_template_file.py
@@ -1138,11 +1138,19 @@ class TestPodTemplateFile:
 
         assert jmespath.search("spec.runtimeClassName", docs[0]) == "nvidia"
 
-    def test_airflow_local_settings_kerberos_sidecar(self):
+    @pytest.mark.parametrize(
+        "workers_values",
+        [
+            {"kerberosSidecar": {"enabled": True}},
+            {"kubernetes": {"kerberosSidecar": {"enabled": True}}},
+            {"kerberosSidecar": {"enabled": True}, "kubernetes": 
{"kerberosSidecar": {"enabled": False}}},
+        ],
+    )
+    def test_airflow_local_settings_kerberos_sidecar(self, workers_values):
         docs = render_chart(
             values={
                 "airflowLocalSettings": "# Well hello!",
-                "workers": {"kerberosSidecar": {"enabled": True}},
+                "workers": workers_values,
             },
             show_only=["templates/pod-template-file.yaml"],
             chart_dir=self.temp_chart_dir,
@@ -1156,6 +1164,178 @@ class TestPodTemplateFile:
             "readOnly": True,
         } in jmespath.search("spec.containers[1].volumeMounts", docs[0])
 
+    @pytest.mark.parametrize(
+        "workers_values",
+        [
+            {
+                "kerberosSidecar": {
+                    "resources": {
+                        "requests": {"cpu": "1m", "memory": "2Mi"},
+                    }
+                },
+                "kubernetes": {"kerberosSidecar": {"enabled": True}},
+            },
+            {
+                "kubernetes": {
+                    "kerberosSidecar": {
+                        "enabled": True,
+                        "resources": {
+                            "requests": {"cpu": "1m", "memory": "2Mi"},
+                        },
+                    }
+                }
+            },
+            {
+                "kerberosSidecar": {
+                    "resources": {
+                        "limits": {"cpu": "30m", "memory": "40Mi"},
+                    }
+                },
+                "kubernetes": {
+                    "kerberosSidecar": {
+                        "enabled": True,
+                        "resources": {
+                            "requests": {"cpu": "1m", "memory": "2Mi"},
+                        },
+                    }
+                },
+            },
+        ],
+    )
+    def test_kerberos_sidecar_resources(self, workers_values):
+        docs = render_chart(
+            values={"workers": workers_values},
+            show_only=["templates/pod-template-file.yaml"],
+            chart_dir=self.temp_chart_dir,
+        )
+
+        assert jmespath.search("spec.containers[?name=='worker-kerberos'] | 
[0].resources", docs[0]) == {
+            "requests": {
+                "cpu": "1m",
+                "memory": "2Mi",
+            },
+        }
+
+    @pytest.mark.parametrize(
+        ("workers_values", "expected_hook_type"),
+        [
+            (
+                {
+                    "kerberosSidecar": {
+                        "enabled": True,
+                        "containerLifecycleHooks": {
+                            "preStop": {"exec": {"command": ["echo", "{{ 
.Release.Name }}"]}}
+                        },
+                    }
+                },
+                "preStop",
+            ),
+            (
+                {
+                    "kerberosSidecar": {
+                        "enabled": True,
+                        "containerLifecycleHooks": {
+                            "postStart": {"exec": {"command": ["echo", "{{ 
.Release.Name }}"]}}
+                        },
+                    }
+                },
+                "postStart",
+            ),
+            (
+                {
+                    "kubernetes": {
+                        "kerberosSidecar": {
+                            "enabled": True,
+                            "containerLifecycleHooks": {
+                                "preStop": {"exec": {"command": ["echo", "{{ 
.Release.Name }}"]}}
+                            },
+                        }
+                    }
+                },
+                "preStop",
+            ),
+            (
+                {
+                    "kubernetes": {
+                        "kerberosSidecar": {
+                            "enabled": True,
+                            "containerLifecycleHooks": {
+                                "postStart": {"exec": {"command": ["echo", "{{ 
.Release.Name }}"]}}
+                            },
+                        }
+                    }
+                },
+                "postStart",
+            ),
+            (
+                {
+                    "kerberosSidecar": {
+                        "containerLifecycleHooks": {"postStart": {"exec": 
{"command": ["test"]}}}
+                    },
+                    "kubernetes": {
+                        "kerberosSidecar": {
+                            "enabled": True,
+                            "containerLifecycleHooks": {
+                                "preStop": {"exec": {"command": ["echo", "{{ 
.Release.Name }}"]}}
+                            },
+                        }
+                    },
+                },
+                "preStop",
+            ),
+        ],
+    )
+    def test_kerberos_sidecar_lifecycle(self, workers_values, 
expected_hook_type):
+        docs = render_chart(
+            name="test-release",
+            values={"workers": workers_values},
+            show_only=["templates/pod-template-file.yaml"],
+            chart_dir=self.temp_chart_dir,
+        )
+
+        assert jmespath.search("spec.containers[1].lifecycle", docs[0]) == {
+            expected_hook_type: {"exec": {"command": ["echo", "test-release"]}}
+        }
+
+    @pytest.mark.parametrize(
+        "workers_values",
+        [
+            {
+                "kerberosSidecar": {
+                    "enabled": True,
+                    "securityContexts": {"container": 
{"allowPrivilegeEscalation": False}},
+                }
+            },
+            {
+                "kubernetes": {
+                    "kerberosSidecar": {
+                        "enabled": True,
+                        "securityContexts": {"container": 
{"allowPrivilegeEscalation": False}},
+                    }
+                }
+            },
+            {
+                "kerberosSidecar": {"securityContexts": {"container": 
{"runAsUser": 10}}},
+                "kubernetes": {
+                    "kerberosSidecar": {
+                        "enabled": True,
+                        "securityContexts": {"container": 
{"allowPrivilegeEscalation": False}},
+                    }
+                },
+            },
+        ],
+    )
+    def test_kerberos_sidecar_security_context(self, workers_values):
+        docs = render_chart(
+            values={"workers": workers_values},
+            show_only=["templates/pod-template-file.yaml"],
+            chart_dir=self.temp_chart_dir,
+        )
+
+        assert jmespath.search("spec.containers[1].securityContext", docs[0]) 
== {
+            "allowPrivilegeEscalation": False
+        }
+
     def test_kerberos_init_container_default(self):
         docs = render_chart(
             show_only=["templates/pod-template-file.yaml"],
@@ -1266,8 +1446,10 @@ class TestPodTemplateFile:
         ("airflow_version", "workers_values", "kerberos_init_container", 
"expected_config_name"),
         [
             (None, {"kerberosSidecar": {"enabled": True}}, False, 
"api-server-config"),
+            (None, {"kubernetes": {"kerberosSidecar": {"enabled": True}}}, 
False, "api-server-config"),
             (None, {"kubernetes": {"kerberosInitContainer": {"enabled": 
True}}}, True, "api-server-config"),
             (None, {"kerberosInitContainer": {"enabled": True}}, True, 
"api-server-config"),
+            ("2.11.0", {"kubernetes": {"kerberosSidecar": {"enabled": True}}}, 
False, "webserver-config"),
             ("2.11.0", {"kerberosSidecar": {"enabled": True}}, False, 
"webserver-config"),
             (
                 "2.11.0",
diff --git a/helm-tests/tests/helm_tests/airflow_core/test_worker.py 
b/helm-tests/tests/helm_tests/airflow_core/test_worker.py
index 0d29a8429ab..beb0cdf4435 100644
--- a/helm-tests/tests/helm_tests/airflow_core/test_worker.py
+++ b/helm-tests/tests/helm_tests/airflow_core/test_worker.py
@@ -886,11 +886,19 @@ class TestWorker:
         assert volume_mount in 
jmespath.search("spec.template.spec.containers[0].volumeMounts", docs[0])
         assert volume_mount in 
jmespath.search("spec.template.spec.initContainers[0].volumeMounts", docs[0])
 
-    def test_airflow_local_settings_kerberos_sidecar(self):
+    @pytest.mark.parametrize(
+        "workers_values",
+        [
+            {"kerberosSidecar": {"enabled": True}},
+            {"celery": {"kerberosSidecar": {"enabled": True}}},
+            {"kerberosSidecar": {"enabled": True}, "celery": 
{"kerberosSidecar": {"enabled": False}}},
+        ],
+    )
+    def test_airflow_local_settings_kerberos_sidecar(self, workers_values):
         docs = render_chart(
             values={
                 "airflowLocalSettings": "# Well hello!",
-                "workers": {"kerberosSidecar": {"enabled": True}},
+                "workers": workers_values,
             },
             show_only=["templates/workers/worker-deployment.yaml"],
         )
diff --git a/helm-tests/tests/helm_tests/airflow_core/test_worker_sets.py 
b/helm-tests/tests/helm_tests/airflow_core/test_worker_sets.py
index b91abf3c1bb..530a9bd01ce 100644
--- a/helm-tests/tests/helm_tests/airflow_core/test_worker_sets.py
+++ b/helm-tests/tests/helm_tests/airflow_core/test_worker_sets.py
@@ -1852,16 +1852,20 @@ class TestWorkerSets:
 
         assert jmespath.search("spec.behavior", docs[0]) == {"scaleDown": 
{"selectPolicy": "Max"}}
 
-    def test_overwrite_kerberos_sidecar_enabled(self):
-        docs = render_chart(
-            values={
-                "workers": {
-                    "celery": {
-                        "enableDefault": False,
-                        "sets": [{"name": "test", "kerberosSidecar": 
{"enabled": True}}],
-                    },
-                }
+    @pytest.mark.parametrize(
+        "workers_celery_values",
+        [
+            {"enableDefault": False, "sets": [{"name": "test", 
"kerberosSidecar": {"enabled": True}}]},
+            {
+                "kerberosSidecar": {"enabled": False},
+                "enableDefault": False,
+                "sets": [{"name": "test", "kerberosSidecar": {"enabled": 
True}}],
             },
+        ],
+    )
+    def test_overwrite_kerberos_sidecar_enabled(self, workers_celery_values):
+        docs = render_chart(
+            values={"workers": {"celery": workers_celery_values}},
             show_only=["templates/workers/worker-deployment.yaml"],
         )
 
@@ -1936,6 +1940,27 @@ class TestWorkerSets:
                     ],
                 },
             },
+            {
+                "celery": {
+                    "kerberosSidecar": {
+                        "resources": {
+                            "requests": {"cpu": "10m", "memory": "20Mi"},
+                        }
+                    },
+                    "enableDefault": False,
+                    "sets": [
+                        {
+                            "name": "test",
+                            "kerberosSidecar": {
+                                "enabled": True,
+                                "resources": {
+                                    "limits": {"cpu": "3m", "memory": "4Mi"},
+                                },
+                            },
+                        }
+                    ],
+                },
+            },
         ],
     )
     def test_overwrite_kerberos_sidecar_resources(self, values):
@@ -1990,6 +2015,27 @@ class TestWorkerSets:
                     ],
                 },
             },
+            {
+                "celery": {
+                    "kerberosSidecar": {
+                        "securityContexts": {
+                            "container": {"allowPrivilegeEscalation": False},
+                        }
+                    },
+                    "enableDefault": False,
+                    "sets": [
+                        {
+                            "name": "test",
+                            "kerberosSidecar": {
+                                "enabled": True,
+                                "securityContexts": {
+                                    "container": {"runAsUser": 10},
+                                },
+                            },
+                        }
+                    ],
+                },
+            },
         ],
     )
     def test_overwrite_kerberos_sidecar_security_context_container(self, 
values):
@@ -2040,6 +2086,25 @@ class TestWorkerSets:
                     ],
                 },
             },
+            {
+                "celery": {
+                    "kerberosSidecar": {
+                        "containerLifecycleHooks": {"preStop": {"exec": 
{"command": ["echo", "test"]}}}
+                    },
+                    "enableDefault": False,
+                    "sets": [
+                        {
+                            "name": "test",
+                            "kerberosSidecar": {
+                                "enabled": True,
+                                "containerLifecycleHooks": {
+                                    "postStart": {"exec": {"command": ["echo", 
"{{ .Release.Name }}"]}},
+                                },
+                            },
+                        }
+                    ],
+                },
+            },
         ],
     )
     def test_overwrite_kerberos_sidecar_container_lifecycle_hooks(self, 
values):
diff --git a/helm-tests/tests/helm_tests/security/test_kerberos.py 
b/helm-tests/tests/helm_tests/security/test_kerberos.py
index 73e172bb8bd..bb23ae67ac1 100644
--- a/helm-tests/tests/helm_tests/security/test_kerberos.py
+++ b/helm-tests/tests/helm_tests/security/test_kerberos.py
@@ -19,6 +19,7 @@ from __future__ import annotations
 import json
 
 import jmespath
+import pytest
 from chart_utils.helm_template_generator import render_chart
 
 
@@ -35,14 +36,22 @@ class TestKerberos:
         k8s_objects_to_consider_str = json.dumps(k8s_objects_to_consider)
         assert k8s_objects_to_consider_str.count("kerberos") == 1
 
-    def test_kerberos_envs_available_in_worker_with_persistence(self):
+    @pytest.mark.parametrize(
+        "workers_values",
+        [
+            {"kerberosSidecar": {"enabled": True}, "celery": {"persistence": 
{"enabled": True}}},
+            {"celery": {"kerberosSidecar": {"enabled": True}, "persistence": 
{"enabled": True}}},
+            {
+                "kerberosSidecar": {"enabled": True},
+                "celery": {"kerberosSidecar": {"enabled": False}, 
"persistence": {"enabled": True}},
+            },
+        ],
+    )
+    def test_kerberos_envs_available_in_worker_with_persistence(self, 
workers_values):
         docs = render_chart(
             values={
                 "executor": "CeleryExecutor",
-                "workers": {
-                    "kerberosSidecar": {"enabled": True},
-                    "celery": {"persistence": {"enabled": True}},
-                },
+                "workers": workers_values,
                 "kerberos": {
                     "enabled": True,
                     "configPath": "/etc/krb5.conf",
@@ -60,35 +69,46 @@ class TestKerberos:
             "spec.template.spec.containers[0].env", docs[0]
         )
 
-    def test_kerberos_sidecar_resources(self):
-        docs = render_chart(
-            values={
-                "executor": "CeleryExecutor",
-                "workers": {
+    @pytest.mark.parametrize(
+        "workers_values",
+        [
+            {
+                "kerberosSidecar": {
+                    "enabled": True,
+                    "resources": {"requests": {"cpu": "200m", "memory": 
"200Mi"}},
+                }
+            },
+            {
+                "celery": {
                     "kerberosSidecar": {
                         "enabled": True,
-                        "resources": {
-                            "requests": {
-                                "cpu": "200m",
-                                "memory": "200Mi",
-                            },
-                            "limits": {
-                                "cpu": "201m",
-                                "memory": "201Mi",
-                            },
-                        },
-                    },
+                        "resources": {"requests": {"cpu": "200m", "memory": 
"200Mi"}},
+                    }
+                }
+            },
+            {
+                "kerberosSidecar": {"resources": {"limits": {"cpu": "20m", 
"memory": "20Mi"}}},
+                "celery": {
+                    "kerberosSidecar": {
+                        "enabled": True,
+                        "resources": {"requests": {"cpu": "200m", "memory": 
"200Mi"}},
+                    }
                 },
             },
+        ],
+    )
+    def test_kerberos_sidecar_resources(self, workers_values):
+        docs = render_chart(
+            values={
+                "executor": "CeleryExecutor",
+                "workers": workers_values,
+            },
             show_only=["templates/workers/worker-deployment.yaml"],
         )
 
-        assert 
jmespath.search("spec.template.spec.containers[2].resources.requests.cpu", 
docs[0]) == "200m"
-        assert (
-            
jmespath.search("spec.template.spec.containers[2].resources.requests.memory", 
docs[0]) == "200Mi"
-        )
-        assert 
jmespath.search("spec.template.spec.containers[2].resources.limits.cpu", 
docs[0]) == "201m"
-        assert 
jmespath.search("spec.template.spec.containers[2].resources.limits.memory", 
docs[0]) == "201Mi"
+        assert jmespath.search("spec.template.spec.containers[2].resources", 
docs[0]) == {
+            "requests": {"cpu": "200m", "memory": "200Mi"}
+        }
 
     def test_keberos_sidecar_resources_are_not_added_by_default(self):
         docs = render_chart(
diff --git a/helm-tests/tests/helm_tests/security/test_security_context.py 
b/helm-tests/tests/helm_tests/security/test_security_context.py
index fd769e0faac..dd9da798f56 100644
--- a/helm-tests/tests/helm_tests/security/test_security_context.py
+++ b/helm-tests/tests/helm_tests/security/test_security_context.py
@@ -591,18 +591,43 @@ class TestSecurityContext:
         assert ctx_value == 
jmespath.search("spec.template.spec.containers[1].securityContext", docs[0])
 
     # Test securityContexts for worker-kerberos main container
-    def test_worker_kerberos_container_setting(self):
-        ctx_value = {"allowPrivilegeEscalation": False}
-        docs = render_chart(
-            values={
-                "workers": {
-                    "kerberosSidecar": {"enabled": True, "securityContexts": 
{"container": ctx_value}}
+    @pytest.mark.parametrize(
+        "workers_values",
+        [
+            {
+                "kerberosSidecar": {
+                    "enabled": True,
+                    "securityContexts": {"container": 
{"allowPrivilegeEscalation": False}},
+                }
+            },
+            {
+                "celery": {
+                    "kerberosSidecar": {
+                        "enabled": True,
+                        "securityContexts": {"container": 
{"allowPrivilegeEscalation": False}},
+                    }
+                }
+            },
+            {
+                "kerberosSidecar": {"securityContexts": {"container": 
{"runAsUser": 10}}},
+                "celery": {
+                    "kerberosSidecar": {
+                        "enabled": True,
+                        "securityContexts": {"container": 
{"allowPrivilegeEscalation": False}},
+                    }
                 },
             },
+        ],
+    )
+    def test_worker_kerberos_container_security_context(self, workers_values):
+        docs = render_chart(
+            values={"workers": workers_values},
             show_only=["templates/workers/worker-deployment.yaml"],
         )
 
-        assert ctx_value == 
jmespath.search("spec.template.spec.containers[2].securityContext", docs[0])
+        assert 
jmespath.search("spec.template.spec.containers[2].securityContext", docs[0]) == 
{
+            "allowPrivilegeEscalation": False
+        }
 
     @pytest.mark.parametrize(
         "workers_values",

Reply via email to