diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cdf9259..1e3efe76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Added + + - Added new `trakkar` chart to deploy [traccar](https://www.traccar.org/) <-> kano gateway. + ### Changed + + - `kargo.environment.render` now takes an additional `rawEnv` parameter that can be used to define environment variables without transforming their names. + - Updated `kargo` chart helpers to use the new `rawEnv` (`kargo.deployment`, `kargo.e2e-tests-cronjob`, `kargo.envsubstConfig.renderInitContainer`, `kargo.kdk-deployment`, `kargo.krawler-cronjob`). + - Updated `express-gateway`, `k2`, `kanboard`, `passbolt` and `thredds` chart to use the new `rawEnv`. + ### Removed ## kargo-1.0.6 (2024-07-15) diff --git a/charts/express-gateway/templates/deployment.yaml b/charts/express-gateway/templates/deployment.yaml index 27eb182e..d617a48d 100644 --- a/charts/express-gateway/templates/deployment.yaml +++ b/charts/express-gateway/templates/deployment.yaml @@ -45,7 +45,7 @@ spec: - name: HTTP_PROXY - name: HTTPS_PROXY - name: NO_PROXY - {{- include "kargo.environment.render" (dict "env" .Values.env "context" $) | indent 12 }} + {{- include "kargo.environment.render" (dict "env" .Values.env "rawEnv" .Values.rawEnv "context" $) | indent 12 }} ports: - name: {{ include "kargo.names.name" . }} containerPort: 8080 diff --git a/charts/k2/templates/deployment.yaml b/charts/k2/templates/deployment.yaml index c0d54315..0c79286a 100644 --- a/charts/k2/templates/deployment.yaml +++ b/charts/k2/templates/deployment.yaml @@ -31,7 +31,7 @@ spec: image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} env: - {{- include "kargo.environment.render" (dict "env" .Values.env "context" $) | indent 12 }} + {{- include "kargo.environment.render" (dict "env" .Values.env "rawEnv" .Values.rawEnv "context" $) | indent 12 }} ports: - name: {{ include "kargo.names.name" . }} containerPort: 8080 diff --git a/charts/kanboard/templates/deployment.yaml b/charts/kanboard/templates/deployment.yaml index 807f7733..452e7c0a 100644 --- a/charts/kanboard/templates/deployment.yaml +++ b/charts/kanboard/templates/deployment.yaml @@ -36,7 +36,7 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} {{- if .Values.env }} env: - {{- include "kargo.environment.render" (dict "env" .Values.env "context" $) | indent 12 }} + {{- include "kargo.environment.render" (dict "env" .Values.env "rawEnv" .Values.rawEnv "context" $) | indent 12 }} {{- end }} ports: - name: {{ include "kargo.names.name" . }} diff --git a/charts/kargo/templates/_deployment.yaml b/charts/kargo/templates/_deployment.yaml index e237505d..097e2a38 100644 --- a/charts/kargo/templates/_deployment.yaml +++ b/charts/kargo/templates/_deployment.yaml @@ -44,7 +44,7 @@ spec: imagePullPolicy: {{ ternary "Always" .Values.image.pullPolicy .Values.forceRestart }} {{- if .Values.env }} env: - {{- include "kargo.environment.render" (dict "env" .Values.env "context" $) | indent 12 }} + {{- include "kargo.environment.render" (dict "env" .Values.env "rawEnv" .Values.rawEnv "context" $) | indent 12 }} {{- end }} ports: - name: {{ include "kargo.names.name" . | trunc 15 }} diff --git a/charts/kargo/templates/_e2e-tests-cronjob.yaml b/charts/kargo/templates/_e2e-tests-cronjob.yaml index 059013c2..f91bd23b 100644 --- a/charts/kargo/templates/_e2e-tests-cronjob.yaml +++ b/charts/kargo/templates/_e2e-tests-cronjob.yaml @@ -35,7 +35,7 @@ spec: readOnly: true imagePullPolicy: Always env: - {{- include "kargo.environment.render" (dict "env" .args.env "context" .context) | indent 16 }} + {{- include "kargo.environment.render" (dict "env" .args.env "rawEnv" .args.rawEnv "context" .context) | indent 16 }} securityContext: capabilities: add: diff --git a/charts/kargo/templates/_environment.tpl b/charts/kargo/templates/_environment.tpl index 827fb665..04c6f9b6 100644 --- a/charts/kargo/templates/_environment.tpl +++ b/charts/kargo/templates/_environment.tpl @@ -1,7 +1,7 @@ {{/* Renders an object that contains a list of key/value properties that can be transformed into environement variables Usage: -{{ include "kargo.environment.render" (dict "env" .Values.path.to.the.env "context" $) }} +{{ include "kargo.environment.render" (dict "env" .Values.path.to.the.env "rawEnv" .Values.path.to.the.rawEnv "context" $) }} */}} {{- define "kargo.environment.render" -}} {{- $defaultSecret := include "kargo.names.secret" .context }} @@ -16,4 +16,15 @@ Usage: value: {{ include "kargo.tplvalues.render" (dict "value" $value "context" $.context) | quote }} {{- end }} {{- end }} +{{- range $key, $value := .rawEnv }} +- name: {{ $key }} + {{- if kindIs "map" $value }} + valueFrom: + secretKeyRef: + name: {{ $value.secret | default $defaultSecret }} + key: {{ $value.key | default (kebabcase $key) }} + {{- else }} + value: {{ include "kargo.tplvalues.render" (dict "value" $value "context" $.context) | quote }} + {{- end }} +{{- end }} {{- end -}} diff --git a/charts/kargo/templates/_envsubstConfig.tpl b/charts/kargo/templates/_envsubstConfig.tpl index 34bd6e84..80456ea8 100644 --- a/charts/kargo/templates/_envsubstConfig.tpl +++ b/charts/kargo/templates/_envsubstConfig.tpl @@ -31,7 +31,7 @@ Builds an initContainer definition to perform envsubst on a configMap and store - '{}' - ';' env: - {{- include "kargo.environment.render" (dict "env" .args.env "context" .context) | indent 4 }} + {{- include "kargo.environment.render" (dict "env" .args.env "rawEnv" .args.rawEnv "context" .context) | indent 4 }} volumeMounts: - mountPath: /source name: envsubst-config-source-config{{ default "" .args.helperSuffix }} diff --git a/charts/kargo/templates/_kdk-deployment.yaml b/charts/kargo/templates/_kdk-deployment.yaml index 04fb3bc7..fb4837ca 100644 --- a/charts/kargo/templates/_kdk-deployment.yaml +++ b/charts/kargo/templates/_kdk-deployment.yaml @@ -61,7 +61,7 @@ spec: name: {{ .Values.distribution.redisUrl.secret | default (include "kargo.names.secret" .) }} key: {{ .Values.distribution.redisUrl.key | default "redis-url" }} {{- end }} - {{- include "kargo.environment.render" (dict "env" .Values.env "context" $) | indent 12 }} + {{- include "kargo.environment.render" (dict "env" .Values.env "rawEnv" .Values.rawEnv "context" $) | indent 12 }} ports: - name: {{ include "kargo.names.name" . | trunc 15 }} containerPort: {{ .Values.containerPort | default 8081 }} diff --git a/charts/kargo/templates/_krawler-cronjob.yaml b/charts/kargo/templates/_krawler-cronjob.yaml index 9642b44d..562e4ae9 100644 --- a/charts/kargo/templates/_krawler-cronjob.yaml +++ b/charts/kargo/templates/_krawler-cronjob.yaml @@ -52,7 +52,7 @@ spec: value: "" - name: MESSAGE_TEMPLATE value: "*<%= SUBDOMAIN %>*\nKrawler job *<%= jobId %>*: <%= error.message %>" - {{- include "kargo.environment.render" (dict "env" .Values.env "context" $) | indent 16 }} + {{- include "kargo.environment.render" (dict "env" .Values.env "rawEnv" .Values.rawEnv "context" $) | indent 16 }} {{- if .Values.dataVolume }} volumeMounts: - mountPath: {{ .Values.dataMountPath | default "/data" }} diff --git a/charts/passbolt/templates/deployment.yaml b/charts/passbolt/templates/deployment.yaml index f76b6418..bb47f1e7 100644 --- a/charts/passbolt/templates/deployment.yaml +++ b/charts/passbolt/templates/deployment.yaml @@ -36,7 +36,7 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} {{- if .Values.env }} env: - {{- include "kargo.environment.render" (dict "env" .Values.env "context" $) | indent 12 }} + {{- include "kargo.environment.render" (dict "env" .Values.env "rawEnv" .Values.rawEnv "context" $) | indent 12 }} {{- end }} ports: - name: {{ include "kargo.names.name" . }} diff --git a/charts/thredds/templates/deployment.yaml b/charts/thredds/templates/deployment.yaml index d2af2234..74370d5a 100644 --- a/charts/thredds/templates/deployment.yaml +++ b/charts/thredds/templates/deployment.yaml @@ -47,7 +47,7 @@ spec: - name: HTTP_PROXY - name: HTTPS_PROXY - name: NO_PROXY - {{- include "kargo.environment.render" (dict "env" .Values.env "context" $) | indent 12 }} + {{- include "kargo.environment.render" (dict "env" .Values.env "rawEnv" .Values.rawEnv "context" $) | indent 12 }} ports: - name: {{ include "kargo.names.name" . }} containerPort: 8080