add kyoo
This commit is contained in:
155
charts/kyoo/templates/_helpers.tpl
Normal file
155
charts/kyoo/templates/_helpers.tpl
Normal file
@@ -0,0 +1,155 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "kyoo.name" -}}
|
||||
{{- default .Chart.Name .Values.global.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "kyoo.fullname" -}}
|
||||
{{- if .Values.global.fullnameOverride -}}
|
||||
{{- .Values.global.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.global.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label
|
||||
*/}}
|
||||
{{- define "kyoo.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "kyoo.labels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}
|
||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Common labels for specific components
|
||||
*/}}
|
||||
{{- define "kyoo.autosync.labels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-autosync
|
||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.back.labels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-back
|
||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.front.labels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-front
|
||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.matcher.labels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-matcher
|
||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.migrations.labels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-migrations
|
||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.scanner.labels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-scanner
|
||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.transcoder.labels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-transcoder
|
||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Labels to use on deploy.spec.selector.matchLabels and svc.spec.selector
|
||||
*/}}
|
||||
{{- define "kyoo.matchLabels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.autosync.matchLabels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-autosync
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.back.matchLabels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-back
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.front.matchLabels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-front
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.matcher.matchLabels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-matcher
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.migrations.matchLabels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-migrations
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.scanner.matchLabels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-scanner
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
{{- define "kyoo.transcoder.matchLabels" -}}
|
||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-transcoder
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "kyoo.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccount.create -}}
|
||||
{{ default (include "kyoo.fullname" .) .Values.serviceAccount.name }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the back persistent volume
|
||||
*/}}
|
||||
{{- define "kyoo.backVolumeName" -}}
|
||||
{{- if .Values.persistence.back.existingClaim -}}
|
||||
{{ .Values.persistence.back.existingClaim }}
|
||||
{{- else -}}
|
||||
{{ printf "%s-back" (include "kyoo.fullname" .) | trunc 63 | trimSuffix "-" }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the metadata persistent volume
|
||||
*/}}
|
||||
{{- define "kyoo.metadataVolumeName" -}}
|
||||
{{- if .Values.persistence.metadata.existingClaim -}}
|
||||
{{ .Values.persistence.metadata.existingClaim }}
|
||||
{{- else -}}
|
||||
{{ printf "%s-metadata" (include "kyoo.fullname" .) | trunc 63 | trimSuffix "-" }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
75
charts/kyoo/templates/deployment-autosync.yaml
Normal file
75
charts/kyoo/templates/deployment-autosync.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "kyoo.fullname" . }}-autosync
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.autosync.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
revisionHistoryLimit: 3
|
||||
replicas: {{ .Values.autosync.replicas }}
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "kyoo.autosync.matchLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "kyoo.autosync.labels" . | nindent 8 }}
|
||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-autosync
|
||||
annotations:
|
||||
{{- with .Values.autosync.podAnnotations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
affinity:
|
||||
{{- with .Values.autosync.affinity }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
nodeSelector:
|
||||
{{- with .Values.autosync.nodeSelector }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
tolerations:
|
||||
{{- with .Values.autosync.tolerations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
||||
securityContext:
|
||||
{{- with .Values.autosync.securityContext }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "kyoo.fullname" . }}-autosync
|
||||
image: "{{ .Values.autosync.image.repository }}:{{ .Values.autosync.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.autosync.image.pullPolicy }}
|
||||
resources:
|
||||
{{ toYaml .Values.autosync.resources | nindent 12 }}
|
||||
env:
|
||||
- name: RABBITMQ_HOST
|
||||
value: {{ template "kyoo.fullname" . }}-rabbitmq
|
||||
- name: RABBITMQ_DEFAULT_USER
|
||||
value: "{{ .Values.rabbitmq.auth.username }}"
|
||||
- name: RABBITMQ_DEFAULT_PASS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.rabbitmq.auth.existingPasswordSecret }}"
|
||||
key: "{{ .Values.rabbitmq.auth.existingSecretPasswordKey }}"
|
||||
{{ if .Values.config.secretAPIKey.existingSimklSecretKey }}
|
||||
- name: OIDC_SIMKL_CLIENTID
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingSimklSecretKey }}"
|
||||
{{ end }}
|
||||
{{- with .Values.autosync.extraVars }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
185
charts/kyoo/templates/deployment-back.yaml
Normal file
185
charts/kyoo/templates/deployment-back.yaml
Normal file
@@ -0,0 +1,185 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "kyoo.fullname" . }}-back
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.back.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
revisionHistoryLimit: 3
|
||||
replicas: {{ .Values.back.replicas }}
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "kyoo.back.matchLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "kyoo.back.labels" . | nindent 8 }}
|
||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-back
|
||||
annotations:
|
||||
{{- with .Values.back.podAnnotations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
affinity:
|
||||
{{- with .Values.back.affinity }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
nodeSelector:
|
||||
{{- with .Values.back.nodeSelector }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
tolerations:
|
||||
{{- with .Values.back.tolerations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
||||
securityContext:
|
||||
{{- with .Values.back.securityContext }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "kyoo.fullname" . }}-back
|
||||
image: "{{ .Values.back.image.repository }}:{{ .Values.back.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.back.image.pullPolicy }}
|
||||
resources:
|
||||
{{ toYaml .Values.back.resources | nindent 12 }}
|
||||
ports:
|
||||
- name: kyoo-back
|
||||
containerPort: {{ .Values.back.service.port }}
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- name: kyoo-back
|
||||
mountPath: /kyoo
|
||||
env:
|
||||
{{- with .Values.back.extraVars }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
|
||||
- name: REQUIRE_ACCOUNT_VERIFICATION
|
||||
value: "{{ .Values.config.requireAccountVerification }}"
|
||||
- name: UNLOGGED_PERMISSIONS
|
||||
value: "{{ .Values.config.unloggedPermissions }}"
|
||||
- name: DEFAULT_PERMISSIONS
|
||||
value: "{{ .Values.config.defaultPermissions }}"
|
||||
- name: AUTHENTICATION_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAuthenticationKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAuthenticationKey.existingSecretKey }}"
|
||||
- name: KYOO_APIKEYS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingKyooSecretKey }}"
|
||||
- name: PUBLIC_URL
|
||||
value: "{{ .Values.config.publicUrl }}"
|
||||
- name: POSTGRES_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.usernameKey }}"
|
||||
- name: POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.passwordKey }}"
|
||||
- name: POSTGRES_DB
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.databaseNameKey }}"
|
||||
- name: POSTGRES_SERVER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.hostKey }}"
|
||||
- name: POSTGRES_PORT
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.portKey }}"
|
||||
|
||||
{{ if .Values.config.oidc.enabled }}
|
||||
- name: OIDC_SERVICE_NAME
|
||||
value: "{{ .Values.config.oidc.name }}"
|
||||
- name: OIDC_SERVICE_LOGO
|
||||
value: "{{ .Values.config.oidc.logo }}"
|
||||
- name: OIDC_SERVICE_AUTHORIZATION
|
||||
value: "{{ .Values.config.oidc.authorization }}"
|
||||
- name: OIDC_SERVICE_TOKEN
|
||||
value: "{{ .Values.config.oidc.token }}"
|
||||
- name: OIDC_SERVICE_PROFILE
|
||||
value: "{{ .Values.config.oidc.profile }}"
|
||||
- name: OIDC_SERVICE_SCOPE
|
||||
value: "{{ .Values.config.oidc.scope }}"
|
||||
- name: OIDC_CLIENT_ID
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.oidc.existingSecretName }}"
|
||||
key: "{{ .Values.oidc.clientIdKey }}"
|
||||
- name: OIDC_CLIENT_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.oidc.existingSecretName }}"
|
||||
key: "{{ .Values.oidc.clientSecretKey }}"
|
||||
{{ end }}
|
||||
|
||||
- name: MEILI_HOST
|
||||
value: http://{{ template "kyoo.fullname" . }}-meilisearch.{{ .Release.Namespace }}:{{ .Values.meilisearch.service.port }}
|
||||
- name: MEILI_MASTER_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.meilisearch.auth.existingMasterKeySecret }}"
|
||||
key: MEILI_MASTER_KEY
|
||||
- name: RABBITMQ_HOST
|
||||
value: {{ template "kyoo.fullname" . }}-rabbitmq
|
||||
- name: RABBITMQ_DEFAULT_USER
|
||||
value: "{{ .Values.rabbitmq.auth.username }}"
|
||||
- name: RABBITMQ_DEFAULT_PASS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.rabbitmq.auth.existingPasswordSecret }}"
|
||||
key: "{{ .Values.rabbitmq.auth.existingSecretPasswordKey }}"
|
||||
|
||||
{{- if .Values.back.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.back.livenessProbe.path }}
|
||||
port: {{ .Values.back.service.port }}
|
||||
initialDelaySeconds: {{ .Values.back.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.back.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.back.livenessProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.back.livenessProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.back.livenessProbe.failureThreshold }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.back.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.back.livenessProbe.path }}
|
||||
port: {{ .Values.back.service.port }}
|
||||
initialDelaySeconds: {{ .Values.back.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.back.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.back.readinessProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.back.readinessProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.back.readinessProbe.failureThreshold }}
|
||||
{{- end }}
|
||||
|
||||
volumes:
|
||||
- name: kyoo-back
|
||||
{{- if .Values.persistence.back.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ include "kyoo.backVolumeName" . }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
90
charts/kyoo/templates/deployment-front.yaml
Normal file
90
charts/kyoo/templates/deployment-front.yaml
Normal file
@@ -0,0 +1,90 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "kyoo.fullname" . }}-front
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.front.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
revisionHistoryLimit: 3
|
||||
replicas: {{ .Values.front.replicas }}
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "kyoo.front.matchLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "kyoo.front.labels" . | nindent 8 }}
|
||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-front
|
||||
annotations:
|
||||
{{- with .Values.front.podAnnotations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
affinity:
|
||||
{{- with .Values.front.affinity }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
nodeSelector:
|
||||
{{- with .Values.front.nodeSelector }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
tolerations:
|
||||
{{- with .Values.front.tolerations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
||||
securityContext:
|
||||
{{- with .Values.front.securityContext }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "kyoo.fullname" . }}-front
|
||||
image: "{{ .Values.front.image.repository }}:{{ .Values.front.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.front.image.pullPolicy }}
|
||||
resources:
|
||||
{{ toYaml .Values.front.resources | nindent 12 }}
|
||||
ports:
|
||||
- name: kyoo-front
|
||||
containerPort: {{ .Values.front.service.port }}
|
||||
protocol: TCP
|
||||
env:
|
||||
{{- with .Values.back.extraVars }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
|
||||
- name: KYOO_URL
|
||||
value: http://{{ template "kyoo.fullname" . }}-back.{{ .Release.Namespace }}:{{ .Values.back.service.port }}
|
||||
|
||||
{{- if .Values.front.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.front.livenessProbe.path }}
|
||||
port: {{ .Values.front.service.port }}
|
||||
initialDelaySeconds: {{ .Values.front.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.front.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.front.livenessProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.front.livenessProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.front.livenessProbe.failureThreshold }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.front.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.front.livenessProbe.path }}
|
||||
port: {{ .Values.front.service.port }}
|
||||
initialDelaySeconds: {{ .Values.front.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.front.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.front.readinessProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.front.readinessProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.front.readinessProbe.failureThreshold }}
|
||||
{{- end }}
|
85
charts/kyoo/templates/deployment-matcher.yaml
Normal file
85
charts/kyoo/templates/deployment-matcher.yaml
Normal file
@@ -0,0 +1,85 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "kyoo.fullname" . }}-matcher
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.matcher.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
revisionHistoryLimit: 3
|
||||
replicas: {{ .Values.matcher.replicas }}
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "kyoo.matcher.matchLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "kyoo.matcher.labels" . | nindent 8 }}
|
||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-matcher
|
||||
annotations:
|
||||
{{- with .Values.matcher.podAnnotations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
affinity:
|
||||
{{- with .Values.matcher.affinity }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
nodeSelector:
|
||||
{{- with .Values.matcher.nodeSelector }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
tolerations:
|
||||
{{- with .Values.matcher.tolerations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
||||
securityContext:
|
||||
{{- with .Values.matcher.securityContext }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "kyoo.fullname" . }}-matcher
|
||||
image: "{{ .Values.matcher.image.repository }}:{{ .Values.matcher.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.matcher.image.pullPolicy }}
|
||||
resources:
|
||||
{{ toYaml .Values.matcher.resources | nindent 12 }}
|
||||
command:
|
||||
- matcher
|
||||
env:
|
||||
{{- with .Values.back.extraVars }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
|
||||
- name: KYOO_URL
|
||||
value: http://{{ template "kyoo.fullname" . }}-back.{{ .Release.Namespace }}:{{ .Values.back.service.port }}
|
||||
- name: KYOO_APIKEYS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingKyooSecretKey }}"
|
||||
- name: THEMOVIEDB_APIKEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingTMDBSecretKey }}"
|
||||
- name: LIBRARY_LANGUAGES
|
||||
value: "{{ .Values.config.libraryLanguages }}"
|
||||
- name: RABBITMQ_HOST
|
||||
value: {{ template "kyoo.fullname" . }}-rabbitmq
|
||||
- name: RABBITMQ_DEFAULT_USER
|
||||
value: "{{ .Values.rabbitmq.auth.username }}"
|
||||
- name: RABBITMQ_DEFAULT_PASS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.rabbitmq.auth.existingPasswordSecret }}"
|
||||
key: "{{ .Values.rabbitmq.auth.existingSecretPasswordKey }}"
|
145
charts/kyoo/templates/deployment-migrations.yaml
Normal file
145
charts/kyoo/templates/deployment-migrations.yaml
Normal file
@@ -0,0 +1,145 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "kyoo.fullname" . }}-migrations
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.migrations.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
revisionHistoryLimit: 3
|
||||
replicas: {{ .Values.migrations.replicas }}
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "kyoo.migrations.matchLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "kyoo.migrations.labels" . | nindent 8 }}
|
||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-migrations
|
||||
annotations:
|
||||
{{- with .Values.migrations.podAnnotations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
affinity:
|
||||
{{- with .Values.migrations.affinity }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
nodeSelector:
|
||||
{{- with .Values.migrations.nodeSelector }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
tolerations:
|
||||
{{- with .Values.migrations.tolerations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
||||
securityContext:
|
||||
{{- with .Values.migrations.securityContext }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "kyoo.fullname" . }}-migrations
|
||||
image: "{{ .Values.migrations.image.repository }}:{{ .Values.migrations.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.migrations.image.pullPolicy }}
|
||||
resources:
|
||||
{{ toYaml .Values.migrations.resources | nindent 12 }}
|
||||
env:
|
||||
{{- with .Values.back.extraVars }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
|
||||
- name: REQUIRE_ACCOUNT_VERIFICATION
|
||||
value: "{{ .Values.config.requireAccountVerification }}"
|
||||
- name: UNLOGGED_PERMISSIONS
|
||||
value: "{{ .Values.config.unloggedPermissions }}"
|
||||
- name: DEFAULT_PERMISSIONS
|
||||
value: "{{ .Values.config.defaultPermissions }}"
|
||||
- name: AUTHENTICATION_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAuthenticationKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAuthenticationKey.existingSecretKey }}"
|
||||
- name: KYOO_APIKEYS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingKyooSecretKey }}"
|
||||
- name: PUBLIC_URL
|
||||
value: "{{ .Values.config.publicUrl }}"
|
||||
- name: POSTGRES_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.usernameKey }}"
|
||||
- name: POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.passwordKey }}"
|
||||
- name: POSTGRES_DB
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.databaseNameKey }}"
|
||||
- name: POSTGRES_SERVER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.hostKey }}"
|
||||
- name: POSTGRES_PORT
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.portKey }}"
|
||||
|
||||
{{ if .Values.config.oidc.enabled }}
|
||||
- name: OIDC_SERVICE_NAME
|
||||
value: "{{ .Values.config.oidc.name }}"
|
||||
- name: OIDC_SERVICE_LOGO
|
||||
value: "{{ .Values.config.oidc.logo }}"
|
||||
- name: OIDC_SERVICE_AUTHORIZATION
|
||||
value: "{{ .Values.config.oidc.authorization }}"
|
||||
- name: OIDC_SERVICE_TOKEN
|
||||
value: "{{ .Values.config.oidc.token }}"
|
||||
- name: OIDC_SERVICE_PROFILE
|
||||
value: "{{ .Values.config.oidc.profile }}"
|
||||
- name: OIDC_SERVICE_SCOPE
|
||||
value: "{{ .Values.config.oidc.scope }}"
|
||||
- name: OIDC_CLIENT_ID
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.oidc.existingSecretName }}"
|
||||
key: "{{ .Values.oidc.clientIdKey }}"
|
||||
- name: OIDC_CLIENT_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.oidc.existingSecretName }}"
|
||||
key: "{{ .Values.oidc.clientSecretKey }}"
|
||||
{{ end }}
|
||||
|
||||
- name: MEILI_HOST
|
||||
value: http://{{ template "kyoo.fullname" . }}-meilisearch.{{ .Release.Namespace }}:{{ .Values.meilisearch.service.port }}
|
||||
- name: MEILI_MASTER_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.meilisearch.auth.existingMasterKeySecret }}"
|
||||
key: MEILI_MASTER_KEY
|
||||
- name: RABBITMQ_HOST
|
||||
value: {{ template "kyoo.fullname" . }}-rabbitmq
|
||||
- name: RABBITMQ_DEFAULT_USER
|
||||
value: "{{ .Values.rabbitmq.auth.username }}"
|
||||
- name: RABBITMQ_DEFAULT_PASS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.rabbitmq.auth.existingPasswordSecret }}"
|
||||
key: "{{ .Values.rabbitmq.auth.existingSecretPasswordKey }}"
|
101
charts/kyoo/templates/deployment-scanner.yaml
Normal file
101
charts/kyoo/templates/deployment-scanner.yaml
Normal file
@@ -0,0 +1,101 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "kyoo.fullname" . }}-scanner
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.scanner.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
revisionHistoryLimit: 3
|
||||
replicas: {{ .Values.scanner.replicas }}
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "kyoo.scanner.matchLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "kyoo.scanner.labels" . | nindent 8 }}
|
||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-scanner
|
||||
annotations:
|
||||
{{- with .Values.scanner.podAnnotations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
affinity:
|
||||
{{- with .Values.scanner.affinity }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
nodeSelector:
|
||||
{{- with .Values.scanner.nodeSelector }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
tolerations:
|
||||
{{- with .Values.scanner.tolerations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
||||
securityContext:
|
||||
{{- with .Values.scanner.securityContext }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "kyoo.fullname" . }}-scanner
|
||||
image: "{{ .Values.scanner.image.repository }}:{{ .Values.scanner.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.scanner.image.pullPolicy }}
|
||||
resources:
|
||||
{{ toYaml .Values.scanner.resources | nindent 12 }}
|
||||
volumeMounts:
|
||||
- name: kyoo-library
|
||||
mountPath: "{{ .Values.persistence.library.mountPath }}"
|
||||
command:
|
||||
- scanner
|
||||
env:
|
||||
{{- with .Values.back.extraVars }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
|
||||
- name: KYOO_URL
|
||||
value: http://{{ template "kyoo.fullname" . }}-back.{{ .Release.Namespace }}:{{ .Values.back.service.port }}
|
||||
- name: KYOO_APIKEYS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingKyooSecretKey }}"
|
||||
- name: THEMOVIEDB_APIKEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingTMDBSecretKey }}"
|
||||
- name: LIBRARY_LANGUAGES
|
||||
value: "{{ .Values.config.libraryLanguages }}"
|
||||
- name: LIBRARY_IGNORE_PATTERN
|
||||
value: "{{ .Values.config.libraryIgnorePattern }}"
|
||||
- name: SCANNER_LIBRARY_ROOT
|
||||
value: "{{ .Values.persistence.library.mountPath }}"
|
||||
- name: RABBITMQ_HOST
|
||||
value: {{ template "kyoo.fullname" . }}-rabbitmq
|
||||
- name: RABBITMQ_DEFAULT_USER
|
||||
value: "{{ .Values.rabbitmq.auth.username }}"
|
||||
- name: RABBITMQ_DEFAULT_PASS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.rabbitmq.auth.existingPasswordSecret }}"
|
||||
key: "{{ .Values.rabbitmq.auth.existingSecretPasswordKey }}"
|
||||
|
||||
volumes:
|
||||
- name: kyoo-library
|
||||
{{- if .Values.persistence.library.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ .Values.persistence.library.existingClaim }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
114
charts/kyoo/templates/deployment-transcoder.yaml
Normal file
114
charts/kyoo/templates/deployment-transcoder.yaml
Normal file
@@ -0,0 +1,114 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "kyoo.fullname" . }}-transcoder
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.transcoder.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
revisionHistoryLimit: 3
|
||||
replicas: {{ .Values.transcoder.replicas }}
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "kyoo.transcoder.matchLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "kyoo.transcoder.labels" . | nindent 8 }}
|
||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-transcoder
|
||||
annotations:
|
||||
{{- with .Values.transcoder.podAnnotations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
affinity:
|
||||
{{- with .Values.transcoder.affinity }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
nodeSelector:
|
||||
{{- with .Values.transcoder.nodeSelector }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
tolerations:
|
||||
{{- with .Values.transcoder.tolerations }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
||||
securityContext:
|
||||
{{- with .Values.transcoder.securityContext }}
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "kyoo.fullname" . }}-transcoder
|
||||
image: "{{ .Values.transcoder.image.repository }}:{{ .Values.transcoder.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.transcoder.image.pullPolicy }}
|
||||
resources:
|
||||
{{ toYaml .Values.transcoder.resources | nindent 12 }}
|
||||
ports:
|
||||
- name: kyoo-transcoder
|
||||
containerPort: {{ .Values.transcoder.service.port }}
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- name: kyoo-metadata
|
||||
mountPath: "{{ .Values.persistence.metadata.mountPath }}"
|
||||
- name: kyoo-cache
|
||||
mountPath: "{{ .Values.persistence.cache.mountPath }}"
|
||||
- name: kyoo-library
|
||||
mountPath: "{{ .Values.persistence.library.mountPath }}"
|
||||
env:
|
||||
{{- with .Values.back.extraVars }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if eq .Values.config.transcoderProfile "vaapi" }}
|
||||
- name: GOCODER_HWACCEL
|
||||
value: "vaapi"
|
||||
- name: GOCODER_VAAPI_RENDERER
|
||||
value: "{{ .Values.config.transcoderRenderPath }}"
|
||||
{{- else if eq .Values.config.transcoderProfile "qsv" }}
|
||||
- name: GOCODER_HWACCEL
|
||||
value: "qsv"
|
||||
- name: GOCODER_QSV_RENDERER
|
||||
value: "{{ .Values.config.transcoderRenderPath }}"
|
||||
{{- else if eq .Values.config.transcoderProfile "nvidia" }}
|
||||
- name: GOCODER_HWACCEL
|
||||
value: "nvidia"
|
||||
{{- else }}
|
||||
- name: GOCODER_HWACCEL
|
||||
value: "disabled"
|
||||
{{- end }}
|
||||
|
||||
- name: GOCODER_PRESET
|
||||
value: "{{ .Values.config.transcoderPreset }}"
|
||||
- name: GOCODER_METADATA_ROOT
|
||||
value: "{{ .Values.persistence.metadata.mountPath }}"
|
||||
- name: GOCODER_CACHE_ROOT
|
||||
value: "{{ .Values.persistence.cache.mountPath }}"
|
||||
|
||||
volumes:
|
||||
- name: kyoo-metadata
|
||||
{{- if .Values.persistence.metadata.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ include "kyoo.metadataVolumeName" . }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
- name: kyoo-cache
|
||||
emptyDir:
|
||||
sizeLimit: {{ .Values.persistence.cache.size }}
|
||||
- name: kyoo-library
|
||||
{{- if .Values.persistence.library.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ .Values.persistence.library.existingClaim }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
44
charts/kyoo/templates/ingress.yaml
Normal file
44
charts/kyoo/templates/ingress.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
{{- if .Values.ingress.enabled }}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ template "kyoo.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- toYaml .Values.ingress.annotations | nindent 4 }}
|
||||
labels:
|
||||
{{- include "kyoo.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.ingress.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
ingressClassName: {{ .Values.ingress.className }}
|
||||
tls:
|
||||
- hosts:
|
||||
- {{ .Values.ingress.host }}
|
||||
secretName: {{ template "kyoo.fullname" . }}-secret-tls
|
||||
rules:
|
||||
- host: {{ .Values.ingress.host }}
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
backend:
|
||||
service:
|
||||
name: "{{ template "kyoo.fullname" . }}-front"
|
||||
port:
|
||||
name: kyoo-front
|
||||
pathType: ImplementationSpecific
|
||||
- path: /api
|
||||
backend:
|
||||
service:
|
||||
name: "{{ template "kyoo.fullname" . }}-back"
|
||||
port:
|
||||
name: kyoo-back
|
||||
pathType: ImplementationSpecific
|
||||
{{- end }}
|
54
charts/kyoo/templates/persistent-volume-claim.yaml
Normal file
54
charts/kyoo/templates/persistent-volume-claim.yaml
Normal file
@@ -0,0 +1,54 @@
|
||||
{{- if and .Values.persistence.back.enabled (not .Values.persistence.back.existingClaim) }}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ template "kyoo.backVolumeName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.persistence.back.retain }}
|
||||
helm.sh/resource-policy: keep
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
storageClassName: {{ .Values.persistence.back.storageClass }}
|
||||
accessModes:
|
||||
- {{ .Values.persistence.back.accessMode }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.back.size }}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
{{- if and .Values.persistence.metadata.enabled (not .Values.persistence.metadata.existingClaim) }}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ template "kyoo.metadataVolumeName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.persistence.metadata.retain }}
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
storageClassName: {{ .Values.persistence.metadata.storageClass }}
|
||||
accessModes:
|
||||
- {{ .Values.persistence.metadata.accessMode }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.metadata.size }}
|
||||
{{- end }}
|
20
charts/kyoo/templates/service-account.yaml
Normal file
20
charts/kyoo/templates/service-account.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ template "kyoo.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.serviceAccount.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
100
charts/kyoo/templates/service.yaml
Normal file
100
charts/kyoo/templates/service.yaml
Normal file
@@ -0,0 +1,100 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "kyoo.fullname" . }}-back
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.back.service.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.back.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.back.service.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.back.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.back.service.port }}
|
||||
targetPort: kyoo-back
|
||||
protocol: TCP
|
||||
name: kyoo-back
|
||||
selector:
|
||||
{{- include "kyoo.back.matchLabels" . | nindent 4 }}
|
||||
{{- with .Values.back.service.extraSelectorLabels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "kyoo.fullname" . }}-front
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.front.service.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.front.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.front.service.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.front.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.front.service.port }}
|
||||
targetPort: kyoo-front
|
||||
protocol: TCP
|
||||
name: kyoo-front
|
||||
selector:
|
||||
{{- include "kyoo.front.matchLabels" . | nindent 4 }}
|
||||
{{- with .Values.front.service.extraSelectorLabels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: transcoder
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
{{- with .Values.global.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.transcoder.service.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "kyoo.transcoder.labels" . | nindent 4 }}
|
||||
{{- with .Values.global.labels }}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.transcoder.service.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.transcoder.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.transcoder.service.port }}
|
||||
targetPort: kyoo-transcoder
|
||||
protocol: TCP
|
||||
name: kyoo-transcoder
|
||||
selector:
|
||||
{{- include "kyoo.transcoder.matchLabels" . | nindent 4 }}
|
||||
{{- with .Values.transcoder.service.extraSelectorLabels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
Reference in New Issue
Block a user