diff --git a/charts/garm/templates/_credentials.tpl b/charts/garm/templates/_credentials.tpl index cc41a51..c899cfc 100644 --- a/charts/garm/templates/_credentials.tpl +++ b/charts/garm/templates/_credentials.tpl @@ -33,24 +33,21 @@ Get Gitea token - either user-provided or generated {{- end -}} {{- end -}} -{{/* -Get JWT secret - either user-provided or generated -*/}} {{- define "garm.jwtSecret" -}} -{{- if .Values.garm.jwtAuth.secret -}} -{{- .Values.garm.jwtAuth.secret -}} +{{- $secret := lookup "v1" "Secret" .Release.Namespace (printf "%s-config" ( include "garm.fullname" . )) -}} +{{- if and $secret ((fromToml (index $secret.data "config.toml" | b64dec)).jwt_auth.secret) -}} +{{- $another := fromToml (index $secret.data "config.toml" | b64dec) -}} +{{ $another.jwt_auth.secret }} {{- else -}} {{- include "garm.randomString" . -}} {{- end -}} {{- end -}} -{{/* -Get database passphrase - either user-provided or generated -*/}} {{- define "garm.dbPassphrase" -}} -{{- if .Values.garm.database.passphrase -}} -{{- .Values.garm.database.passphrase -}} +{{- $secret := lookup "v1" "Secret" .Release.Namespace (printf "%s-db-credentials" ( include "garm.fullname" . )) -}} +{{- if and $secret (index $secret.data "passphrase" | b64dec) -}} +{{- (index $secret.data "passphrase" | b64dec) -}} {{- else -}} {{- include "garm.randomString" . -}} {{- end -}} -{{- end -}} \ No newline at end of file +{{- end -}} diff --git a/charts/garm/templates/secrets.yaml b/charts/garm/templates/secrets.yaml index 12acd21..044a1ef 100644 --- a/charts/garm/templates/secrets.yaml +++ b/charts/garm/templates/secrets.yaml @@ -14,6 +14,22 @@ stringData: GARM_URL: {{ printf "https://%s" (index .Values.ingress.hosts 0).host | quote }} GIT_URL: {{ .Values.credentials.gitea.url | quote }} --- +{{- $secretName := printf "%s%s" (include "garm.fullname" .) "-db-credentials" -}} +{{- $secretExists := lookup "v1" "Secret" .Release.Namespace $secretName -}} + +{{- if not $secretExists -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ $secretName }} + namespace: {{ .Release.Namespace }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade + "helm.sh/hook-weight": "-5" +stringData: + passphrase: {{- include "garm.randomString" . -}} +{{- end -}} +--- apiVersion: v1 kind: Secret metadata: @@ -77,13 +93,16 @@ stringData: {{- toYaml .Values.providerConfig.k8s.flavors | nindent 6 }} edge-connect-provider-config.toml: | - organization = {{ .Values.providerConfig.edgeConnect.organization | quote }} - region = {{ .Values.providerConfig.edgeConnect.region | quote }} - edge_connect_url = {{ .Values.providerConfig.edgeConnect.edgeConnectUrl | quote }} log_file = "/garm/provider.log" credentials_file = "/etc/garm-creds/creds.toml" - [cloudlet] + [edge_connect] + organization = {{ .Values.providerConfig.edgeConnect.organization | quote }} + region = {{ .Values.providerConfig.edgeConnect.region | quote }} + url = {{ .Values.providerConfig.edgeConnect.edgeConnectUrl | quote }} + default_flavor = {{ .Values.providerConfig.edgeConnect.defaultFlavor | quote }} + + [edge_connect.cloudlet] name = {{ .Values.providerConfig.edgeConnect.cloudlet.name | quote }} organization = {{ .Values.providerConfig.edgeConnect.cloudlet.organization | quote }} {{- if not .Values.credentials.edgeConnect.existingSecretName }} diff --git a/charts/garm/values.yaml b/charts/garm/values.yaml index 484cf2a..561c2a5 100644 --- a/charts/garm/values.yaml +++ b/charts/garm/values.yaml @@ -4,7 +4,7 @@ fullnameOverride: "" image: repository: edp.buildth.ing/devfw-cicd/garm - tag: provider-ec-40 + tag: provider-ec-43 pullPolicy: Always replicaCount: 1 @@ -52,8 +52,6 @@ garm: disableAuth: false jwtAuth: - # You should change this in production - # secret: "changeme-use-a-secure-random-string" timeToLive: "8760h" apiserver: @@ -65,7 +63,6 @@ garm: database: backend: sqlite3 - # passphrase: "changeme-use-a-secure-random-string" sqlite3: dbFile: "/garm/garm.db" @@ -106,6 +103,7 @@ providerConfig: organization: "edp-developer-framework" region: "EU" edgeConnectUrl: "https://hub.apps.edge.platform.mg3.mdb.osc.live" + defaultFlavor: "EU.small" cloudlet: name: "Munich" organization: "TelekomOP"