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 }}