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

bugraoz93 pushed a commit to branch chart/v1-2x-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/chart/v1-2x-test by this push:
     new 2e9fe4b198c [chart/v1-2x-test] Chart: add missing tpl for SA 
annotations (#66095) (#66128)
2e9fe4b198c is described below

commit 2e9fe4b198cbc9dc8c9dd3e05fe4944f41716c19
Author: Jens Scheffler <[email protected]>
AuthorDate: Wed Apr 29 23:50:05 2026 +0200

    [chart/v1-2x-test] Chart: add missing tpl for SA annotations (#66095) 
(#66128)
    
    (cherry picked from commit ac59ee01015f22a585631d8ffe3976961f09bf31)
    
    Co-authored-by: Aakcht <[email protected]>
---
 .../templates/cleanup/cleanup-serviceaccount.yaml  |  3 +-
 .../database-cleanup-serviceaccount.yaml           |  3 +-
 chart/templates/flower/flower-serviceaccount.yaml  |  3 +-
 .../jobs/create-user-job-serviceaccount.yaml       |  3 +-
 .../jobs/migrate-database-job-serviceaccount.yaml  |  3 +-
 chart/templates/redis/redis-serviceaccount.yaml    |  3 +-
 chart/templates/statsd/statsd-serviceaccount.yaml  |  3 +-
 .../workers/worker-kubernetes-serviceaccount.yaml  |  3 +-
 .../helm_tests/airflow_aux/test_annotations.py     | 72 +++++++---------------
 9 files changed, 38 insertions(+), 58 deletions(-)

diff --git a/chart/templates/cleanup/cleanup-serviceaccount.yaml 
b/chart/templates/cleanup/cleanup-serviceaccount.yaml
index d3c2222b159..709cee1604d 100644
--- a/chart/templates/cleanup/cleanup-serviceaccount.yaml
+++ b/chart/templates/cleanup/cleanup-serviceaccount.yaml
@@ -36,6 +36,7 @@ metadata:
       {{- mustMerge .Values.cleanup.labels .Values.labels | toYaml | nindent 4 
}}
     {{- end }}
   {{- with .Values.cleanup.serviceAccount.annotations }}
-  annotations: {{- toYaml . | nindent 4 }}
+  annotations:
+    {{- include "airflow.tplDict" (dict "values" . "context" $) | nindent 4 }}
   {{- end }}
 {{- end }}
diff --git 
a/chart/templates/database-cleanup/database-cleanup-serviceaccount.yaml 
b/chart/templates/database-cleanup/database-cleanup-serviceaccount.yaml
index 80262a4f60a..d27370965db 100644
--- a/chart/templates/database-cleanup/database-cleanup-serviceaccount.yaml
+++ b/chart/templates/database-cleanup/database-cleanup-serviceaccount.yaml
@@ -36,6 +36,7 @@ metadata:
       {{- mustMerge .Values.databaseCleanup.labels .Values.labels | toYaml | 
nindent 4 }}
     {{- end }}
   {{- with .Values.databaseCleanup.serviceAccount.annotations }}
-  annotations: {{- toYaml . | nindent 4 }}
+  annotations:
+    {{- include "airflow.tplDict" (dict "values" . "context" $) | nindent 4 }}
   {{- end }}
 {{- end }}
diff --git a/chart/templates/flower/flower-serviceaccount.yaml 
b/chart/templates/flower/flower-serviceaccount.yaml
index 87aacdb803c..862ab256830 100644
--- a/chart/templates/flower/flower-serviceaccount.yaml
+++ b/chart/templates/flower/flower-serviceaccount.yaml
@@ -36,6 +36,7 @@ metadata:
       {{- mustMerge .Values.flower.labels .Values.labels | toYaml | nindent 4 
}}
     {{- end }}
   {{- with .Values.flower.serviceAccount.annotations }}
-  annotations: {{- toYaml . | nindent 4 }}
+  annotations:
+    {{- include "airflow.tplDict" (dict "values" . "context" $) | nindent 4 }}
   {{- end }}
 {{- end }}
diff --git a/chart/templates/jobs/create-user-job-serviceaccount.yaml 
b/chart/templates/jobs/create-user-job-serviceaccount.yaml
index be619b0fcac..7b855f5edd6 100644
--- a/chart/templates/jobs/create-user-job-serviceaccount.yaml
+++ b/chart/templates/jobs/create-user-job-serviceaccount.yaml
@@ -36,6 +36,7 @@ metadata:
       {{- mustMerge .Values.createUserJob.labels .Values.labels | toYaml | 
nindent 4 }}
     {{- end }}
   {{- with .Values.createUserJob.serviceAccount.annotations }}
-  annotations: {{- toYaml . | nindent 4 }}
+  annotations:
+    {{- include "airflow.tplDict" (dict "values" . "context" $) | nindent 4 }}
   {{- end }}
 {{- end }}
diff --git a/chart/templates/jobs/migrate-database-job-serviceaccount.yaml 
b/chart/templates/jobs/migrate-database-job-serviceaccount.yaml
index e5ee856f6cb..f349f19eb4c 100644
--- a/chart/templates/jobs/migrate-database-job-serviceaccount.yaml
+++ b/chart/templates/jobs/migrate-database-job-serviceaccount.yaml
@@ -36,6 +36,7 @@ metadata:
       {{- mustMerge .Values.migrateDatabaseJob.labels .Values.labels | toYaml 
| nindent 4 }}
     {{- end }}
   {{- with .Values.migrateDatabaseJob.serviceAccount.annotations }}
-  annotations: {{- toYaml . | nindent 4 }}
+  annotations:
+    {{- include "airflow.tplDict" (dict "values" . "context" $) | nindent 4 }}
   {{- end }}
 {{- end }}
diff --git a/chart/templates/redis/redis-serviceaccount.yaml 
b/chart/templates/redis/redis-serviceaccount.yaml
index f645b4ee2f4..a7792d6fb4a 100644
--- a/chart/templates/redis/redis-serviceaccount.yaml
+++ b/chart/templates/redis/redis-serviceaccount.yaml
@@ -36,6 +36,7 @@ metadata:
       {{- mustMerge .Values.redis.labels .Values.labels | toYaml | nindent 4 }}
     {{- end }}
   {{- with .Values.redis.serviceAccount.annotations }}
-  annotations: {{- toYaml . | nindent 4 }}
+  annotations:
+    {{- include "airflow.tplDict" (dict "values" . "context" $) | nindent 4 }}
   {{- end }}
 {{- end }}
diff --git a/chart/templates/statsd/statsd-serviceaccount.yaml 
b/chart/templates/statsd/statsd-serviceaccount.yaml
index e2659769516..fc5943d7f70 100644
--- a/chart/templates/statsd/statsd-serviceaccount.yaml
+++ b/chart/templates/statsd/statsd-serviceaccount.yaml
@@ -36,6 +36,7 @@ metadata:
       {{- mustMerge .Values.statsd.labels .Values.labels | toYaml | nindent 4 
}}
     {{- end }}
   {{- with .Values.statsd.serviceAccount.annotations }}
-  annotations: {{- toYaml . | nindent 4 }}
+  annotations:
+    {{- include "airflow.tplDict" (dict "values" . "context" $) | nindent 4 }}
   {{- end }}
 {{- end }}
diff --git a/chart/templates/workers/worker-kubernetes-serviceaccount.yaml 
b/chart/templates/workers/worker-kubernetes-serviceaccount.yaml
index b74474b42f2..82cf72f6b68 100644
--- a/chart/templates/workers/worker-kubernetes-serviceaccount.yaml
+++ b/chart/templates/workers/worker-kubernetes-serviceaccount.yaml
@@ -36,6 +36,7 @@ metadata:
       {{- mustMerge (.Values.workers.kubernetes.labels | default 
.Values.workers.labels) .Values.labels | toYaml | nindent 4 }}
     {{- end }}
   {{- with (.Values.workers.kubernetes.serviceAccount.annotations | default 
.Values.workers.serviceAccount.annotations) }}
-  annotations: {{- toYaml . | nindent 4 }}
+  annotations:
+    {{- include "airflow.tplDict" (dict "values" . "context" $) | nindent 4 }}
   {{- end }}
 {{- end }}
diff --git a/helm-tests/tests/helm_tests/airflow_aux/test_annotations.py 
b/helm-tests/tests/helm_tests/airflow_aux/test_annotations.py
index 1bbf800c46a..a861a28996b 100644
--- a/helm-tests/tests/helm_tests/airflow_aux/test_annotations.py
+++ b/helm-tests/tests/helm_tests/airflow_aux/test_annotations.py
@@ -410,38 +410,28 @@ class TestServiceAccountAnnotations:
         assert annotations["another-annotation"] == "release-name-other"
         assert annotations["plain-annotation"] == "no-template"
 
-    def test_tpl_rendered_annotations_pgbouncer(self):
-        """Test pgbouncer SA annotations support tpl rendering."""
-        k8s_objects = render_chart(
-            values={
-                "airflowVersion": "2.11.0",
-                "pgbouncer": {
-                    "enabled": True,
-                    "serviceAccount": {
-                        "annotations": {
-                            "iam.gke.io/gcp-service-account": "{{ 
.Release.Name }}[email protected]",
-                        },
-                    },
-                },
-            },
-            show_only=["templates/pgbouncer/pgbouncer-serviceaccount.yaml"],
-        )
-        assert len(k8s_objects) == 1
-        annotations = k8s_objects[0]["metadata"]["annotations"]
-        assert annotations["iam.gke.io/gcp-service-account"] == 
"[email protected]"
-
     @pytest.mark.parametrize(
         ("values_key", "show_only"),
         [
             ("dagProcessor", 
"templates/dag-processor/dag-processor-serviceaccount.yaml"),
             ("apiServer", 
"templates/api-server/api-server-serviceaccount.yaml"),
+            ("pgbouncer", "templates/pgbouncer/pgbouncer-serviceaccount.yaml"),
+            ("migrateDatabaseJob", 
"templates/jobs/migrate-database-job-serviceaccount.yaml"),
+            ("createUserJob", 
"templates/jobs/create-user-job-serviceaccount.yaml"),
+            ("flower", "templates/flower/flower-serviceaccount.yaml"),
+            ("cleanup", "templates/cleanup/cleanup-serviceaccount.yaml"),
+            ("databaseCleanup", 
"templates/database-cleanup/database-cleanup-serviceaccount.yaml"),
+            ("redis", "templates/redis/redis-serviceaccount.yaml"),
+            ("statsd", "templates/statsd/statsd-serviceaccount.yaml"),
         ],
     )
     def test_tpl_rendered_annotations_airflow_3(self, values_key, show_only):
         """Test SA annotations support tpl rendering for Airflow 3.x 
components."""
         k8s_objects = render_chart(
             values={
+                **({"executor": "KubernetesExecutor"} if values_key == 
"cleanup" else {}),
                 values_key: {
+                    "enabled": True,
                     "serviceAccount": {
                         "annotations": {
                             "iam.gke.io/gcp-service-account": "{{ 
.Release.Name }}[email protected]",
@@ -494,45 +484,27 @@ class TestServiceAccountAnnotations:
         annotations = k8s_objects[0]["metadata"]["annotations"]
         assert annotations["iam.gke.io/gcp-service-account"] == 
"[email protected]"
 
-    def test_tpl_rendered_annotations_webserver(self):
-        """Test webserver SA annotations support tpl rendering (Airflow 2.x 
only)."""
+    def test_tpl_rendered_annotations_kubernetes_worker_separate(self):
+        """Test worker-kubernetes-serviceaccount.yaml support tpl rendering."""
         k8s_objects = render_chart(
             values={
-                "airflowVersion": "2.11.0",
-                "webserver": {
-                    "serviceAccount": {
-                        "annotations": {
-                            "iam.gke.io/gcp-service-account": "{{ 
.Release.Name }}[email protected]",
+                "executor": "KubernetesExecutor",
+                "workers": {
+                    "kubernetes": {
+                        "serviceAccount": {
+                            "create": True,
+                            "annotations": {
+                                "iam.gke.io/gcp-service-account": "{{ 
.Release.Name }}[email protected]",
+                            },
                         },
                     },
                 },
             },
-            show_only=["templates/webserver/webserver-serviceaccount.yaml"],
+            
show_only=["templates/workers/worker-kubernetes-serviceaccount.yaml"],
         )
         assert len(k8s_objects) == 1
         annotations = k8s_objects[0]["metadata"]["annotations"]
-        assert annotations["iam.gke.io/gcp-service-account"] == 
"[email protected]"
-
-    def test_annotations_on_webserver(self):
-        """Test annotations are added on webserver for Airflow 2"""
-        k8s_objects = render_chart(
-            values={
-                "airflowVersion": "2.11.0",
-                "webserver": {
-                    "serviceAccount": {
-                        "annotations": {
-                            "example": "webserver",
-                        },
-                    },
-                },
-            },
-            show_only=["templates/webserver/webserver-serviceaccount.yaml"],
-        )
-
-        assert len(k8s_objects) == 1
-        obj = k8s_objects[0]
-
-        assert obj["metadata"]["annotations"] == {"example": "webserver"}
+        assert annotations["iam.gke.io/gcp-service-account"] == 
"[email protected]"
 
 
 @pytest.mark.parametrize(

Reply via email to