From 95d47a160837f9e1d188b6a66742557a13e977af Mon Sep 17 00:00:00 2001 From: Tamal Saha Date: Tue, 4 Jun 2024 10:39:23 -0700 Subject: [PATCH] Run migrate job as pre hook with option to auto cleanup xref: https://x.com/tsaha/status/1805382111844778275 Signed-off-by: Tamal Saha --- charts/openfga/Chart.yaml | 2 +- charts/openfga/templates/deployment.yaml | 2 ++ charts/openfga/templates/job.yaml | 25 +++++++++++++++++++----- charts/openfga/values.yaml | 15 +++++++++----- 4 files changed, 33 insertions(+), 11 deletions(-) diff --git a/charts/openfga/Chart.yaml b/charts/openfga/Chart.yaml index 80261e6..272b44d 100644 --- a/charts/openfga/Chart.yaml +++ b/charts/openfga/Chart.yaml @@ -3,7 +3,7 @@ name: openfga description: A Kubernetes Helm chart for the OpenFGA project. type: application -version: 0.2.6 +version: 0.2.7 appVersion: "v1.5.4" home: "https://openfga.github.io/helm-charts" diff --git a/charts/openfga/templates/deployment.yaml b/charts/openfga/templates/deployment.yaml index d3d9aec..72b533d 100644 --- a/charts/openfga/templates/deployment.yaml +++ b/charts/openfga/templates/deployment.yaml @@ -15,6 +15,7 @@ spec: selector: matchLabels: {{- include "openfga.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: server template: metadata: annotations: @@ -26,6 +27,7 @@ spec: prometheus.io/port: "{{ (split ":" .Values.telemetry.metrics.addr)._1 }}" labels: {{- include "openfga.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: server spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: diff --git a/charts/openfga/templates/job.yaml b/charts/openfga/templates/job.yaml index 8a1acdc..fa1f9fa 100644 --- a/charts/openfga/templates/job.yaml +++ b/charts/openfga/templates/job.yaml @@ -8,19 +8,35 @@ metadata: {{- with .Values.migrate.labels }} {{- toYaml . | nindent 4}} {{- end}} - {{- with .Values.migrate.annotations }} annotations: - {{- toYaml . | nindent 4 }} - {{- end }} + {{- with .Values.migrate.annotations }} + {{- toYaml . | nindent 4}} + {{- end}} + {{- if .Values.migrate.hook.enable }} + helm.sh/hook: {{ .Values.migrate.hook.hook | quote }} + helm.sh/hook-weight: {{ .Values.migrate.hook.hookWeight | quote }} + helm.sh/hook-delete-policy: {{ .Values.migrate.hook.hookDeletePolicy | quote }} + {{- end}} spec: + backoffLimit: 3 + {{- if ge (int .Values.migrate.ttlSecondsAfterFinished) 0 }} + ttlSecondsAfterFinished: {{ .Values.migrate.ttlSecondsAfterFinished }} + {{- end }} + manualSelector: true + selector: + matchLabels: + {{- include "openfga.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: migrate template: metadata: {{- with .Values.migrate.annotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} - {{- with .Values.migrate.labels }} labels: + {{- include "openfga.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: migrate + {{- with .Values.migrate.labels }} {{- toYaml . | nindent 8 }} {{- end }} spec: @@ -79,5 +95,4 @@ spec: tolerations: {{- toYaml . | nindent 8 }} {{- end }} - backoffLimit: 1 {{- end }} diff --git a/charts/openfga/values.yaml b/charts/openfga/values.yaml index 5222fe7..a9787cb 100644 --- a/charts/openfga/values.yaml +++ b/charts/openfga/values.yaml @@ -320,9 +320,14 @@ affinity: {} sidecars: [] migrate: sidecars: [] - annotations: - helm.sh/hook: "post-install, post-upgrade, post-rollback, post-delete" - helm.sh/hook-weight: "-5" - helm.sh/hook-delete-policy: "before-hook-creation" + # https://github.com/fluxcd/flux2/discussions/1085#discussioncomment-473271 + # https://github.com/helm/helm/issues/9027#issuecomment-1908032461 + hook: + enable: false + hook: "post-install, post-upgrade, post-rollback, post-delete" + hookWeight: "-5" + hookDeletePolicy: "before-hook-creation" + annotations: {} labels: {} - timeout: + timeout: 10m + ttlSecondsAfterFinished: -1