From df000b7cce6c12f2d1971ece9eba565de787ba9e Mon Sep 17 00:00:00 2001 From: sudip-khanal Date: Tue, 28 Apr 2026 13:44:37 +0545 Subject: [PATCH 1/2] feat(worker): add enable flags for beat and queues - Wrap beat deployment with worker.beat.enabled - Allow individual queues to be disabled via queues..enabled - Update test values --- chart/snapshots/values-2.yaml | 91 --------------------- chart/snapshots/values-3.yaml | 66 --------------- chart/templates/worker-beat/deployment.yaml | 2 +- chart/templates/worker/deployment.yaml | 3 + chart/tests/values-1.yaml | 1 + chart/tests/values-2.yaml | 1 + chart/tests/values-3.yaml | 1 + chart/values.yaml | 1 + 8 files changed, 8 insertions(+), 158 deletions(-) diff --git a/chart/snapshots/values-2.yaml b/chart/snapshots/values-2.yaml index 0caf733..95566e9 100644 --- a/chart/snapshots/values-2.yaml +++ b/chart/snapshots/values-2.yaml @@ -974,97 +974,6 @@ spec: name: my-secret readOnly: true --- -# Source: banjo-helm/templates/worker-beat/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: release-name-banjo-helm-worker-beat - annotations: - reloader.stakater.com/auto: "true" - labels: - app: release-name-banjo-helm - component: worker-beat - environment: ALPHA - release: release-name -spec: - replicas: 1 # This should only 1 - selector: - matchLabels: - app: release-name-banjo-helm - component: worker-beat - template: - metadata: - annotations: - checksum/secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b - checksum/configmap: 3f5505b0f56b1094e754509a8dd06e18d87db0905c755ea4b4ab0cc647f29da3 - aws.workload.identity/use: "true" - aws.workload.identity/use2: "true" - aws.workload.identity/use3: "true" - labels: - app: release-name-banjo-helm - component: worker-beat - azure.workload.identity/use: "true" - spec: - volumes: - - name: release-name-banjo-helm-secret - csi: - driver: "secrets-store.csi.k8s.io" - readOnly: true - volumeAttributes: - secretProviderClass: release-name-banjo-helm-secret-provider - - csi: - driver: secrets-store.csi.k8s.io - readOnly: "true" - volumeAttributes: - secretProviderClass: my-secret-provider - name: my-stuff - serviceAccountName: release-name-banjo-helm - containers: - - name: worker-beat - image: "ghcr.io/example/example:v1.0.1" - imagePullPolicy: IfNotPresent - imagePullSecrets: - - name: regcred - command: - - celery - - -A - - myapp - - beat - - -l - - INFO - # TODO: livenessProbe - resources: - limits: - cpu: "1" - memory: 1Gi - requests: - cpu: "0.1" - memory: 0.5Gi - envFrom: - - secretRef: - name: release-name-banjo-helm-secret - - secretRef: - name: my-custom-secrets - - configMapRef: - name: release-name-banjo-helm-env-name - - configMapRef: - name: my-custom-envs - env: - - name: DJANGO_APP_TYPE - value: "worker" - - name: SPECIAL_LEVEL_KEY - valueFrom: - configMapKeyRef: - key: special.how - name: special-config - volumeMounts: - - name: release-name-banjo-helm-secret - mountPath: /mnt/secrets-store - readOnly: true - - mountPath: /mnt/secrets-store - name: my-secret - readOnly: true ---- # Source: banjo-helm/templates/worker/deployment.yaml # Queue: default apiVersion: apps/v1 diff --git a/chart/snapshots/values-3.yaml b/chart/snapshots/values-3.yaml index a396888..841b00b 100644 --- a/chart/snapshots/values-3.yaml +++ b/chart/snapshots/values-3.yaml @@ -998,72 +998,6 @@ spec: - name: DJANGO_APP_TYPE value: "worker" --- -# Source: banjo-helm/templates/worker/deployment.yaml -# Queue: default -apiVersion: apps/v1 -kind: Deployment -metadata: - name: release-name-banjo-helm-worker-default - annotations: - reloader.stakater.com/auto: "true" - labels: - app: release-name-banjo-helm - component: worker - queue: default - environment: ALPHA - release: release-name -spec: - selector: - matchLabels: - app: release-name-banjo-helm - component: worker - queue: default - template: - metadata: - annotations: - checksum/secret: 66a6fc24b76971f276c49234b716b2b8226b4c72a18511215a54ab9a414b4d53 - checksum/configmap: 3f5505b0f56b1094e754509a8dd06e18d87db0905c755ea4b4ab0cc647f29da3 - aws.workload.identity/use: "true" - labels: - app: release-name-banjo-helm - component: worker - queue: default - azure.workload.identity/use: "true" - spec: - containers: - - name: worker - command: - - celery - - -A - - myapp - - worker - - -l - - INFO - - -Q - - celery - - --concurrency - - "4" - - --max-tasks-per-child - - "10" - image: "ghcr.io/example/example:v1.0.1" - imagePullPolicy: IfNotPresent - # TODO: livenessProbe - resources: - limits: - cpu: "1" - memory: 2Gi - requests: - cpu: "0.1" - memory: 1Gi - envFrom: - - secretRef: - name: release-name-banjo-helm-secret - - configMapRef: - name: release-name-banjo-helm-env-name - env: - - name: DJANGO_APP_TYPE - value: "worker" ---- # Source: banjo-helm/charts/postgresql/templates/primary/statefulset.yaml apiVersion: apps/v1 kind: StatefulSet diff --git a/chart/templates/worker-beat/deployment.yaml b/chart/templates/worker-beat/deployment.yaml index 3a8acf4..339fe98 100644 --- a/chart/templates/worker-beat/deployment.yaml +++ b/chart/templates/worker-beat/deployment.yaml @@ -1,4 +1,4 @@ -{{- if .Values.worker.enabled }} +{{- if and .Values.worker.enabled .Values.worker.beat.enabled }} apiVersion: apps/v1 kind: Deployment diff --git a/chart/templates/worker/deployment.yaml b/chart/templates/worker/deployment.yaml index 3a3a524..98f8d82 100644 --- a/chart/templates/worker/deployment.yaml +++ b/chart/templates/worker/deployment.yaml @@ -1,6 +1,7 @@ {{- if .Values.worker.enabled }} {{- range $queue_name, $config := .Values.worker.queues }} +{{- if $config.enabled }} --- # Queue: {{ $queue_name }} @@ -71,3 +72,5 @@ spec: {{- end }} {{- end }} + +{{- end }} diff --git a/chart/tests/values-1.yaml b/chart/tests/values-1.yaml index 217ae3d..b99ac49 100644 --- a/chart/tests/values-1.yaml +++ b/chart/tests/values-1.yaml @@ -54,6 +54,7 @@ worker: name: ghcr.io/example/example tag: v1.0.1 beat: + enabled: true resources: requests: cpu: "0.1" diff --git a/chart/tests/values-2.yaml b/chart/tests/values-2.yaml index ac292cd..e0774fb 100644 --- a/chart/tests/values-2.yaml +++ b/chart/tests/values-2.yaml @@ -75,6 +75,7 @@ worker: name: ghcr.io/example/example tag: v1.0.1 beat: + enabled: false resources: requests: cpu: "0.1" diff --git a/chart/tests/values-3.yaml b/chart/tests/values-3.yaml index fe33c13..b6cc702 100644 --- a/chart/tests/values-3.yaml +++ b/chart/tests/values-3.yaml @@ -67,6 +67,7 @@ worker: queues: # NOTE: Make sure keys are lowercase default: + enabled: false resources: requests: cpu: "0.1" diff --git a/chart/values.yaml b/chart/values.yaml index 3e47753..bf718d4 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -149,6 +149,7 @@ worker: # imagePullSecrets: enabled: true beat: + enabled: true image: {} # name: WORKER-SET-BY-CICD-IMAGE # tag: WORKER-SET-BY-CICD-TAG From fdd186d8d1f6ff78795d84a95ba030ab380edaaf Mon Sep 17 00:00:00 2001 From: sudip-khanal Date: Wed, 29 Apr 2026 21:49:43 +0545 Subject: [PATCH 2/2] fixup! feat(worker): add enable flags for beat and queues --- chart/snapshots/values-2.yaml | 91 +++++++++++++++++++++++++++++++++++ chart/snapshots/values-3.yaml | 57 ---------------------- chart/tests/values-2.yaml | 2 +- chart/values.yaml | 2 +- 4 files changed, 93 insertions(+), 59 deletions(-) diff --git a/chart/snapshots/values-2.yaml b/chart/snapshots/values-2.yaml index 95566e9..0caf733 100644 --- a/chart/snapshots/values-2.yaml +++ b/chart/snapshots/values-2.yaml @@ -974,6 +974,97 @@ spec: name: my-secret readOnly: true --- +# Source: banjo-helm/templates/worker-beat/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: release-name-banjo-helm-worker-beat + annotations: + reloader.stakater.com/auto: "true" + labels: + app: release-name-banjo-helm + component: worker-beat + environment: ALPHA + release: release-name +spec: + replicas: 1 # This should only 1 + selector: + matchLabels: + app: release-name-banjo-helm + component: worker-beat + template: + metadata: + annotations: + checksum/secret: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b + checksum/configmap: 3f5505b0f56b1094e754509a8dd06e18d87db0905c755ea4b4ab0cc647f29da3 + aws.workload.identity/use: "true" + aws.workload.identity/use2: "true" + aws.workload.identity/use3: "true" + labels: + app: release-name-banjo-helm + component: worker-beat + azure.workload.identity/use: "true" + spec: + volumes: + - name: release-name-banjo-helm-secret + csi: + driver: "secrets-store.csi.k8s.io" + readOnly: true + volumeAttributes: + secretProviderClass: release-name-banjo-helm-secret-provider + - csi: + driver: secrets-store.csi.k8s.io + readOnly: "true" + volumeAttributes: + secretProviderClass: my-secret-provider + name: my-stuff + serviceAccountName: release-name-banjo-helm + containers: + - name: worker-beat + image: "ghcr.io/example/example:v1.0.1" + imagePullPolicy: IfNotPresent + imagePullSecrets: + - name: regcred + command: + - celery + - -A + - myapp + - beat + - -l + - INFO + # TODO: livenessProbe + resources: + limits: + cpu: "1" + memory: 1Gi + requests: + cpu: "0.1" + memory: 0.5Gi + envFrom: + - secretRef: + name: release-name-banjo-helm-secret + - secretRef: + name: my-custom-secrets + - configMapRef: + name: release-name-banjo-helm-env-name + - configMapRef: + name: my-custom-envs + env: + - name: DJANGO_APP_TYPE + value: "worker" + - name: SPECIAL_LEVEL_KEY + valueFrom: + configMapKeyRef: + key: special.how + name: special-config + volumeMounts: + - name: release-name-banjo-helm-secret + mountPath: /mnt/secrets-store + readOnly: true + - mountPath: /mnt/secrets-store + name: my-secret + readOnly: true +--- # Source: banjo-helm/templates/worker/deployment.yaml # Queue: default apiVersion: apps/v1 diff --git a/chart/snapshots/values-3.yaml b/chart/snapshots/values-3.yaml index 841b00b..49bd763 100644 --- a/chart/snapshots/values-3.yaml +++ b/chart/snapshots/values-3.yaml @@ -941,63 +941,6 @@ spec: - name: DJANGO_APP_TYPE value: "worker" --- -# Source: banjo-helm/templates/worker-beat/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: release-name-banjo-helm-worker-beat - annotations: - reloader.stakater.com/auto: "true" - labels: - app: release-name-banjo-helm - component: worker-beat - environment: ALPHA - release: release-name -spec: - replicas: 1 # This should only 1 - selector: - matchLabels: - app: release-name-banjo-helm - component: worker-beat - template: - metadata: - annotations: - checksum/secret: 66a6fc24b76971f276c49234b716b2b8226b4c72a18511215a54ab9a414b4d53 - checksum/configmap: 3f5505b0f56b1094e754509a8dd06e18d87db0905c755ea4b4ab0cc647f29da3 - aws.workload.identity/use: "true" - labels: - app: release-name-banjo-helm - component: worker-beat - azure.workload.identity/use: "true" - spec: - containers: - - name: worker-beat - image: "ghcr.io/example/example:v1.0.1" - imagePullPolicy: IfNotPresent - command: - - celery - - -A - - myapp - - beat - - -l - - INFO - # TODO: livenessProbe - resources: - limits: - cpu: "1" - memory: 1Gi - requests: - cpu: "0.1" - memory: 0.5Gi - envFrom: - - secretRef: - name: release-name-banjo-helm-secret - - configMapRef: - name: release-name-banjo-helm-env-name - env: - - name: DJANGO_APP_TYPE - value: "worker" ---- # Source: banjo-helm/charts/postgresql/templates/primary/statefulset.yaml apiVersion: apps/v1 kind: StatefulSet diff --git a/chart/tests/values-2.yaml b/chart/tests/values-2.yaml index e0774fb..24bf527 100644 --- a/chart/tests/values-2.yaml +++ b/chart/tests/values-2.yaml @@ -75,7 +75,7 @@ worker: name: ghcr.io/example/example tag: v1.0.1 beat: - enabled: false + enabled: true resources: requests: cpu: "0.1" diff --git a/chart/values.yaml b/chart/values.yaml index bf718d4..6d4cc5d 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -149,7 +149,7 @@ worker: # imagePullSecrets: enabled: true beat: - enabled: true + enabled: false image: {} # name: WORKER-SET-BY-CICD-IMAGE # tag: WORKER-SET-BY-CICD-TAG