233 lines
10 KiB
YAML
233 lines
10 KiB
YAML
{{- $podAnnotations := ternary .Values.deployment.podAnnotations .Values.podAnnotations (not (empty .Values.deployment.podAnnotations )) -}}
|
|
{{- $automountServiceAccountToken := ternary .Values.deployment.automountServiceAccountToken .Values.automountServiceAccountToken (not (empty .Values.deployment.automountServiceAccountToken )) -}}
|
|
{{- $livenessProbe := ternary .Values.deployment.livenessProbe .Values.livenessProbe (not (empty .Values.deployment.livenessProbe )) -}}
|
|
{{- $readinessProbe := ternary .Values.deployment.readinessProbe .Values.readinessProbe (not (empty .Values.deployment.readinessProbe )) -}}
|
|
{{- $autoscaling := ternary .Values.deployment.autoscaling .Values.autoscaling (not (empty .Values.deployment.autoscaling )) -}}
|
|
{{- $resources := ternary .Values.deployment.resources .Values.resources (not (empty .Values.deployment.resources )) -}}
|
|
{{- $extraInitContainers := ternary .Values.deployment.extraInitContainers .Values.extraInitContainers (not (empty .Values.deployment.extraInitContainers )) -}}
|
|
{{- $extraContainers := ternary .Values.deployment.extraContainers .Values.extraContainers (not (empty .Values.deployment.extraContainers )) -}}
|
|
{{- $extraLabels := ternary .Values.deployment.extraLabels .Values.extraLabels (not (empty .Values.deployment.extraLabels )) -}}
|
|
{{- $extraVolumeMounts := ternary .Values.deployment.extraVolumeMounts .Values.extraVolumeMounts (not (empty .Values.deployment.extraVolumeMounts )) -}}
|
|
{{- $extraVolumes := ternary .Values.deployment.extraVolumes .Values.extraVolumes (not (empty .Values.deployment.extraVolumes )) -}}
|
|
{{- $nodeSelector := ternary .Values.deployment.nodeSelector .Values.nodeSelector (not (empty .Values.deployment.nodeSelector )) -}}
|
|
{{- $affinity := ternary .Values.deployment.affinity .Values.affinity (not (empty .Values.deployment.affinity )) -}}
|
|
{{- $tolerations := ternary .Values.deployment.tolerations .Values.tolerations (not (empty .Values.deployment.tolerations )) -}}
|
|
{{- $topologySpreadConstraints := ternary .Values.deployment.topologySpreadConstraints .Values.topologySpreadConstraints (not (empty .Values.deployment.topologySpreadConstraints )) -}}
|
|
{{- include "keto.automigration.typeVerification" . -}}
|
|
{{- $migrationExtraEnv := ternary .Values.deployment.automigration.extraEnv .Values.deployment.extraEnv (not (empty .Values.deployment.automigration.extraEnv )) -}}
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ include "keto.fullname" . }}
|
|
{{- if .Release.Namespace }}
|
|
namespace: {{ .Release.Namespace }}
|
|
{{- end }}
|
|
labels:
|
|
{{- include "keto.labels" . | nindent 4 }}
|
|
{{- with $extraLabels }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
annotations:
|
|
{{- with .Values.deployment.annotations }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
minReadySeconds: {{ .Values.deployment.minReadySeconds }}
|
|
{{- if not $autoscaling.enabled }}
|
|
replicas: {{ .Values.replicaCount }}
|
|
{{- end }}
|
|
revisionHistoryLimit: {{ .Values.deployment.revisionHistoryLimit }}
|
|
strategy:
|
|
{{- toYaml .Values.deployment.strategy | nindent 4 }}
|
|
selector:
|
|
matchLabels:
|
|
{{- include "keto.selectorLabels" . | nindent 6 }}
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
{{- include "keto.annotations.checksum" . | indent 8 -}}
|
|
{{- with $podAnnotations }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with $.Values.deployment.podMetadata.annotations }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
labels:
|
|
{{- include "keto.selectorLabels" . | nindent 8 }}
|
|
{{- with $extraLabels }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with $.Values.deployment.podMetadata.labels }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
spec:
|
|
{{- with .Values.imagePullSecrets }}
|
|
imagePullSecrets:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
initContainers:
|
|
{{- if $extraInitContainers}}
|
|
{{- tpl $extraInitContainers . | nindent 8 }}
|
|
{{- end }}
|
|
{{- if and ( .Values.keto.automigration.enabled ) ( eq .Values.keto.automigration.type "initContainer" ) }}
|
|
- name: {{ .Chart.Name }}-automigrate
|
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
{{- if .Values.keto.automigration.customCommand }}
|
|
command: {{- toYaml .Values.keto.automigration.customCommand | nindent 12 }}
|
|
{{- else }}
|
|
command: ["keto"]
|
|
{{- end }}
|
|
{{- if .Values.keto.automigration.customArgs }}
|
|
args: {{- toYaml .Values.keto.automigration.customArgs | nindent 12 }}
|
|
{{- else }}
|
|
args: [ "migrate", "up", "-y", "--config", "/etc/config/keto.yaml" ]
|
|
{{- end }}
|
|
volumeMounts:
|
|
- name: {{ include "keto.name" . }}-config-volume
|
|
mountPath: /etc/config
|
|
readOnly: true
|
|
{{- with $extraVolumeMounts }}
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
env:
|
|
{{- if not (empty ( include "keto.dsn" . )) }}
|
|
{{- if not (include "ory.extraEnvContainsEnvName" (list $migrationExtraEnv "DSN")) }}
|
|
- name: DSN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ include "keto.secretname" . }}
|
|
key: dsn
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if $migrationExtraEnv }}
|
|
{{- tpl (toYaml $migrationExtraEnv) . | nindent 12 }}
|
|
{{- end }}
|
|
{{- with .Values.keto.automigration.resources }}
|
|
resources:
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
serviceAccountName: {{ include "keto.serviceAccountName" . }}
|
|
automountServiceAccountToken: {{ $automountServiceAccountToken }}
|
|
securityContext:
|
|
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
|
terminationGracePeriodSeconds: {{ .Values.deployment.terminationGracePeriodSeconds }}
|
|
containers:
|
|
- name: {{ .Chart.Name }}
|
|
{{- with .Values.securityContext }}
|
|
securityContext:
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
command: {{- toYaml .Values.keto.command | nindent 12 }}
|
|
{{- if .Values.keto.customArgs }}
|
|
args: {{- toYaml .Values.keto.customArgs | nindent 12 }}
|
|
{{- else }}
|
|
args:
|
|
- serve
|
|
- --config
|
|
- /etc/config/keto.yaml
|
|
{{- end }}
|
|
ports:
|
|
- name: {{ .Values.service.read.name }}
|
|
containerPort: {{ .Values.keto.config.serve.read.port }}
|
|
protocol: TCP
|
|
- name: {{ .Values.service.write.name }}
|
|
containerPort: {{ .Values.keto.config.serve.write.port }}
|
|
protocol: TCP
|
|
- name: {{ .Values.service.metrics.name }}
|
|
containerPort: {{ .Values.keto.config.serve.metrics.port }}
|
|
protocol: TCP
|
|
{{- with .Values.deployment.extraPorts }}
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
lifecycle:
|
|
{{- toYaml .Values.deployment.lifecycle | nindent 12 }}
|
|
{{- if .Values.deployment.customLivenessProbe }}
|
|
livenessProbe:
|
|
{{- toYaml .Values.deployment.customLivenessProbe | nindent 12 }}
|
|
{{- end }}
|
|
readinessProbe:
|
|
{{- if .Values.deployment.customReadinessProbe }}
|
|
{{- toYaml .Values.deployment.customReadinessProbe | nindent 12 }}
|
|
{{- else }}
|
|
httpGet:
|
|
path: /health/alive
|
|
port: {{ .Values.keto.config.serve.write.port }}
|
|
httpHeaders:
|
|
- name: Host
|
|
value: '127.0.0.1'
|
|
{{- toYaml $readinessProbe | nindent 12 }}
|
|
{{- end }}
|
|
startupProbe:
|
|
{{- if .Values.deployment.customStartupProbe }}
|
|
{{- toYaml .Values.deployment.customStartupProbe | nindent 12 }}
|
|
{{- else }}
|
|
httpGet:
|
|
path: /health/ready
|
|
port: {{ .Values.keto.config.serve.write.port }}
|
|
httpHeaders:
|
|
- name: Host
|
|
value: '127.0.0.1'
|
|
{{- toYaml .Values.deployment.startupProbe | nindent 12 }}
|
|
{{- end }}
|
|
resources:
|
|
{{- toYaml $resources | nindent 12 }}
|
|
env:
|
|
{{- if not (empty ( include "keto.dsn" . )) }}
|
|
{{- if not (include "ory.extraEnvContainsEnvName" (list .Values.deployment.extraEnv "DSN")) }}
|
|
- name: DSN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ include "keto.secretname" . }}
|
|
key: dsn
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.deployment.extraEnv }}
|
|
{{- tpl (toYaml .Values.deployment.extraEnv) . | nindent 12 }}
|
|
{{- end }}
|
|
volumeMounts:
|
|
- name: {{ include "keto.name" . }}-config-volume
|
|
mountPath: /etc/config
|
|
readOnly: true
|
|
{{- with $extraVolumeMounts }}
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
{{- if $extraContainers }}
|
|
{{- tpl $extraContainers . | nindent 8 }}
|
|
{{- end }}
|
|
volumes:
|
|
- name: {{ include "keto.name" . }}-config-volume
|
|
configMap:
|
|
name: {{ include "keto.fullname" . }}-config
|
|
{{- with $extraVolumes }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.priorityClassName }}
|
|
priorityClassName: {{ . }}
|
|
{{- end }}
|
|
{{- with $nodeSelector }}
|
|
nodeSelector:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with $affinity }}
|
|
affinity:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with $tolerations }}
|
|
tolerations:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with $topologySpreadConstraints }}
|
|
topologySpreadConstraints:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.deployment.dnsConfig }}
|
|
dnsConfig:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|