Compare commits
16 Commits
postgres-c
...
kyoo-0.1.9
Author | SHA1 | Date | |
---|---|---|---|
1f498323a4 | |||
646e3a2c36 | |||
197ca6ef81 | |||
b8780a7339 | |||
b90968ea85 | |||
d3275f8067 | |||
649f362824 | |||
732761d73b | |||
0e7627cb7d | |||
d81c246b35 | |||
|
b97dd1f892 | ||
0b8374753d | |||
cb29afdcb2 | |||
4f366535c3 | |||
f32ef77551 | |||
d02f649164 |
23
charts/kyoo/Chart.yaml
Normal file
23
charts/kyoo/Chart.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: v2
|
||||
name: kyoo
|
||||
version: 0.1.9
|
||||
description: Chart for Kyoo
|
||||
keywords:
|
||||
- media
|
||||
sources:
|
||||
- https://github.com/zoriya/Kyoo
|
||||
- https://github.com/rabbitmq/rabbitmq-server
|
||||
- https://github.com/bitnami/charts/tree/main/bitnami/rabbitmq
|
||||
- https://github.com/meilisearch/meilisearch
|
||||
- https://github.com/meilisearch/meilisearch-kubernetes/tree/main/charts/meilisearch
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
icon: https://raw.githubusercontent.com/zoriya/Kyoo/master/icons/icon-256x256.png
|
||||
dependencies:
|
||||
- name: rabbitmq
|
||||
version: 14.0.1
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
- name: meilisearch
|
||||
version: 0.6.1
|
||||
repository: https://meilisearch.github.io/meilisearch-kubernetes
|
||||
appVersion: v4.4.0
|
17
charts/kyoo/README.md
Normal file
17
charts/kyoo/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
## Introduction
|
||||
|
||||
[Kyoo](https://github.com/zoriya/Kyoo)
|
||||
|
||||
A portable and vast media library solution.
|
||||
|
||||
This chart bootstraps a [Kyoo](https://github.com/zoriya/Kyoo) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
||||
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Kubernetes
|
||||
- Helm
|
||||
|
||||
## Parameters
|
||||
|
||||
See the [values files](values.yaml).
|
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 }}
|
173
charts/kyoo/templates/deployment-back.yaml
Normal file
173
charts/kyoo/templates/deployment-back.yaml
Normal file
@@ -0,0 +1,173 @@
|
||||
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
|
||||
value: "{{ .Values.config.postgresql.username }}"
|
||||
- name: POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.passwordKey }}"
|
||||
- name: POSTGRES_DB
|
||||
value: "{{ .Values.config.postgresql.database }}"
|
||||
- name: POSTGRES_SERVER
|
||||
value: "{{ .Values.config.postgresql.host }}"
|
||||
- name: POSTGRES_PORT
|
||||
value: "{{ .Values.config.postgresql.port }}"
|
||||
|
||||
{{ 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.config.oidc.existingSecretName }}"
|
||||
key: "{{ .Values.config.oidc.clientIDKey }}"
|
||||
- name: OIDC_CLIENT_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.oidc.existingSecretName }}"
|
||||
key: "{{ .Values.config.oidc.secretIDKey }}"
|
||||
{{ 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 }}
|
92
charts/kyoo/templates/deployment-matcher.yaml
Normal file
92
charts/kyoo/templates/deployment-matcher.yaml
Normal file
@@ -0,0 +1,92 @@
|
||||
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 }}
|
||||
|
||||
{{- if .Values.config.secretAPIKey.existingKyooSecretKey }}
|
||||
- name: KYOO_APIKEYS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingKyooSecretKey }}"
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.config.secretAPIKey.existingTMDBSecretKey }}
|
||||
- name: THEMOVIEDB_APIKEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingTMDBSecretKey }}"
|
||||
{{- end }}
|
||||
|
||||
- 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 }}"
|
133
charts/kyoo/templates/deployment-migrations.yaml
Normal file
133
charts/kyoo/templates/deployment-migrations.yaml
Normal file
@@ -0,0 +1,133 @@
|
||||
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
|
||||
value: "{{ .Values.config.postgresql.username }}"
|
||||
- name: POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
||||
key: "{{ .Values.config.postgresql.passwordKey }}"
|
||||
- name: POSTGRES_DB
|
||||
value: "{{ .Values.config.postgresql.database }}"
|
||||
- name: POSTGRES_SERVER
|
||||
value: "{{ .Values.config.postgresql.host }}"
|
||||
- name: POSTGRES_PORT
|
||||
value: "{{ .Values.config.postgresql.port }}"
|
||||
|
||||
{{ 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.config.oidc.existingSecretName }}"
|
||||
key: "{{ .Values.config.oidc.clientIDKey }}"
|
||||
- name: OIDC_CLIENT_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.oidc.existingSecretName }}"
|
||||
key: "{{ .Values.config.oidc.secretIDKey }}"
|
||||
{{ 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 }}"
|
108
charts/kyoo/templates/deployment-scanner.yaml
Normal file
108
charts/kyoo/templates/deployment-scanner.yaml
Normal file
@@ -0,0 +1,108 @@
|
||||
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 }}
|
||||
|
||||
{{- if .Values.config.secretAPIKey.existingKyooSecretKey }}
|
||||
- name: KYOO_APIKEYS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingKyooSecretKey }}"
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.config.secretAPIKey.existingTMDBSecretKey }}
|
||||
- name: THEMOVIEDB_APIKEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
||||
key: "{{ .Values.config.secretAPIKey.existingTMDBSecretKey }}"
|
||||
{{- end }}
|
||||
|
||||
- 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 }}
|
892
charts/kyoo/values.yaml
Normal file
892
charts/kyoo/values.yaml
Normal file
@@ -0,0 +1,892 @@
|
||||
## Global
|
||||
##
|
||||
global:
|
||||
# -- Set an override for the prefix of the fullname
|
||||
nameOverride:
|
||||
|
||||
# -- Set the entire name definition
|
||||
fullnameOverride:
|
||||
|
||||
# -- Set additional global labels. Helm templates can be used.
|
||||
labels: {}
|
||||
|
||||
# -- Set additional global annotations. Helm templates can be used.
|
||||
annotations: {}
|
||||
|
||||
## Service Account
|
||||
##
|
||||
serviceAccount:
|
||||
# -- Specifies whether a service account should be created
|
||||
create: false
|
||||
|
||||
# -- Annotations to add to the service account
|
||||
annotations: {}
|
||||
|
||||
# -- Labels to add to the service account
|
||||
labels: {}
|
||||
|
||||
# -- The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name: ""
|
||||
|
||||
## Config options
|
||||
##
|
||||
config:
|
||||
## Secret key
|
||||
## Specificy the secret name and the key containg a strong secret key
|
||||
##
|
||||
secretAuthenticationKey:
|
||||
existingSecretName: ""
|
||||
existingSecretKey: ""
|
||||
|
||||
## API keys
|
||||
## Specificy the secret name and the key containg an API key for that service
|
||||
##
|
||||
secretAPIKey:
|
||||
existingSecretName: ""
|
||||
|
||||
# -- Kyoo
|
||||
existingKyooSecretKey: ""
|
||||
|
||||
# -- The Movie Database
|
||||
existingTMDBSecretKey: ""
|
||||
|
||||
# -- Simkl: https://simkl.docs.apiary.io/#
|
||||
existingSimklSecretKey: ""
|
||||
|
||||
# Langauges
|
||||
libraryLanguages: en
|
||||
|
||||
# A pattern (regex) to ignore video files, ie ".*/[dD]ownloads?/.*"
|
||||
libraryIgnorePattern: ""
|
||||
|
||||
# If this is true, new accounts wont have any permissions before you approve them in your admin dashboard.
|
||||
requireAccountVerification: true
|
||||
|
||||
# Specify permissions of guest accounts, default is no permissions,
|
||||
# but you can allow anyone to use your instance without account by doing:
|
||||
# UNLOGGED_PERMISSIONS=overall.read,overall.play
|
||||
# You can specify this to allow guests users to see your collection without behing able to play videos for example:
|
||||
# UNLOGGED_PERMISSIONS=overall.read
|
||||
unloggedPermissions: overall.read
|
||||
|
||||
# Specify permissions of new accounts.
|
||||
defaultPermissions: overall.read,overall.play
|
||||
|
||||
# Hardware transcoding (equivalent of --profile docker compose option).
|
||||
# cpu (no hardware acceleration) or vaapi or qsv or nvidia
|
||||
transcoderProfile: cpu
|
||||
|
||||
# Path to the hardware device for the specificied transcoder profile
|
||||
transcoderRenderPath: /dev/dri/renderD128
|
||||
|
||||
# the preset used during transcode. faster means worst quality, you can probably use a slower preset with hwaccels
|
||||
# warning: using vaapi hwaccel disable presets (they are not supported).
|
||||
transcoderPreset: fast
|
||||
|
||||
# The url you can use to reach your kyoo instance. This is also used during oidc to redirect users to your instance.
|
||||
publicUrl: ""
|
||||
|
||||
## OIDC authentication
|
||||
##
|
||||
oidc:
|
||||
enabled: false
|
||||
|
||||
# Name of the OIDC provider, ie Authentik, Keycloak, Authelia, etc
|
||||
name: ""
|
||||
|
||||
# URL to the an image of the provider logo
|
||||
logo: ""
|
||||
|
||||
# Urls to access the provider
|
||||
authorization: ""
|
||||
token: ""
|
||||
profile: ""
|
||||
|
||||
# Scopes space separeted
|
||||
scope: "openid profile email"
|
||||
|
||||
# Generated from the provider, these are expected to be stored in a secret
|
||||
existingSecretName: ""
|
||||
clientIDKey: ""
|
||||
secretIDKey: ""
|
||||
|
||||
## Postgresql
|
||||
##
|
||||
postgresql:
|
||||
username: ""
|
||||
database: ""
|
||||
host: ""
|
||||
port: ""
|
||||
|
||||
# -- Use a secret to store the pasword
|
||||
existingSecretName: ""
|
||||
passwordKey: ""
|
||||
|
||||
## Configure the ingress resource that allows you to access the
|
||||
## kyoo installation. Set up the URL
|
||||
## ref: http://kubernetes.io/docs/user-guide/ingress/
|
||||
##
|
||||
ingress:
|
||||
# -- Enables or disables the ingress
|
||||
enabled: false
|
||||
|
||||
# -- Provide additional annotations which may be required.
|
||||
annotations: {}
|
||||
|
||||
# -- Provide additional labels which may be required.
|
||||
labels: {}
|
||||
|
||||
# -- Set the ingressClass that is used for this ingress.
|
||||
className: ""
|
||||
|
||||
## Configure the hosts for the ingress
|
||||
host: chart-example.local
|
||||
|
||||
## Enable persistence using Persistent Volume Claims
|
||||
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
||||
##
|
||||
persistence:
|
||||
back:
|
||||
# -- Enables or disables the persistence item. Defaults to true
|
||||
enabled: true
|
||||
|
||||
# -- Storage Class for the config volume.
|
||||
# If set to `-`, dynamic provisioning is disabled.
|
||||
# If set to something else, the given storageClass is used.
|
||||
# If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
|
||||
storageClass: ""
|
||||
|
||||
# -- If you want to reuse an existing claim, the name of the existing PVC can be passed here.
|
||||
existingClaim: ""
|
||||
|
||||
# -- AccessMode for the persistent volume.
|
||||
# Make sure to select an access mode that is supported by your storage provider!
|
||||
# [[ref]](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes)
|
||||
accessMode: ReadWriteOnce
|
||||
|
||||
# -- The amount of storage that is requested for the persistent volume.
|
||||
size: 5Gi
|
||||
|
||||
# -- Set to true to retain the PVC upon `helm uninstall`
|
||||
retain: false
|
||||
|
||||
metadata:
|
||||
# -- Enables or disables the persistence item. Defaults to true
|
||||
enabled: true
|
||||
|
||||
# -- Storage Class for the config volume.
|
||||
# If set to `-`, dynamic provisioning is disabled.
|
||||
# If set to something else, the given storageClass is used.
|
||||
# If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
|
||||
storageClass: ""
|
||||
|
||||
# -- If you want to reuse an existing claim, the name of the existing PVC can be passed here.
|
||||
existingClaim: ""
|
||||
|
||||
# -- AccessMode for the persistent volume.
|
||||
# Make sure to select an access mode that is supported by your storage provider!
|
||||
# [[ref]](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes)
|
||||
accessMode: ReadWriteOnce
|
||||
|
||||
# -- The amount of storage that is requested for the persistent volume.
|
||||
size: 5Gi
|
||||
|
||||
# -- Set to true to retain the PVC upon `helm uninstall`
|
||||
retain: false
|
||||
|
||||
# -- Mount path inside container
|
||||
mountPath: /metadata
|
||||
|
||||
cache:
|
||||
# -- Transcoder cache will be mounted as an emptyDir, specificy a limit to the cache size
|
||||
size: 10Gi
|
||||
|
||||
# -- Mount path inside container
|
||||
mountPath: /cache
|
||||
|
||||
library:
|
||||
enabled: false
|
||||
|
||||
# -- Provide an existing claim to you media library
|
||||
existingClaim: ""
|
||||
|
||||
# -- Mount path inside container, used as the root path for the library
|
||||
mountPath: /video
|
||||
|
||||
## Auto Sync
|
||||
##
|
||||
autosync:
|
||||
## Kyoo Auto Sync image version
|
||||
## ref: https://hub.docker.com/r/zoriya/kyoo_autosync/tags
|
||||
##
|
||||
image:
|
||||
repository: zoriya/kyoo_autosync
|
||||
tag: "4.4.0"
|
||||
## Specify a imagePullPolicy
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
##
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Define the number of pods the deployment will create
|
||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
||||
##
|
||||
replicas: 1
|
||||
|
||||
## Pod annotations
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
|
||||
## Affinity for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
## Node labels for pod assignment. Evaluated as a template.
|
||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
|
||||
## Tolerations for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
|
||||
## Pod Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
##
|
||||
securityContext: {}
|
||||
|
||||
## kyoo containers' resource requests and limits
|
||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||
##
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
limits: {}
|
||||
# cpu: 2
|
||||
# memory: 1Gi
|
||||
requests: {}
|
||||
# cpu: 1
|
||||
# memory: 1Gi
|
||||
|
||||
## Extra environment variables
|
||||
##
|
||||
extraVars:
|
||||
# - name: EXAMPLE
|
||||
# value: "example"
|
||||
|
||||
## Back
|
||||
##
|
||||
back:
|
||||
## Kyoo Back image version
|
||||
## ref: https://hub.docker.com/r/zoriya/kyoo_back/tags
|
||||
##
|
||||
image:
|
||||
repository: zoriya/kyoo_back
|
||||
tag: "4.4.0"
|
||||
## Specify a imagePullPolicy
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
##
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Define the number of pods the deployment will create
|
||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
||||
##
|
||||
replicas: 1
|
||||
|
||||
## Pod annotations
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
|
||||
## Affinity for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
## Node labels for pod assignment. Evaluated as a template.
|
||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
|
||||
## Tolerations for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
|
||||
## Pod Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
##
|
||||
securityContext: {}
|
||||
|
||||
## kyoo containers' resource requests and limits
|
||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||
##
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
limits: {}
|
||||
# cpu: 2
|
||||
# memory: 1Gi
|
||||
requests: {}
|
||||
# cpu: 1
|
||||
# memory: 1Gi
|
||||
|
||||
## Configure extra options for liveness and readiness probes
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
||||
##
|
||||
livenessProbe:
|
||||
enabled: false
|
||||
path: /health
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 3
|
||||
|
||||
readinessProbe:
|
||||
enabled: false
|
||||
path: /health
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 1
|
||||
successThreshold: 1
|
||||
failureThreshold: 3
|
||||
|
||||
## Extra environment variables
|
||||
##
|
||||
extraVars:
|
||||
# - name: EXAMPLE
|
||||
# value: "example"
|
||||
|
||||
## Service
|
||||
##
|
||||
service:
|
||||
# -- Set the service type
|
||||
type: ClusterIP
|
||||
|
||||
# -- Provide additional annotations which may be required.
|
||||
annotations: {}
|
||||
|
||||
# -- Provide additional labels which may be required.
|
||||
labels: {}
|
||||
|
||||
# -- Allow adding additional match labels
|
||||
extraSelectorLabels: {}
|
||||
|
||||
# -- HTTP port number
|
||||
port: 5000
|
||||
|
||||
## Front
|
||||
##
|
||||
front:
|
||||
## Kyoo Front image version
|
||||
## ref: https://hub.docker.com/r/zoriya/kyoo_front/tags
|
||||
##
|
||||
image:
|
||||
repository: zoriya/kyoo_front
|
||||
tag: "4.4.0"
|
||||
## Specify a imagePullPolicy
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
##
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Define the number of pods the deployment will create
|
||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
||||
##
|
||||
replicas: 1
|
||||
|
||||
## Pod annotations
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
|
||||
## Affinity for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
## Node labels for pod assignment. Evaluated as a template.
|
||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
|
||||
## Tolerations for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
|
||||
## Pod Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
##
|
||||
securityContext: {}
|
||||
|
||||
## kyoo containers' resource requests and limits
|
||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||
##
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
limits: {}
|
||||
# cpu: 2
|
||||
# memory: 1Gi
|
||||
requests: {}
|
||||
# cpu: 1
|
||||
# memory: 1Gi
|
||||
|
||||
## Configure extra options for liveness and readiness probes
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
||||
##
|
||||
livenessProbe:
|
||||
enabled: false
|
||||
path: /
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 3
|
||||
|
||||
readinessProbe:
|
||||
enabled: false
|
||||
path: /
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 1
|
||||
successThreshold: 1
|
||||
failureThreshold: 3
|
||||
|
||||
## Extra environment variables
|
||||
##
|
||||
extraVars:
|
||||
# - name: EXAMPLE
|
||||
# value: "example"
|
||||
|
||||
## Service
|
||||
##
|
||||
service:
|
||||
# -- Set the service type
|
||||
type: ClusterIP
|
||||
|
||||
# -- Provide additional annotations which may be required.
|
||||
annotations: {}
|
||||
|
||||
# -- Provide additional labels which may be required.
|
||||
labels: {}
|
||||
|
||||
# -- Allow adding additional match labels
|
||||
extraSelectorLabels: {}
|
||||
|
||||
# -- HTTP port number
|
||||
port: 8901
|
||||
|
||||
## Matcher
|
||||
##
|
||||
matcher:
|
||||
## Kyoo Matcher image version
|
||||
## ref: https://hub.docker.com/r/zoriya/kyoo_matcher/tags
|
||||
##
|
||||
image:
|
||||
repository: zoriya/kyoo_scanner
|
||||
tag: "4.4.0"
|
||||
## Specify a imagePullPolicy
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
##
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Define the number of pods the deployment will create
|
||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
||||
##
|
||||
replicas: 1
|
||||
|
||||
## Pod annotations
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
|
||||
## Affinity for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
## Node labels for pod assignment. Evaluated as a template.
|
||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
|
||||
## Tolerations for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
|
||||
## Pod Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
##
|
||||
securityContext: {}
|
||||
|
||||
## kyoo containers' resource requests and limits
|
||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||
##
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
limits: {}
|
||||
# cpu: 2
|
||||
# memory: 1Gi
|
||||
requests: {}
|
||||
# cpu: 1
|
||||
# memory: 1Gi
|
||||
|
||||
## Extra environment variables
|
||||
##
|
||||
extraVars:
|
||||
# - name: EXAMPLE
|
||||
# value: "example"
|
||||
|
||||
## Migrations
|
||||
##
|
||||
migrations:
|
||||
## Kyoo Migrations image version
|
||||
## ref: https://hub.docker.com/r/zoriya/kyoo_migrations/tags
|
||||
##
|
||||
image:
|
||||
repository: zoriya/kyoo_migrations
|
||||
tag: "4.4.0"
|
||||
## Specify a imagePullPolicy
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
##
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Define the number of pods the deployment will create
|
||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
||||
##
|
||||
replicas: 1
|
||||
|
||||
## Pod annotations
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
|
||||
## Affinity for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
## Node labels for pod assignment. Evaluated as a template.
|
||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
|
||||
## Tolerations for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
|
||||
## Pod Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
##
|
||||
securityContext: {}
|
||||
|
||||
## kyoo containers' resource requests and limits
|
||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||
##
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
limits: {}
|
||||
# cpu: 2
|
||||
# memory: 1Gi
|
||||
requests: {}
|
||||
# cpu: 1
|
||||
# memory: 1Gi
|
||||
|
||||
## Extra environment variables
|
||||
##
|
||||
extraVars:
|
||||
# - name: EXAMPLE
|
||||
# value: "example"
|
||||
|
||||
## Scanner
|
||||
##
|
||||
scanner:
|
||||
## Kyoo Scanner image version
|
||||
## ref: https://hub.docker.com/r/zoriya/zoriya/kyoo_scanner/tags
|
||||
##
|
||||
image:
|
||||
repository: zoriya/kyoo_scanner
|
||||
tag: "4.4.0"
|
||||
## Specify a imagePullPolicy
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
##
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Define the number of pods the deployment will create
|
||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
||||
##
|
||||
replicas: 1
|
||||
|
||||
## Pod annotations
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
|
||||
## Affinity for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
## Node labels for pod assignment. Evaluated as a template.
|
||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
|
||||
## Tolerations for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
|
||||
## Pod Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
##
|
||||
securityContext: {}
|
||||
|
||||
## kyoo containers' resource requests and limits
|
||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||
##
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
limits: {}
|
||||
# cpu: 2
|
||||
# memory: 1Gi
|
||||
requests: {}
|
||||
# cpu: 1
|
||||
# memory: 1Gi
|
||||
|
||||
## Extra environment variables
|
||||
##
|
||||
extraVars:
|
||||
# - name: EXAMPLE
|
||||
# value: "example"
|
||||
|
||||
## Transcoder
|
||||
##
|
||||
transcoder:
|
||||
## Kyoo Transcoder image version
|
||||
## ref: https://hub.docker.com/r/zoriya/kyoo_transcoder/tags
|
||||
##
|
||||
image:
|
||||
repository: zoriya/kyoo_transcoder
|
||||
tag: "4.4.0"
|
||||
## Specify a imagePullPolicy
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
##
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Define the number of pods the deployment will create
|
||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
||||
##
|
||||
replicas: 1
|
||||
|
||||
## Pod annotations
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
|
||||
## Affinity for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
## Node labels for pod assignment. Evaluated as a template.
|
||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
|
||||
## Tolerations for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
|
||||
## Pod Security Context
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
##
|
||||
securityContext: {}
|
||||
|
||||
## kyoo containers' resource requests and limits
|
||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||
##
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
limits: {}
|
||||
# cpu: 2
|
||||
# memory: 1Gi
|
||||
requests: {}
|
||||
# cpu: 1
|
||||
# memory: 1Gi
|
||||
|
||||
## Extra environment variables
|
||||
##
|
||||
extraVars:
|
||||
# - name: EXAMPLE
|
||||
# value: "example"
|
||||
|
||||
## Service
|
||||
##
|
||||
service:
|
||||
# -- Set the service type
|
||||
type: ClusterIP
|
||||
|
||||
# -- Provide additional annotations which may be required.
|
||||
annotations: {}
|
||||
|
||||
# -- Provide additional labels which may be required.
|
||||
labels: {}
|
||||
|
||||
# -- Allow adding additional match labels
|
||||
extraSelectorLabels: {}
|
||||
|
||||
# -- HTTP port number
|
||||
port: 7666
|
||||
|
||||
## Rabbitmq
|
||||
## https://artifacthub.io/packages/helm/bitnami/rabbitmq?modal=values-schema
|
||||
##
|
||||
rabbitmq:
|
||||
auth:
|
||||
## @param auth.username RabbitMQ application username
|
||||
## ref: https://github.com/bitnami/containers/tree/main/bitnami/rabbitmq#environment-variables
|
||||
##
|
||||
username: kyoo
|
||||
|
||||
## @param auth.existingPasswordSecret Existing secret with RabbitMQ credentials (existing secret must contain a value for `rabbitmq-password` key or override with setting auth.existingSecretPasswordKey)
|
||||
## e.g:
|
||||
## existingPasswordSecret: name-of-existing-secret
|
||||
##
|
||||
existingPasswordSecret: ""
|
||||
existingSecretPasswordKey: ""
|
||||
|
||||
## @param auth.existingErlangSecret Existing secret with RabbitMQ Erlang cookie (must contain a value for `rabbitmq-erlang-cookie` key or override with auth.existingSecretErlangKey)
|
||||
## e.g:
|
||||
## existingErlangSecret: name-of-existing-secret
|
||||
##
|
||||
existingErlangSecret: ""
|
||||
## @param auth.existingSecretErlangKey [default: rabbitmq-erlang-cookie] Erlang cookie key to be retrieved from existing secret
|
||||
## NOTE: ignored unless `auth.existingErlangSecret` parameter is set
|
||||
##
|
||||
existingSecretErlangKey: ""
|
||||
|
||||
## @param configurationExistingSecret Existing secret with the configuration to use as rabbitmq.conf.
|
||||
## Must contain the key "rabbitmq.conf"
|
||||
## Takes precedence over `configuration`, so do not use both simultaneously
|
||||
## With providing an existingSecret, extraConfiguration and extraConfigurationExistingSecret do not take any effect
|
||||
##
|
||||
configurationExistingSecret: ""
|
||||
|
||||
## @param extraConfiguration [string] Configuration file content: extra configuration to be appended to RabbitMQ configuration
|
||||
## Use this instead of `configuration` to add more configuration
|
||||
## Do not use simultaneously with `extraConfigurationExistingSecret`
|
||||
##
|
||||
extraConfiguration: |-
|
||||
default_vhost = '/'
|
||||
default_permissions.configure = .*
|
||||
default_permissions.read = .*
|
||||
default_permissions.write = .*
|
||||
|
||||
## Meilisearch
|
||||
## https://github.com/meilisearch/meilisearch-kubernetes/blob/main/charts/meilisearch/values.yaml
|
||||
##
|
||||
meilisearch:
|
||||
environment:
|
||||
|
||||
# -- Deactivates analytics
|
||||
MEILI_NO_ANALYTICS: true
|
||||
|
||||
# -- Sets the environment. Either **production** or **development**
|
||||
MEILI_ENV: production
|
||||
|
||||
# For production deployment, the environment MEILI_MASTER_KEY is required.
|
||||
# If MEILI_ENV is set to "production" without setting MEILI_MASTER_KEY, this
|
||||
# chart will automatically create a secure MEILI_MASTER_KEY and push it as a
|
||||
# secret. Otherwise the below value of MEILI_MASTER_KEY will be used instead.
|
||||
# MEILI_MASTER_KEY: ""
|
||||
|
||||
auth:
|
||||
# -- Use an existing Kubernetes secret for the MEILI_MASTER_KEY
|
||||
existingMasterKeySecret: ""
|
||||
|
||||
service:
|
||||
# -- Kubernetes Service type
|
||||
type: ClusterIP
|
||||
|
||||
# -- Kubernetes Service port
|
||||
port: 7700
|
||||
|
||||
# -- Additional annotations for service
|
||||
annotations: {}
|
||||
|
||||
persistence:
|
||||
enabled: false
|
||||
|
||||
# -- PVC Access Mode
|
||||
accessMode: ReadWriteOnce
|
||||
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
##
|
||||
# -- PVC Storage Class
|
||||
storageClass: "-"
|
||||
|
||||
## Data Persistent Volume existing claim name
|
||||
## Requires persistence.enabled: true
|
||||
## If defined, PVC must be created manually before volume will be bound
|
||||
# -- Existing PVC
|
||||
existingClaim: ""
|
||||
|
||||
# -- PVC Storage Request
|
||||
size: 10Gi
|
||||
|
||||
resources: {}
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
serviceMonitor:
|
||||
enabled: false
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: outline
|
||||
version: 0.5.1
|
||||
version: 0.5.2
|
||||
description: Chart for Outline wiki
|
||||
keywords:
|
||||
- wiki
|
||||
@@ -14,5 +14,5 @@ icon: https://avatars.githubusercontent.com/u/1765001?s=48&v=4
|
||||
dependencies:
|
||||
- name: redis
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 19.1.1
|
||||
version: 19.1.2
|
||||
appVersion: v0.75.2
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: postgres-cluster
|
||||
version: 2.3.6
|
||||
version: 2.4.2
|
||||
description: Chart for cloudnative-pg cluster
|
||||
keywords:
|
||||
- database
|
||||
|
@@ -26,7 +26,7 @@ bootstrap:
|
||||
import:
|
||||
type: {{ .Values.replica.importType }}
|
||||
databases:
|
||||
{{- if and (gt (len .Values.replica.importDatabases) 1) (eq (default .Values.replica.importType "microservice") "microservice") }}
|
||||
{{- if and (gt (len .Values.replica.importDatabases) 1) (eq .Values.replica.importType "microservice") }}
|
||||
{{ fail "Too many databases in import type of microservice!" }}
|
||||
{{- else}}
|
||||
{{- with .Values.replica.importDatabases }}
|
||||
@@ -58,19 +58,18 @@ externalClusters:
|
||||
recoveryTarget:
|
||||
targetTime: {{ . }}
|
||||
{{- end }}
|
||||
source: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}"
|
||||
source: {{ include "cluster.recoveryServerName" . }}
|
||||
externalClusters:
|
||||
- name: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}"
|
||||
- name: {{ include "cluster.recoveryServerName" . }}
|
||||
barmanObjectStore:
|
||||
serverName: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}"
|
||||
destinationPath: "s3://{{ .Values.recovery.endpointBucket }}/{{ .Values.kubernetesClusterName }}/postgresql/{{ include "cluster.recoveryName" . }}"
|
||||
serverName: {{ include "cluster.recoveryServerName" . }}
|
||||
destinationPath: "s3://{{ .Values.recovery.endpointBucket }}/{{ .Values.kubernetesClusterName }}/postgresql/{{ include "cluster.recoveryInstanceName" . }}"
|
||||
endpointURL: {{ .Values.recovery.endpointURL }}
|
||||
{{- with .Values.recovery.endpointCA }}
|
||||
endpointCA:
|
||||
name: {{ . }}
|
||||
key: ca-bundle.crt
|
||||
{{- end }}
|
||||
serverName: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}"
|
||||
s3Credentials:
|
||||
accessKeyId:
|
||||
name: {{ include "cluster.recoveryCredentials" . }}
|
||||
|
@@ -71,9 +71,20 @@ Generate backup server name
|
||||
{{/*
|
||||
Generate recovery server name
|
||||
*/}}
|
||||
{{- define "cluster.recoveryName" -}}
|
||||
{{- if .Values.recovery.recoveryName -}}
|
||||
{{- .Values.recovery.recoveryName -}}
|
||||
{{- define "cluster.recoveryServerName" -}}
|
||||
{{- if .Values.recovery.recoveryServerName -}}
|
||||
{{- .Values.recovery.recoveryServerName -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-backup-%s" (include "cluster.name" .) (toString .Values.recovery.recoveryIndex) | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Generate recovery instance name
|
||||
*/}}
|
||||
{{- define "cluster.recoveryInstanceName" -}}
|
||||
{{- if .Values.recovery.recoveryInstanceName -}}
|
||||
{{- .Values.recovery.recoveryInstanceName -}}
|
||||
{{- else -}}
|
||||
{{ include "cluster.name" . }}
|
||||
{{- end }}
|
||||
|
@@ -43,7 +43,7 @@ cluster:
|
||||
cpu: 10m
|
||||
limits:
|
||||
memory: 1Gi
|
||||
cpu: 100m
|
||||
cpu: 800m
|
||||
hugepages-2Mi: 256Mi
|
||||
|
||||
# See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-AffinityConfiguration
|
||||
@@ -107,11 +107,14 @@ recovery:
|
||||
# Specifies secret that contains S3 credentials, should contain the keys ACCESS_KEY_ID and ACCESS_SECRET_KEY
|
||||
endpointCredentials: ""
|
||||
|
||||
# Generate external cluster name, uses: postgresql-{{ .Release.Name }}-cluster-backup-index-{{ .Values.recovery.recoveryIndex }}"
|
||||
# Generate external cluster name, uses: {{ .Release.Name }}postgresql-<major version>-cluster-backup-index-{{ .Values.recovery.recoveryIndex }}
|
||||
recoveryIndex: 1
|
||||
|
||||
# Name of the recovery cluster in the object store, defaults to "cluster.name"
|
||||
recoveryName: ""
|
||||
recoveryServerName: ""
|
||||
|
||||
# Name of the recovery cluster in the object store, defaults to ".Release.Name"
|
||||
recoveryInstanceName: ""
|
||||
|
||||
wal:
|
||||
# WAL compression method. One of `` (for no compression), `gzip`, `bzip2` or `snappy`.
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: tubearchivist
|
||||
version: 0.2.2
|
||||
version: 0.2.3
|
||||
description: Chart for Tube Archivist
|
||||
keywords:
|
||||
- download
|
||||
@@ -14,7 +14,7 @@ maintainers:
|
||||
icon: https://avatars.githubusercontent.com/u/102734415?s=48&v=4
|
||||
dependencies:
|
||||
- name: redis
|
||||
version: 19.1.1
|
||||
version: 19.1.2
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
- name: elasticsearch
|
||||
version: 20.0.4
|
||||
|
Reference in New Issue
Block a user