diff --git a/chart/templates/workers/worker-deployment.yaml b/chart/templates/workers/worker-deployment.yaml index ccd7abd50a45c..e3fa252090403 100644 --- a/chart/templates/workers/worker-deployment.yaml +++ b/chart/templates/workers/worker-deployment.yaml @@ -243,7 +243,7 @@ spec: {{- if and (.Values.dags.gitSync.enabled) (not .Values.dags.persistence.enabled) }} {{- include "git_sync_container" . | indent 8 }} {{- end }} -{{- if $persistence }} +{{- if and $persistence .Values.workers.logGroomerSidecar.enabled }} - name: worker-log-groomer image: {{ template "airflow_image" . }} imagePullPolicy: {{ .Values.images.airflow.pullPolicy }} diff --git a/chart/values.schema.json b/chart/values.schema.json index 444ffc1c24236..103aec82fc97a 100644 --- a/chart/values.schema.json +++ b/chart/values.schema.json @@ -1561,6 +1561,11 @@ "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to deploy the Airflow worker log groomer sidecar.", + "type": "boolean", + "default": true + }, "command": { "description": "Command to use when running the Airflow workers log groomer sidecar (templated).", "type": [ diff --git a/chart/values.yaml b/chart/values.yaml index 84816b5a3a2d0..da58afd4adcc6 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -600,6 +600,8 @@ workers: labels: {} logGroomerSidecar: + # Whether to deploy the Airflow worker log groomer sidecar. + enabled: true # Command to use when running the Airflow worker log groomer sidecar (templated). command: ~ # Args to use when running the Airflow worker log groomer sidecar (templated). diff --git a/tests/charts/test_worker.py b/tests/charts/test_worker.py index 89a755284a2d8..25315ec8883e8 100644 --- a/tests/charts/test_worker.py +++ b/tests/charts/test_worker.py @@ -523,6 +523,23 @@ def test_command_and_args_overrides_are_templated(self): assert ["release-name"] == jmespath.search("spec.template.spec.containers[0].command", docs[0]) assert ["Helm"] == jmespath.search("spec.template.spec.containers[0].args", docs[0]) + def test_log_groomer_collector_default_enabled(self): + docs = render_chart(show_only=["templates/workers/worker-deployment.yaml"]) + assert 2 == len(jmespath.search("spec.template.spec.containers", docs[0])) + assert "worker-log-groomer" in [ + c["name"] for c in jmespath.search("spec.template.spec.containers", docs[0]) + ] + + def test_log_groomer_collector_can_be_disabled(self): + docs = render_chart( + values={"workers": {"logGroomerSidecar": {"enabled": False}}}, + show_only=["templates/workers/worker-deployment.yaml"], + ) + assert 1 == len(jmespath.search("spec.template.spec.containers", docs[0])) + assert "worker-log-groomer" not in [ + c["name"] for c in jmespath.search("spec.template.spec.containers", docs[0]) + ] + def test_log_groomer_default_command_and_args(self): docs = render_chart(show_only=["templates/workers/worker-deployment.yaml"])