diff --git a/charts/plumber/Chart.yaml b/charts/plumber/Chart.yaml index 29a01e7..07a5dd3 100644 --- a/charts/plumber/Chart.yaml +++ b/charts/plumber/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: plumber description: Helm chart for Plumber type: application -version: "1.1.2" -appVersion: "1.1.2" +version: "1.2.0" +appVersion: "1.2.0" home: https://github.com/getplumber/platform/ maintainers: - name: devpro diff --git a/charts/plumber/templates/deployment.yaml b/charts/plumber/templates/deployment.yaml index 8ba61b1..cc75879 100644 --- a/charts/plumber/templates/deployment.yaml +++ b/charts/plumber/templates/deployment.yaml @@ -35,11 +35,15 @@ spec: {{- end }} spec: automountServiceAccountToken: {{ .automountServiceAccountToken }} + {{- with $.Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: {{ .name }} - image: {{ .image }}:{{ .tag }} - imagePullPolicy: Always + image: {{ if $.Values.imageRegistry }}{{ $.Values.imageRegistry }}/{{ .imageName }}{{ else }}{{ .image }}{{ end }}:{{ .tag }} + imagePullPolicy: {{ .imagePullPolicy | default "Always" }} {{- if .command }} command: {{ .command }} {{- end }} @@ -104,6 +108,8 @@ spec: value: "https://{{ default $.Values.front.name $.Values.front.host }}" - name: JOBS_CORS_ORIGIN value: "https://{{ default $.Values.front.name $.Values.front.host }}" + - name: JOBS_REDIS_MODE + value: "{{ default "standalone" $.Values.redis.mode }}" - name: JOBS_REDIS_HOST value: "{{ default (printf "%s-%s" $.Release.Name "redis-master") $.Values.redis.custom.host }}" - name: JOBS_REDIS_PORT @@ -114,6 +120,24 @@ spec: value: "{{ $.Values.redis.custom.user }}" - name: JOBS_REDIS_SET_NAMESPACES_TTL value: "30s" + + {{- if eq (default "standalone" $.Values.redis.mode) "sentinel" }} + - name: JOBS_REDIS_SENTINEL_MASTER_NAME + value: "{{ $.Values.redis.sentinel.masterName }}" + - name: JOBS_REDIS_SENTINEL_NODES + value: "{{ join "," $.Values.redis.sentinel.nodes }}" + {{- if and (not (empty (default "" $.Values.redis.sentinel.existingSecret))) $.Values.redis.sentinel.existingSecretPasswordKey }} + - name: JOBS_REDIS_SENTINEL_PASSWORD + valueFrom: + secretKeyRef: + name: "{{ $.Values.redis.sentinel.existingSecret }}" + key: "{{ $.Values.redis.sentinel.existingSecretPasswordKey }}" + {{- else if not (empty (default "" $.Values.redis.sentinel.password)) }} + - name: JOBS_REDIS_SENTINEL_PASSWORD + value: "{{ $.Values.redis.sentinel.password }}" + {{- end }} + {{- end }} + - name: GITLEAKS_PATH value: "/opt/gitleaks" diff --git a/charts/plumber/values.yaml b/charts/plumber/values.yaml index 30dd57b..0831aae 100644 --- a/charts/plumber/values.yaml +++ b/charts/plumber/values.yaml @@ -4,11 +4,24 @@ additionalAnnotations: {} # -- Additional labels applied to all resources. additionalLabels: {} +# -- Global image registry override. When set, images are pulled as /:. +# Leave empty to use the full path from each component's `image` field (default behavior). +imageRegistry: "" + +# -- Global image pull secrets for pulling from private registries. +imagePullSecrets: + - name: my-registry-secret + front: enabled: true type: frontend name: plumber-front + # -- Full image path (used when imageRegistry is empty). image: docker.io/getplumber/frontend + # -- Image name without registry prefix (used when imageRegistry is set). + imageName: getplumber/frontenasdd + # -- Image pull policy for the container. + imagePullPolicy: ifNotPresent tag: v2.34.4 replicaCount: 1 revisionHistoryLimit: 5 @@ -67,7 +80,12 @@ backend: enabled: true type: backend name: plumber-backend + # -- Full image path (used when imageRegistry is empty). image: docker.io/getplumber/backend + # -- Image name without registry prefix (used when imageRegistry is set). + imageName: getplumber/backendasdasdasdasdasdasdasdasdasd + # -- Image pull policy for the container. + imagePullPolicy: Never tag: v2.37.1 replicaCount: 1 revisionHistoryLimit: 5 @@ -149,7 +167,12 @@ worker: enabled: true type: backend name: plumber-worker - image: docker.io/getplumber/backend + # -- Full image path (used when imageRegistry is empty). + image: docker.io/getplumber/backendasdasd + # -- Image name without registry prefix (used when imageRegistry is set). + imageName: getplumber/backendasdasd + # -- Image pull policy for the container. + imagePullPolicy: ifNotPresent tag: v2.37.1 replicaCount: 5 revisionHistoryLimit: 5 @@ -239,6 +262,10 @@ postgresql: # External Redis redis: + # -- Redis deployment mode: "standalone" for single-node, "sentinel" for Redis Sentinel HA. + # Existing single-node deployments are unaffected (default is "standalone"). + mode: "standalone" + custom: host: "" user: "default" @@ -246,6 +273,19 @@ redis: cert: "" databaseIndex: 0 + # Redis Sentinel configuration (only used when mode is "sentinel"). + sentinel: + masterName: "mymaster" + nodes: [] + # - "sentinel1:26379" + # - "sentinel2:26379" + # - "sentinel3:26379" + # -- Password for Sentinel authentication (optional). + password: "" + # -- Or Use an existing secret for Sentinel password + existingSecret: "" + existingSecretPasswordKey: "sentinel-password" + # Not using secret for auth (comment if you use secret) auth: password: secretpassword