Compare commits
20 Commits
postgres-c
...
kyoo-0.1.7
Author | SHA1 | Date | |
---|---|---|---|
197ca6ef81 | |||
b8780a7339 | |||
b90968ea85 | |||
d3275f8067 | |||
649f362824 | |||
732761d73b | |||
0e7627cb7d | |||
d81c246b35 | |||
|
b97dd1f892 | ||
0b8374753d | |||
cb29afdcb2 | |||
4f366535c3 | |||
f32ef77551 | |||
d02f649164 | |||
3b50ca2bfe | |||
17796a1183 | |||
512b1d4243 | |||
a2b0cdd5b6 | |||
e79af169b9 | |||
661f9342b9 |
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.7
|
||||||
|
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 }}
|
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.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 }}"
|
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.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 }}
|
891
charts/kyoo/values.yaml
Normal file
891
charts/kyoo/values.yaml
Normal file
@@ -0,0 +1,891 @@
|
|||||||
|
## 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: ""
|
||||||
|
|
||||||
|
# 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
|
||||||
|
## All configuration is expected to be stored in a secret, reference the secret name and each key for the value
|
||||||
|
##
|
||||||
|
postgresql:
|
||||||
|
existingSecretName: ""
|
||||||
|
usernameKey: ""
|
||||||
|
passwordKey: ""
|
||||||
|
databaseNameKey: ""
|
||||||
|
hostKey: ""
|
||||||
|
portKey: ""
|
||||||
|
|
||||||
|
## 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
|
apiVersion: v2
|
||||||
name: outline
|
name: outline
|
||||||
version: 0.5.1
|
version: 0.5.2
|
||||||
description: Chart for Outline wiki
|
description: Chart for Outline wiki
|
||||||
keywords:
|
keywords:
|
||||||
- wiki
|
- wiki
|
||||||
@@ -14,5 +14,5 @@ icon: https://avatars.githubusercontent.com/u/1765001?s=48&v=4
|
|||||||
dependencies:
|
dependencies:
|
||||||
- name: redis
|
- name: redis
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 19.1.1
|
version: 19.1.2
|
||||||
appVersion: v0.75.2
|
appVersion: v0.75.2
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: postgres-cluster
|
name: postgres-cluster
|
||||||
version: 2.3.1
|
version: 2.4.2
|
||||||
description: Chart for cloudnative-pg cluster
|
description: Chart for cloudnative-pg cluster
|
||||||
keywords:
|
keywords:
|
||||||
- database
|
- database
|
||||||
|
@@ -26,20 +26,20 @@ bootstrap:
|
|||||||
import:
|
import:
|
||||||
type: {{ .Values.replica.importType }}
|
type: {{ .Values.replica.importType }}
|
||||||
databases:
|
databases:
|
||||||
{{- if and (len .Values.replica.importDatabases gt 1) (.Values.replica.importType eq "microservice") }}
|
{{- if and (gt (len .Values.replica.importDatabases) 1) (eq .Values.replica.importType "microservice") }}
|
||||||
{{ fail "Too many databases in import type of microservice!" }}
|
{{ fail "Too many databases in import type of microservice!" }}
|
||||||
{{- else}}
|
{{- else}}
|
||||||
{{- with .Values.replica.importDatabases }}
|
{{- with .Values.replica.importDatabases }}
|
||||||
{{- . | toYaml | nindent 8 }}
|
{{- . | toYaml | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.replica.importType eq "monolith" }}
|
{{- if eq .Values.replica.importType "monolith" }}
|
||||||
roles:
|
roles:
|
||||||
{{- with .Values.replica.importRoles }}
|
{{- with .Values.replica.importRoles }}
|
||||||
{{- . | toYaml | nindent 8 }}
|
{{- . | toYaml | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if and (.Values.replica.postImportApplicationSQL) (.Values.replica.importType eq "microservice") }}
|
{{- if and (.Values.replica.postImportApplicationSQL) (eq .Values.replica.importType "microservice") }}
|
||||||
postImportApplicationSQL:
|
postImportApplicationSQL:
|
||||||
{{- with .Values.replica.postImportApplicationSQL }}
|
{{- with .Values.replica.postImportApplicationSQL }}
|
||||||
{{- . | toYaml | nindent 8 }}
|
{{- . | toYaml | nindent 8 }}
|
||||||
@@ -58,19 +58,18 @@ externalClusters:
|
|||||||
recoveryTarget:
|
recoveryTarget:
|
||||||
targetTime: {{ . }}
|
targetTime: {{ . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
source: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}"
|
source: {{ include "cluster.recoveryServerName" . }}
|
||||||
externalClusters:
|
externalClusters:
|
||||||
- name: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}"
|
- name: {{ include "cluster.recoveryServerName" . }}
|
||||||
barmanObjectStore:
|
barmanObjectStore:
|
||||||
serverName: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}"
|
serverName: {{ include "cluster.recoveryServerName" . }}
|
||||||
destinationPath: "s3://{{ .Values.recovery.endpointBucket }}/{{ .Values.kubernetesClusterName }}/postgresql/{{ include "cluster.recoveryName" . }}"
|
destinationPath: "s3://{{ .Values.recovery.endpointBucket }}/{{ .Values.kubernetesClusterName }}/postgresql/{{ include "cluster.recoveryInstanceName" . }}"
|
||||||
endpointURL: {{ .Values.recovery.endpointURL }}
|
endpointURL: {{ .Values.recovery.endpointURL }}
|
||||||
{{- with .Values.recovery.endpointCA }}
|
{{- with .Values.recovery.endpointCA }}
|
||||||
endpointCA:
|
endpointCA:
|
||||||
name: {{ . }}
|
name: {{ . }}
|
||||||
key: ca-bundle.crt
|
key: ca-bundle.crt
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serverName: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}"
|
|
||||||
s3Credentials:
|
s3Credentials:
|
||||||
accessKeyId:
|
accessKeyId:
|
||||||
name: {{ include "cluster.recoveryCredentials" . }}
|
name: {{ include "cluster.recoveryCredentials" . }}
|
||||||
|
@@ -71,9 +71,20 @@ Generate backup server name
|
|||||||
{{/*
|
{{/*
|
||||||
Generate recovery server name
|
Generate recovery server name
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "cluster.recoveryName" -}}
|
{{- define "cluster.recoveryServerName" -}}
|
||||||
{{- if .Values.recovery.recoveryName -}}
|
{{- if .Values.recovery.recoveryServerName -}}
|
||||||
{{- .Values.recovery.recoveryName -}}
|
{{- .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 -}}
|
{{- else -}}
|
||||||
{{ include "cluster.name" . }}
|
{{ include "cluster.name" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@@ -43,7 +43,7 @@ cluster:
|
|||||||
cpu: 10m
|
cpu: 10m
|
||||||
limits:
|
limits:
|
||||||
memory: 1Gi
|
memory: 1Gi
|
||||||
cpu: 100m
|
cpu: 800m
|
||||||
hugepages-2Mi: 256Mi
|
hugepages-2Mi: 256Mi
|
||||||
|
|
||||||
# See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-AffinityConfiguration
|
# 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
|
# Specifies secret that contains S3 credentials, should contain the keys ACCESS_KEY_ID and ACCESS_SECRET_KEY
|
||||||
endpointCredentials: ""
|
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
|
recoveryIndex: 1
|
||||||
|
|
||||||
# Name of the recovery cluster in the object store, defaults to "cluster.name"
|
# 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:
|
||||||
# WAL compression method. One of `` (for no compression), `gzip`, `bzip2` or `snappy`.
|
# WAL compression method. One of `` (for no compression), `gzip`, `bzip2` or `snappy`.
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: tubearchivist
|
name: tubearchivist
|
||||||
version: 0.2.2
|
version: 0.2.3
|
||||||
description: Chart for Tube Archivist
|
description: Chart for Tube Archivist
|
||||||
keywords:
|
keywords:
|
||||||
- download
|
- download
|
||||||
@@ -14,7 +14,7 @@ maintainers:
|
|||||||
icon: https://avatars.githubusercontent.com/u/102734415?s=48&v=4
|
icon: https://avatars.githubusercontent.com/u/102734415?s=48&v=4
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: redis
|
- name: redis
|
||||||
version: 19.1.1
|
version: 19.1.2
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
- name: elasticsearch
|
- name: elasticsearch
|
||||||
version: 20.0.4
|
version: 20.0.4
|
||||||
|
Reference in New Issue
Block a user