Files
Kyoo/chart/templates/scanner/deployment.yaml

138 lines
6.1 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
{{- with (mergeOverwrite (deepCopy .Values.global.deploymentAnnotations) .Values.scanner.deploymentAnnotations) }}
annotations:
{{- range $key, $value := . }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
name: {{ include "kyoo.scanner.fullname" . }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "kyoo.labels" (dict "context" . "component" .Values.scanner.name "name" .Values.scanner.name) | nindent 4 }}
spec:
replicas: {{ .Values.scanner.replicaCount }}
{{- with .Values.scanner.updateStrategy }}
strategy:
{{- toYaml . | nindent 4 }}
{{- end }}
selector:
matchLabels:
{{- include "kyoo.selectorLabels" (dict "context" . "name" .Values.scanner.name) | nindent 6 }}
template:
metadata:
{{- with (mergeOverwrite (deepCopy .Values.global.podAnnotations) .Values.scanner.podAnnotations) }}
annotations:
{{- range $key, $value := . }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
labels:
{{- include "kyoo.labels" (dict "context" . "component" .Values.scanner.name "name" .Values.scanner.name) | nindent 8 }}
{{- with (mergeOverwrite (deepCopy .Values.global.podLabels) .Values.scanner.podLabels) }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.scanner.imagePullSecrets | default .Values.global.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.global.securityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "kyoo.scanner.serviceAccountName" . }}
containers:
- name: main
image: {{ .Values.scanner.kyoo_scanner.image.repository | default (printf "%s/kyoo_scanner" .Values.global.image.repositoryBase) }}:{{ default (include "kyoo.defaultTag" .) .Values.scanner.kyoo_scanner.image.tag }}
imagePullPolicy: {{ default .Values.global.image.imagePullPolicy }}
args:
{{- with .Values.scanner.kyoo_scanner.extraArgs }}
{{- toYaml . | nindent 12 }}
{{- end }}
env:
- name: SCANNER_LIBRARY_ROOT
value: {{ .Values.media.baseMountPath | quote }}
- name: LIBRARY_IGNORE_PATTERN
value: {{ .Values.kyoo.libraryIgnorePattern | quote }}
- name: KYOO_URL
value: "{{ include "kyoo.middlewareRootURL" . }}/api"
- name: JWKS_URL
value: "http://{{ include "kyoo.auth.fullname" . }}:4568/.well-known/jwks.json"
- name: JWT_ISSUER
value: {{ .Values.kyoo.address | quote }}
- name: KYOO_APIKEY
valueFrom:
secretKeyRef:
key: {{ .Values.kyoo.auth.apikeys.scanner.apikeyKey }}
name: {{ .Values.kyoo.auth.apikeys.scanner.existingSecret }}
- name: THEMOVIEDB_API_ACCESS_TOKEN
valueFrom:
secretKeyRef:
key: {{ .Values.contentdatabase.tmdb.apikeyKey }}
name: {{ .Values.contentdatabase.tmdb.existingSecret }}
optional: true
- name: PGUSER
valueFrom:
secretKeyRef:
key: {{ default .Values.global.postgres.shared.userKey .Values.global.postgres.kyoo_scanner.kyoo_scanner.userKey }}
name: {{ default .Values.global.postgres.shared.existingSecret .Values.global.postgres.kyoo_scanner.kyoo_scanner.existingSecret }}
- name: PGPASSWORD
valueFrom:
secretKeyRef:
key: {{ default .Values.global.postgres.shared.passwordKey .Values.global.postgres.kyoo_scanner.kyoo_scanner.passwordKey }}
name: {{ default .Values.global.postgres.shared.existingSecret .Values.global.postgres.kyoo_scanner.kyoo_scanner.existingSecret }}
- name: PGDATABASE
value: {{ default .Values.global.postgres.kyoo_scanner.database .Values.global.postgres.shared.databaseOverride | quote }}
- name: PGHOST
value: {{ default (include "kyoo.postgres.shared.host" .) .Values.global.postgres.kyoo_scanner.host | quote}}
- name: PGPORT
value: {{ default .Values.global.postgres.shared.port .Values.global.postgres.kyoo_scanner.port | quote }}
- name: PGSSLMODE
value: {{ .Values.global.postgres.kyoo_scanner.sslmode | quote }}
{{- with (concat .Values.global.extraEnv .Values.scanner.kyoo_scanner.extraEnv) }}
{{- toYaml . | nindent 12 }}
{{- end }}
ports:
- name: main
containerPort: 4389
protocol: TCP
{{- with .Values.scanner.kyoo_scanner.livenessProbe }}
livenessProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.scanner.kyoo_scanner.readinessProbe }}
readinessProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.scanner.kyoo_scanner.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.scanner.kyoo_scanner.containerSecurityContext }}
securityContext:
{{- toYaml . | nindent 12 }}
{{- end }}
volumeMounts:
{{- with .Values.media.volumeMounts }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.scanner.kyoo_scanner.extraVolumeMounts }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.scanner.extraContainers }}
{{- tpl (toYaml .) $ | nindent 8 }}
{{- end }}
{{- with .Values.scanner.extraInitContainers }}
initContainers:
{{- tpl (toYaml .) $ | nindent 6 }}
{{- end }}
volumes:
{{- with .Values.media.volumes }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.scanner.extraVolumes }}
{{- toYaml . | nindent 8 }}
{{- end }}