From e843c58888dff0a21a846dd34ea8fa2e43a2320e Mon Sep 17 00:00:00 2001 From: Nimish Date: Mon, 10 Feb 2025 15:33:19 +0530 Subject: [PATCH 01/10] feat: add database migration job to Helm chart --- phase-console/templates/job-migrations.yaml | 55 +++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 phase-console/templates/job-migrations.yaml diff --git a/phase-console/templates/job-migrations.yaml b/phase-console/templates/job-migrations.yaml new file mode 100644 index 0000000..16ce82c --- /dev/null +++ b/phase-console/templates/job-migrations.yaml @@ -0,0 +1,55 @@ +{{- if not .Values.global.external.enabled }} +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ include "phase.fullname" . }}-migrations + labels: + {{- include "phase.labels" . | nindent 4 }} + job-name: {{ include "phase.fullname" . }}-migrations + annotations: + # Migrations are run after all other resources (including PostgreSQL and Redis) are created and ready + "helm.sh/hook": "post-install,post-upgrade" + "helm.sh/hook-weight": "1" + "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" +spec: + backoffLimit: 6 + template: + metadata: + labels: + {{- include "phase.selectorLabels" . | nindent 8 }} + app: migrations + spec: + restartPolicy: OnFailure + initContainers: + - name: check-db-ready + image: postgres:15.4-alpine3.17 + command: ['sh', '-c', + 'echo "Waiting for database at {{ tpl .Values.database.host . }}:{{ .Values.database.port }}..."; + until pg_isready -h {{ tpl .Values.database.host . }} -p {{ .Values.database.port }} -U {{ .Values.database.user }} -t 5; + do echo "Database is unavailable - sleeping 5s"; sleep 5; done; + echo "Database is ready!"'] + # Set PGPASSWORD as DATABASE_PASSWORD + env: + - name: PGPASSWORD + valueFrom: + secretKeyRef: + name: {{ include "phase.fullname" . }}-secrets + key: DATABASE_PASSWORD + containers: + - name: migrations + image: "{{ .Values.global.images.backend.repository }}:{{ .Values.global.version }}" + imagePullPolicy: {{ .Values.app.backend.image.pullPolicy }} + command: ["python", "manage.py", "migrate"] + envFrom: + - configMapRef: + name: {{ include "phase.fullname" . }}-config + - secretRef: + name: {{ include "phase.fullname" . }}-secrets + env: + - name: ALLOWED_HOSTS + value: "$(HOST),{{ include "phase.fullname" . }}-worker" + - name: ALLOWED_ORIGINS + value: "$(HTTP_PROTOCOL)$(HOST)" + - name: SESSION_COOKIE_DOMAIN + value: "$(HOST)" +{{- end }} From 3d1040b2c1d7fd169ea090c5a9f2cf94659ee54c Mon Sep 17 00:00:00 2001 From: Nimish Date: Mon, 10 Feb 2025 15:33:39 +0530 Subject: [PATCH 02/10] feat: configure backend deployment for external migrations --- phase-console/templates/deployment-backend.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/phase-console/templates/deployment-backend.yaml b/phase-console/templates/deployment-backend.yaml index 8db9797..e0bde6a 100644 --- a/phase-console/templates/deployment-backend.yaml +++ b/phase-console/templates/deployment-backend.yaml @@ -15,6 +15,9 @@ spec: labels: {{- include "phase.selectorLabels" . | nindent 8 }} app: backend + annotations: + # Wait for the migrations to complete + batch.kubernetes.io/job-completion: "{{ include "phase.fullname" . }}-migrations" spec: containers: - name: backend @@ -34,6 +37,8 @@ spec: value: "$(HTTP_PROTOCOL)$(HOST)" - name: SESSION_COOKIE_DOMAIN value: "$(HOST)" + - name: EXTERNAL_MIGRATION + value: "true" {{- if .Values.app.backend.readinessProbe.enabled }} readinessProbe: httpGet: From 0709272303c22beab4eba7acbe069d9a781ab1ce Mon Sep 17 00:00:00 2001 From: Nimish Date: Mon, 10 Feb 2025 15:34:18 +0530 Subject: [PATCH 03/10] feat: add Redis readiness check for worker deployment --- .../templates/deployment-worker.yaml | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/phase-console/templates/deployment-worker.yaml b/phase-console/templates/deployment-worker.yaml index bf81d76..17882fe 100644 --- a/phase-console/templates/deployment-worker.yaml +++ b/phase-console/templates/deployment-worker.yaml @@ -15,7 +15,30 @@ spec: labels: {{- include "phase.selectorLabels" . | nindent 8 }} app: worker + annotations: + # Wait for the migrations to complete + batch.kubernetes.io/job-completion: "{{ include "phase.fullname" . }}-migrations" spec: + initContainers: + - name: wait-for-redis + image: redis:alpine3.19 + command: ['sh', '-c', + 'echo "Waiting for Redis at {{ tpl .Values.redis.host . }}:{{ .Values.redis.port }}..."; + {{- if .Values.secrets.redisPassword }} + until redis-cli -h {{ tpl .Values.redis.host . }} -p {{ .Values.redis.port }} -a "$REDIS_PASSWORD" ping; + {{- else }} + until redis-cli -h {{ tpl .Values.redis.host . }} -p {{ .Values.redis.port }} ping; + {{- end }} + do echo "Redis is unavailable - sleeping 5s"; sleep 5; done; + echo "Redis is ready!"'] + env: + {{- if .Values.secrets.redisPassword }} + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: {{ include "phase.fullname" . }}-secrets + key: REDIS_PASSWORD + {{- end }} containers: - name: worker image: "{{ .Values.global.images.backend.repository }}:{{ .Values.global.version }}" @@ -34,4 +57,4 @@ spec: - name: SESSION_COOKIE_DOMAIN value: "$(HOST)" resources: - {{- toYaml .Values.app.worker.resources | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.app.worker.resources | nindent 12 }} From 92d0ba1e882c14132985f5e9ab1f2d04d22b6589 Mon Sep 17 00:00:00 2001 From: Nimish Date: Mon, 10 Feb 2025 15:35:18 +0530 Subject: [PATCH 04/10] feat: improved Redis deployment configuration with password and readiness probe --- phase-console/templates/deployment-redis.yaml | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/phase-console/templates/deployment-redis.yaml b/phase-console/templates/deployment-redis.yaml index f2dbf66..02ee013 100644 --- a/phase-console/templates/deployment-redis.yaml +++ b/phase-console/templates/deployment-redis.yaml @@ -21,13 +21,28 @@ spec: - name: redis image: "{{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }}" imagePullPolicy: {{ .Values.redis.image.pullPolicy }} + args: + {{- if .Values.secrets.redisPassword }} + - --requirepass + - $(REDIS_PASSWORD) + {{- end }} + env: + {{- if .Values.secrets.redisPassword }} + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: {{ include "phase.fullname" . }}-secrets + key: REDIS_PASSWORD + {{- end }} ports: - - containerPort: 6379 + - containerPort: {{ .Values.redis.service.port }} + {{- if .Values.redis.readinessProbe.enabled }} readinessProbe: tcpSocket: - port: 6379 + port: {{ .Values.redis.service.port }} initialDelaySeconds: {{ .Values.redis.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.redis.readinessProbe.periodSeconds }} + {{- end }} resources: {{- toYaml .Values.redis.resources | nindent 12 }} -{{- end }} \ No newline at end of file +{{- end }} From 6d501948224171ead406db5d97f564dec237e53e Mon Sep 17 00:00:00 2001 From: Nimish Date: Mon, 10 Feb 2025 15:35:48 +0530 Subject: [PATCH 05/10] chore: removed redundant variable --- phase-console/templates/configmap.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/phase-console/templates/configmap.yaml b/phase-console/templates/configmap.yaml index fc67195..b28f172 100644 --- a/phase-console/templates/configmap.yaml +++ b/phase-console/templates/configmap.yaml @@ -14,5 +14,4 @@ data: DATABASE_USER: {{ .Values.database.user | quote }} REDIS_HOST: {{ tpl .Values.redis.host . | quote }} REDIS_PORT: {{ .Values.redis.port | quote }} - NEXT_TELEMETRY_DISABLED: {{ default "1" | quote }} SESSION_COOKIE_DOMAIN: {{ .Values.global.host | quote }} From 675d1c69faafee6d1c7be9c56bf85ad8fcdc28c6 Mon Sep 17 00:00:00 2001 From: Nimish Date: Mon, 10 Feb 2025 15:36:25 +0530 Subject: [PATCH 06/10] feat: add authentication and Redis secret configurations --- phase-console/templates/secret.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/phase-console/templates/secret.yaml b/phase-console/templates/secret.yaml index 9bc5b94..506e54a 100644 --- a/phase-console/templates/secret.yaml +++ b/phase-console/templates/secret.yaml @@ -8,8 +8,13 @@ stringData: SECRET_KEY: {{ .Values.secrets.secretKey | quote }} SERVER_SECRET: {{ .Values.secrets.serverSecret | quote }} DATABASE_PASSWORD: {{ .Values.secrets.databasePassword | quote }} + REDIS_PASSWORD: {{ .Values.secrets.redisPassword | quote }} GOOGLE_CLIENT_ID: {{ .Values.secrets.googleClientId | quote }} GOOGLE_CLIENT_SECRET: {{ .Values.secrets.googleClientSecret | quote }} + GOOGLE_OIDC_CLIENT_ID: {{ .Values.secrets.googleOidcClientId | quote }} + GOOGLE_OIDC_CLIENT_SECRET: {{ .Values.secrets.googleOidcClientSecret | quote }} + JUMPCLOUD_OIDC_CLIENT_ID: {{ .Values.secrets.jumpcloudOidcClientId | quote }} + JUMPCLOUD_OIDC_CLIENT_SECRET: {{ .Values.secrets.jumpcloudOidcClientSecret | quote }} GITHUB_CLIENT_ID: {{ .Values.secrets.githubClientId | quote }} GITHUB_CLIENT_SECRET: {{ .Values.secrets.githubClientSecret | quote }} GITLAB_CLIENT_ID: {{ .Values.secrets.gitlabClientId | quote }} From 01926ef7ab322f7e7e49daeddc1baab75a5c7521 Mon Sep 17 00:00:00 2001 From: Nimish Date: Mon, 10 Feb 2025 15:36:46 +0530 Subject: [PATCH 07/10] feat: add migrations configuration and additional OIDC secret configurations --- phase-console/values.yaml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/phase-console/values.yaml b/phase-console/values.yaml index cde2eb0..5a1374c 100644 --- a/phase-console/values.yaml +++ b/phase-console/values.yaml @@ -15,13 +15,20 @@ sso: providers: "google,github,gitlab" # Secrets (DO NOT use these in production, generate your own secure values) +# Docs: https://docs.phase.dev/self-hosting/configuration/envars + secrets: nextauthSecret: "efd7e1e87edd416bc8ee28e7ee1d961ab7f4a4724ea4249d36f07c92616a322d" secretKey: "ee728b91f92b48841a847fad61549f9f0b384f172b74bdcc859c1aadbfb633bd" serverSecret: "896d2d2462ebd12683cee44d7808939217da961d1f15e69c977ae250f23a65c9" databasePassword: "f5cc076c4788bba216567380247b394d71a2fa0c8970052005a824bad340c6be" + redisPassword: "98948797d7d3dc209bd3a6384a5e1438dc1e1cc3972305b9ca67c3b3c1b2bf01" googleClientId: "" googleClientSecret: "" + googleOidcClientId: "" + googleOidcClientSecret: "" + jumpcloudOidcClientId: "" + jumpcloudOidcClientSecret: "" githubClientId: "" githubClientSecret: "" gitlabClientId: "" @@ -89,6 +96,14 @@ app: cpu: 250m memory: 512Mi + migrations: + image: + pullPolicy: IfNotPresent + resources: + requests: + cpu: 125m + memory: 256Mi + database: external: false host: "{{ .Release.Name }}-postgres" @@ -130,7 +145,6 @@ redis: cpu: 100m memory: 256Mi - # Autoscaling settings autoscaling: frontend: @@ -147,4 +161,4 @@ autoscaling: enabled: false minReplicas: 1 maxReplicas: 10 - targetCPUUtilizationPercentage: 80 \ No newline at end of file + targetCPUUtilizationPercentage: 80 From 7c36988de8dd14d1f33bd69591f7dd2614f6e9e9 Mon Sep 17 00:00:00 2001 From: Nimish Date: Mon, 10 Feb 2025 18:08:12 +0530 Subject: [PATCH 08/10] chore: bumped version --- phase-console/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phase-console/Chart.yaml b/phase-console/Chart.yaml index 51502fb..df1a068 100644 --- a/phase-console/Chart.yaml +++ b/phase-console/Chart.yaml @@ -3,7 +3,7 @@ name: phase icon: https://phase.dev/apple-touch-icon.png description: A Helm chart for deploying the Phase Secrets Manager type: application -version: 0.1.1 +version: 0.2.0 keywords: - phase - deployment From a4e2a839447a21d904eccd89f9dc184aea71ff15 Mon Sep 17 00:00:00 2001 From: Nimish Date: Mon, 10 Feb 2025 18:08:32 +0530 Subject: [PATCH 09/10] feat: added helm package --- helm-repo/phase-0.1.1.tgz | Bin 5313 -> 0 bytes helm-repo/phase-0.2.0.tgz | Bin 0 -> 6161 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 helm-repo/phase-0.1.1.tgz create mode 100644 helm-repo/phase-0.2.0.tgz diff --git a/helm-repo/phase-0.1.1.tgz b/helm-repo/phase-0.1.1.tgz deleted file mode 100644 index 4c863a0f2ae084128c8cc3723a3d595412d5d027..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5313 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 TEG+*U009609?gUR0EPen!zW?| diff --git a/helm-repo/phase-0.2.0.tgz b/helm-repo/phase-0.2.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..50dac721f93e83e8632571a03b863e6622de2287 GIT binary patch literal 6161 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 literal 0 HcmV?d00001 From b1c830d2e7bd2488fc47d48fe38196da2669a73c Mon Sep 17 00:00:00 2001 From: Nimish Date: Mon, 10 Feb 2025 18:08:41 +0530 Subject: [PATCH 10/10] chore: updated index --- helm-repo/index.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/helm-repo/index.yaml b/helm-repo/index.yaml index 9b098d7..c61be34 100644 --- a/helm-repo/index.yaml +++ b/helm-repo/index.yaml @@ -2,9 +2,9 @@ apiVersion: v1 entries: phase: - apiVersion: v2 - created: "2024-10-29T13:20:00.665108467+05:30" + created: "2025-02-10T18:07:46.567713489+05:30" description: A Helm chart for deploying the Phase Secrets Manager - digest: 2bcc5bd5f1da6139c2c07abb001eb3ec8f60d0ea0e8dc5f754c4cc8ca7bfe9b3 + digest: e7a5ef550c40bff206a7861f6a52cbd67b32fcd1ff38844924f2cc4225059562 home: https://github.com/phasehq/kubernetes-secrets-operator icon: https://phase.dev/apple-touch-icon.png keywords: @@ -18,12 +18,12 @@ entries: - https://github.com/phasehq/console type: application urls: - - phase-0.1.1.tgz - version: 0.1.1 + - phase-0.2.0.tgz + version: 0.2.0 phase-kubernetes-operator: - apiVersion: v2 appVersion: 1.2.3 - created: "2024-10-29T13:20:00.66538365+05:30" + created: "2025-02-10T18:07:46.568323055+05:30" description: A Helm chart for deploying the Phase Kubernetes Operator digest: 93e571ad092af42648a8731de51d6b1a371f5b738a5b6c5a327ca38fa90d45e4 home: https://github.com/phasehq/kubernetes-secrets-operator @@ -43,4 +43,4 @@ entries: urls: - phase-kubernetes-operator-1.2.3.tgz version: 1.2.3 -generated: "2024-10-29T13:20:00.664090903+05:30" +generated: "2025-02-10T18:07:46.566497163+05:30"