From 77ad721619977d5e59723372799759de91304f15 Mon Sep 17 00:00:00 2001 From: Louis Chan Date: Fri, 30 Aug 2024 16:13:58 +0800 Subject: [PATCH 1/4] Allow GCS service account key to be optional --- authgear/templates/authgear-images-server.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/authgear/templates/authgear-images-server.yaml b/authgear/templates/authgear-images-server.yaml index dd5eeb4..1392b55 100644 --- a/authgear/templates/authgear-images-server.yaml +++ b/authgear/templates/authgear-images-server.yaml @@ -1,4 +1,4 @@ -{{- if eq .Values.authgear.imagesServer.objectStore.type "GCP_GCS" }} +{{- if .Values.authgear.imagesServer.objectStore.gcpGCS.credentialsJSONContent }} apiVersion: v1 kind: ConfigMap metadata: @@ -31,7 +31,7 @@ spec: - name: custom-resources {{- toYaml .Values.authgear.appCustomResources.volume | nindent 8 }} {{- end }} - {{- if eq .Values.authgear.imagesServer.objectStore.type "GCP_GCS" }} + {{- if .Values.authgear.imagesServer.objectStore.gcpGCS.credentialsJSONContent }} - name: gcp-credentials configMap: name: {{ include "authgear.nameImages" . | quote }} @@ -68,7 +68,7 @@ spec: - name: custom-resources mountPath: {{ .Values.authgear.appCustomResources.path | quote }} {{- end }} - {{- if eq .Values.authgear.imagesServer.objectStore.type "GCP_GCS" }} + {{- if .Values.authgear.imagesServer.objectStore.gcpGCS.credentialsJSONContent }} - name: gcp-credentials mountPath: /var/authgear/images/gcp {{- end }} @@ -122,8 +122,10 @@ spec: value: {{ .Values.authgear.imagesServer.objectStore.gcpGCS.bucketName | quote }} - name: IMAGES_OBJECT_STORE_GCP_GCS_SERVICE_ACCOUNT value: {{ .Values.authgear.imagesServer.objectStore.gcpGCS.serviceAccount | quote }} + {{- if .Values.authgear.imagesServer.objectStore.gcpGCS.credentialsJSONContent }} - name: IMAGES_OBJECT_STORE_GCP_GCS_CREDENTIALS_JSON_PATH value: /var/authgear/images/gcp/credentials.json + {{- end }} {{- end }} {{- if eq .Values.authgear.imagesServer.objectStore.type "AZURE_BLOB_STORAGE" }} - name: IMAGES_OBJECT_STORE_AZURE_BLOB_STORAGE_STORAGE_ACCOUNT From 5ee835e8171196367deec8e579dc9ef0df971678 Mon Sep 17 00:00:00 2001 From: Louis Chan Date: Fri, 30 Aug 2024 16:19:21 +0800 Subject: [PATCH 2/4] Support providing a service account to images server --- authgear/templates/authgear-images-server.yaml | 4 +++- authgear/values.yaml | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/authgear/templates/authgear-images-server.yaml b/authgear/templates/authgear-images-server.yaml index 1392b55..05ec7e2 100644 --- a/authgear/templates/authgear-images-server.yaml +++ b/authgear/templates/authgear-images-server.yaml @@ -25,7 +25,9 @@ spec: labels: {{- include "authgear.imagesSelectorLabels" . | nindent 8 }} spec: - serviceAccountName: {{ include "authgear.nameMain" . | quote }} + {{- if .Values.authgear.imagesServer.serviceAccountName }} + serviceAccountName: {{ .Values.authgear.imagesServer.serviceAccountName | quote }} + {{- end }} volumes: {{- if .Values.authgear.appCustomResources.path }} - name: custom-resources diff --git a/authgear/values.yaml b/authgear/values.yaml index 9c0a951..f0d2ead 100644 --- a/authgear/values.yaml +++ b/authgear/values.yaml @@ -293,6 +293,7 @@ authgear: container: "" accessKey: "" + serviceAccountName: "" nodeSelector: {} nodeName: "" affinity: {} From 07e972d02b78471683aabc532dde84cba500198c Mon Sep 17 00:00:00 2001 From: Louis Chan Date: Fri, 30 Aug 2024 17:33:23 +0800 Subject: [PATCH 3/4] Bump version to 10.13.0 --- authgear/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/authgear/Chart.yaml b/authgear/Chart.yaml index 3a1992f..d44bf51 100644 --- a/authgear/Chart.yaml +++ b/authgear/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 type: application name: authgear description: A Helm chart for Authgear -version: 10.12.1 +version: 10.13.0 appVersion: 0.1.0 From 038d93350fff835e87894a3140fd9a17989441f0 Mon Sep 17 00:00:00 2001 From: Louis Chan Date: Fri, 30 Aug 2024 17:37:55 +0800 Subject: [PATCH 4/4] Release 10.13.0 --- .cr-index/index.yaml | 12 +++++++++++- .cr-release-packages/authgear-10.13.0.tgz | Bin 0 -> 10621 bytes 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .cr-release-packages/authgear-10.13.0.tgz diff --git a/.cr-index/index.yaml b/.cr-index/index.yaml index c2d8223..fa0595a 100644 --- a/.cr-index/index.yaml +++ b/.cr-index/index.yaml @@ -1,6 +1,16 @@ apiVersion: v1 entries: authgear: + - apiVersion: v2 + appVersion: 0.1.0 + created: "2024-08-30T17:35:46.525425+08:00" + description: A Helm chart for Authgear + digest: 5dfa6fe75a82de8bfd1741319787fce8e03a3822ee58a942c2d6e0d5b6344c37 + name: authgear + type: application + urls: + - https://github.com/authgear/helm-charts/releases/download/authgear-10.13.0/authgear-10.13.0.tgz + version: 10.13.0 - apiVersion: v2 appVersion: 0.1.0 created: "2024-08-22T18:03:49.211938+08:00" @@ -1061,4 +1071,4 @@ entries: urls: - https://github.com/authgear/helm-charts/releases/download/authgear-0.1.0/authgear-0.1.0.tgz version: 0.1.0 -generated: "2024-08-22T18:04:09.920146+08:00" +generated: "2024-08-30T17:36:05.970595+08:00" diff --git a/.cr-release-packages/authgear-10.13.0.tgz b/.cr-release-packages/authgear-10.13.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..969e63eeeff35578974112ed21a0573335d07dea GIT binary patch literal 10621 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 XPxCa-OMd=000960DyaQ$0KNeLcp~mp literal 0 HcmV?d00001