🔧(helm) adapt helm chart

Done:
- Rename all occurrences of "impress" to "meet".
- Update Agent Connect secrets credentials for the dev environment.
- Add new development secrets for LiveKit.
- Remove Minio from the dev stack (no cold storage required).
- Add LiveKit chart to the stack.
- Remove templates and values related to the WebSocket server.

The integration of LiveKit was inspired by an example from the "numerique-gouve/infrastructure" repo.
However, a notable issue persists with LiveKit's default chart: we are unable to override
the namespace, resulting in all LiveKit components running in the default namespace.

thx to @rouja for his help.
This commit is contained in:
antoine lebaud
2024-07-02 19:36:09 +02:00
parent d67934fbfa
commit af3ab37b53
25 changed files with 188 additions and 531 deletions

View File

@@ -1,6 +1,6 @@
load('ext://uibutton', 'cmd_button', 'bool_input', 'location') load('ext://uibutton', 'cmd_button', 'bool_input', 'location')
load('ext://namespace', 'namespace_create', 'namespace_inject') load('ext://namespace', 'namespace_create', 'namespace_inject')
namespace_create('impress') namespace_create('meet')
docker_build( docker_build(
'localhost:5001/meet-backend:latest', 'localhost:5001/meet-backend:latest',
@@ -17,35 +17,24 @@ docker_build(
] ]
) )
docker_build(
'localhost:5001/impress-y-webrtc-signaling:latest',
context='..',
dockerfile='../src/frontend/Dockerfile',
only=['./src/frontend/', './docker/', './dockerignore'],
target = 'y-webrtc-signaling',
live_update=[
sync('../src/frontend/apps/y-webrtc-signaling/src', '/home/frontend/apps/y-webrtc-signaling/src'),
]
)
docker_build( docker_build(
'localhost:5001/meet-frontend:latest', 'localhost:5001/meet-frontend:latest',
context='..', context='..',
dockerfile='../src/frontend/Dockerfile', dockerfile='../src/frontend/Dockerfile',
only=['./src/frontend', './docker', './dockerignore'], only=['./src/frontend', './docker', './.dockerignore'],
target = 'impress', target = 'meet-dev',
live_update=[ live_update=[
sync('../src/frontend', '/home/frontend'), sync('../src/frontend', '/home/frontend'),
] ]
) )
k8s_yaml(local('cd ../src/helm && helmfile -n impress -e dev template .')) k8s_yaml(local('cd ../src/helm && helmfile -n meet -e dev template .'))
migration = ''' migration = '''
set -eu set -eu
# get k8s pod name from tilt resource name # get k8s pod name from tilt resource name
POD_NAME="$(tilt get kubernetesdiscovery meet-backend -ojsonpath='{.status.pods[0].name}')" POD_NAME="$(tilt get kubernetesdiscovery meet-backend -ojsonpath='{.status.pods[0].name}')"
kubectl -n impress exec "$POD_NAME" -- python manage.py makemigrations kubectl -n meet exec "$POD_NAME" -- python manage.py makemigrations
''' '''
cmd_button('Make migration', cmd_button('Make migration',
argv=['sh', '-c', migration], argv=['sh', '-c', migration],
@@ -58,7 +47,7 @@ pod_migrate = '''
set -eu set -eu
# get k8s pod name from tilt resource name # get k8s pod name from tilt resource name
POD_NAME="$(tilt get kubernetesdiscovery meet-backend -ojsonpath='{.status.pods[0].name}')" POD_NAME="$(tilt get kubernetesdiscovery meet-backend -ojsonpath='{.status.pods[0].name}')"
kubectl -n impress exec "$POD_NAME" -- python manage.py migrate --no-input kubectl -n meet exec "$POD_NAME" -- python manage.py migrate --no-input
''' '''
cmd_button('Migrate db', cmd_button('Migrate db',
argv=['sh', '-c', pod_migrate], argv=['sh', '-c', pod_migrate],

View File

@@ -19,7 +19,7 @@ FROM frontend-deps as meet-dev
WORKDIR /home/frontend WORKDIR /home/frontend
EXPOSE 3000 EXPOSE 8080
CMD [ "npm", "run", "dev"] CMD [ "npm", "run", "dev"]

View File

@@ -1,7 +1,10 @@
djangoSecretKey: ENC[AES256_GCM,data:2b4nHO2i/HtaNJYi1d8xJyhCpK1qV7fHD45T6VarWpNg1HkcJgC7zTgHMEvfedRd2tE=,iv:qcHlXG/mNr3CFtZhjbw3AVRbMxkGZaAZPtHtS8ksO58=,tag:mTC6mc5JKqpEQ/9ubggKmA==,type:str] djangoSecretKey: ENC[AES256_GCM,data:2b4nHO2i/HtaNJYi1d8xJyhCpK1qV7fHD45T6VarWpNg1HkcJgC7zTgHMEvfedRd2tE=,iv:qcHlXG/mNr3CFtZhjbw3AVRbMxkGZaAZPtHtS8ksO58=,tag:mTC6mc5JKqpEQ/9ubggKmA==,type:str]
oidc: oidc:
clientId: ENC[AES256_GCM,data:gcwhXfL4iNwWWleR/l3p2aRSp9nsdLhQtUMlglLqJSdDy6iu,iv:WxK7BBQrVa115dsHEiMC7NyvlQXuhLiZzHYSuhZYy4w=,tag:RYwutm8QB+mIl7b+AYvqxg==,type:str] clientId: ENC[AES256_GCM,data:JNeyMxdwJbY48aJ3NmZVB8h0xlwVknFqnJU5bpO6PozfAfCC,iv:wZPT9JJRwIkksjPQrzEcDHyWXusqB9ax6Og64hh1mYo=,tag:WALVMIAlqwzDNpgHesWJLQ==,type:str]
clientSecret: ENC[AES256_GCM,data:9rU6HWRiX+6afLf4fGyIRyiv/pyihbCbO9DA2L4HOz/RAMaO9iZWW1QqIK8JCBuGh/XP1I3sd0mlbiXxCv1X3w==,iv:0NgcQtCVjIWhfzQbBx2Hh7NxumF3xW8nNuReUkvdk58=,tag:rkMAJ8Ilk8Pusw3PAyW/6A==,type:str] clientSecret: ENC[AES256_GCM,data:KMOAVI8+loZ8hO29Ob+DcTHuXZoytrt6VHNo3MEDx6kgaxXazwZLqDmvynNdsNyyfLg8ZZAqxxvhiOVzOwVZ9w==,iv:1DzGfdVR7b+Ou+x15fk3v0aY9xZJslp2+U3H/H363Wo=,tag:/U7PEqr5b++W9sBuqocutA==,type:str]
livekit:
keys:
devkey: ENC[AES256_GCM,data:4KJotPCU,iv:QHzp9taZFwsYhno11WCjbJKAPB2huV0KkoCrnDSxQRc=,tag:gokHjR9GV56iRbmV0zbWjQ==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@@ -53,8 +56,8 @@ sops:
N0ZkVmNzTzhhRTA5TDMxc2tGN3BFemMKlyPtb7gfYREoPaU3ZlpynCuqxo4KW0b9 N0ZkVmNzTzhhRTA5TDMxc2tGN3BFemMKlyPtb7gfYREoPaU3ZlpynCuqxo4KW0b9
G+3aGz7SKZ7pcuAaWuuMdyA6XzwS/HOe2L2cW3P5x/0k0JQd2Ie8jA== G+3aGz7SKZ7pcuAaWuuMdyA6XzwS/HOe2L2cW3P5x/0k0JQd2Ie8jA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-04-11T14:59:54Z" lastmodified: "2024-07-02T16:08:28Z"
mac: ENC[AES256_GCM,data:Pv37FsNCpk5Ckx3a+j+daPB6f34X5kIko/AZIQkgfRXs3SRJtAdp5VuwYTtwcp/s3Hxi6ZZPLZ+YRh6OqN5g3GaOBR4z2Ohv0ioB/5FLMICOt7VM/zroyXWIjWwpRPsRwjesba7nr9CqbQNDYt8ko4O9kR4w6y2JHbzLeOkohHc=,iv:+/B4m+c03e9iQMrijg7hJhDwQJZP55Bhnsr0n00Y2Cw=,tag:vXVZVbU+R1FpNVUSgnFA9A==,type:str] mac: ENC[AES256_GCM,data:0D1xTZwOpYKfcY94lGQnBgsLOtjxvJwwpja0+IV6zqIb3gO1762AL3btZim0OFRkhYo0SLe1Q6ABQ1tn2txK7GdPkjBaS6eJ3EQ7nuPQ75gelyoQqOOQ92/DxjBhaLkVpupmlB+62w2iMSGIjCU95E3dEc9ivyL/Rd7E0K8Irk4=,iv:c3Sh6iXepP/ptB46CjPZnZJQlNe31EFkRUNCck5sR28=,tag:/LWg/DxgPHME3B++FWGoVQ==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.8.1 version: 3.8.1

View File

@@ -0,0 +1,33 @@
replicaCount: 1
terminationGracePeriodSeconds: 18000
livekit:
log_level: debug
rtc:
use_external_ip: true
port_range_start: 50000
port_range_end: 60000
tcp_port: 7881
redis:
address:
keys:
loadBalancer:
type: nginx
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-redirect: "true"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
tls:
- hosts:
- livekit.127.0.0.1.nip.io
secretName: livekit-dinum-cert
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 5
targetCPUUtilizationPercentage: 60
nodeSelector: {}
resources: {}

View File

@@ -6,11 +6,11 @@ image:
backend: backend:
replicas: 1 replicas: 1
envVars: envVars:
DJANGO_CSRF_TRUSTED_ORIGINS: https://impress.127.0.0.1.nip.io,http://impress.127.0.0.1.nip.io DJANGO_CSRF_TRUSTED_ORIGINS: https://meet.127.0.0.1.nip.io,http://meet.127.0.0.1.nip.io
DJANGO_CONFIGURATION: Production DJANGO_CONFIGURATION: Production
DJANGO_ALLOWED_HOSTS: "*" DJANGO_ALLOWED_HOSTS: "*"
DJANGO_SECRET_KEY: {{ .Values.djangoSecretKey }} DJANGO_SECRET_KEY: {{ .Values.djangoSecretKey }}
DJANGO_SETTINGS_MODULE: impress.settings DJANGO_SETTINGS_MODULE: meet.settings
DJANGO_SUPERUSER_PASSWORD: admin DJANGO_SUPERUSER_PASSWORD: admin
DJANGO_EMAIL_HOST: "mailcatcher" DJANGO_EMAIL_HOST: "mailcatcher"
DJANGO_EMAIL_PORT: 1025 DJANGO_EMAIL_PORT: 1025
@@ -24,25 +24,32 @@ backend:
OIDC_RP_CLIENT_SECRET: {{ .Values.oidc.clientSecret }} OIDC_RP_CLIENT_SECRET: {{ .Values.oidc.clientSecret }}
OIDC_RP_SIGN_ALGO: RS256 OIDC_RP_SIGN_ALGO: RS256
OIDC_RP_SCOPES: "openid email" OIDC_RP_SCOPES: "openid email"
OIDC_REDIRECT_ALLOWED_HOSTS: https://impress.127.0.0.1.nip.io OIDC_REDIRECT_ALLOWED_HOSTS: https://meet.127.0.0.1.nip.io
OIDC_AUTH_REQUEST_EXTRA_PARAMS: "{'acr_values': 'eidas1'}" OIDC_AUTH_REQUEST_EXTRA_PARAMS: "{'acr_values': 'eidas1'}"
LOGIN_REDIRECT_URL: https://impress.127.0.0.1.nip.io LOGIN_REDIRECT_URL: https://meet.127.0.0.1.nip.io
LOGIN_REDIRECT_URL_FAILURE: https://impress.127.0.0.1.nip.io LOGIN_REDIRECT_URL_FAILURE: https://meet.127.0.0.1.nip.io
LOGOUT_REDIRECT_URL: https://impress.127.0.0.1.nip.io LOGOUT_REDIRECT_URL: https://meet.127.0.0.1.nip.io
DB_HOST: postgres-postgresql DB_HOST: postgres-postgresql
DB_NAME: impress DB_NAME: meet
DB_USER: dinum DB_USER: dinum
DB_PASSWORD: pass DB_PASSWORD: pass
DB_PORT: 5432 DB_PORT: 5432
POSTGRES_DB: impress POSTGRES_DB: meet
POSTGRES_USER: dinum POSTGRES_USER: dinum
POSTGRES_PASSWORD: pass POSTGRES_PASSWORD: pass
REDIS_URL: redis://default:pass@redis-master:6379/1 REDIS_URL: redis://default:pass@redis-master:6379/1
AWS_S3_ENDPOINT_URL: http://minio.impress.svc.cluster.local:9000 AWS_S3_ENDPOINT_URL: http://minio.meet.svc.cluster.local:9000
AWS_S3_ACCESS_KEY_ID: impress AWS_S3_ACCESS_KEY_ID: meet
AWS_S3_SECRET_ACCESS_KEY: password AWS_S3_SECRET_ACCESS_KEY: password
AWS_STORAGE_BUCKET_NAME: impress-media-storage AWS_STORAGE_BUCKET_NAME: meet-media-storage
STORAGES_STATICFILES_BACKEND: django.contrib.staticfiles.storage.StaticFilesStorage STORAGES_STATICFILES_BACKEND: django.contrib.staticfiles.storage.StaticFilesStorage
{{- with .Values.livekit.keys }}
{{- range $key, $value := . }}
LIVEKIT_API_SECRET: {{ $value }}
LIVEKIT_API_KEY: {{ $key }}
{{- end }}
{{- end }}
migrate: migrate:
command: command:
@@ -56,8 +63,8 @@ backend:
command: command:
- "gunicorn" - "gunicorn"
- "-c" - "-c"
- "/usr/local/etc/gunicorn/impress.py" - "/usr/local/etc/gunicorn/meet.py"
- "impress.wsgi:application" - "meet.wsgi:application"
- "--reload" - "--reload"
createsuperuser: createsuperuser:
@@ -70,36 +77,22 @@ backend:
frontend: frontend:
envVars: envVars:
PORT: 8080 VITE_PORT: 8080
NEXT_PUBLIC_API_ORIGIN: https://impress.127.0.0.1.nip.io VITE_HOST: 0.0.0.0
NEXT_PUBLIC_SIGNALING_URL: wss://impress.127.0.0.1.nip.io/ws VITE_API_BASE_URL: https://meet.127.0.0.1.nip.io/api/v1.0/
VITE_LIVEKIT_SERVER_URL: https://livekit.127.0.0.1.nip.io/
replicas: 1 replicas: 1
command:
- yarn
- dev
image: image:
repository: localhost:5001/meet-frontend repository: localhost:5001/meet-frontend
pullPolicy: Always pullPolicy: Always
tag: "latest" tag: "latest"
webrtc:
replicas: 1
image:
repository: localhost:5001/impress-y-webrtc-signaling
pullPolicy: Always
tag: "latest"
ingress: ingress:
enabled: true enabled: true
host: impress.127.0.0.1.nip.io host: meet.127.0.0.1.nip.io
ingressWS:
enabled: true
host: impress.127.0.0.1.nip.io
ingressAdmin: ingressAdmin:
enabled: true enabled: true
host: impress.127.0.0.1.nip.io host: meet.127.0.0.1.nip.io

View File

@@ -1,5 +1,5 @@
apiVersion: v2 apiVersion: v2
name: extra name: extra
description: A Helm chart to add some manifests to impress description: A Helm chart to add some manifests to meet
type: application type: application
version: 0.1.0 version: 0.1.0

View File

@@ -4,4 +4,4 @@ metadata:
name: postgresql name: postgresql
namespace: {{ .Release.Namespace | quote }} namespace: {{ .Release.Namespace | quote }}
spec: spec:
database: impress database: meet

View File

@@ -1,8 +0,0 @@
apiVersion: core.libre.sh/v1alpha1
kind: Bucket
metadata:
name: impress-media-storage
namespace: {{ .Release.Namespace | quote }}
spec:
provider: data
versioned: true

View File

@@ -2,6 +2,8 @@ repositories:
- name: bitnami - name: bitnami
url: registry-1.docker.io/bitnamicharts url: registry-1.docker.io/bitnamicharts
oci: true oci: true
- name: livekit
url: https://helm.livekit.io
releases: releases:
- name: postgres - name: postgres
@@ -13,26 +15,11 @@ releases:
- auth: - auth:
username: dinum username: dinum
password: pass password: pass
database: impress database: meet
- tls: - tls:
enabled: true enabled: true
autoGenerated: true autoGenerated: true
- name: minio
installed: {{ eq .Environment.Name "dev" | toYaml }}
namespace: {{ .Namespace }}
chart: bitnami/minio
version: 12.10.10
values:
- auth:
rootUser: impress
rootPassword: password
- provisioning:
enabled: true
buckets:
- name: impress-media-storage
versioning: true
- name: redis - name: redis
installed: {{ eq .Environment.Name "dev" | toYaml }} installed: {{ eq .Environment.Name "dev" | toYaml }}
namespace: {{ .Namespace }} namespace: {{ .Namespace }}
@@ -50,12 +37,21 @@ releases:
secrets: secrets:
- env.d/{{ .Environment.Name }}/secrets.enc.yaml - env.d/{{ .Environment.Name }}/secrets.enc.yaml
- name: impress - name: meet
version: {{ .Values.version }} version: {{ .Values.version }}
namespace: {{ .Namespace }} namespace: {{ .Namespace }}
chart: ./impress chart: ./meet
values: values:
- env.d/{{ .Environment.Name }}/values.impress.yaml.gotmpl - env.d/{{ .Environment.Name }}/values.meet.yaml.gotmpl
secrets:
- env.d/{{ .Environment.Name }}/secrets.enc.yaml
- name: livekit
installed: {{ eq .Environment.Name "dev" | toYaml }}
namespace: {{ .Namespace }}
chart: livekit/livekit-server
values:
- env.d/{{ .Environment.Name }}/values.livekit.yaml.gotmpl
secrets: secrets:
- env.d/{{ .Environment.Name }}/secrets.enc.yaml - env.d/{{ .Environment.Name }}/secrets.enc.yaml

View File

@@ -1,72 +0,0 @@
{{- if .Values.ingressWS.enabled -}}
{{- $fullName := include "impress.fullname" . -}}
{{- if and .Values.ingressWS.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.ingressWS.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .Values.ingressWS.annotations "kubernetes.io/ingress.class" .Values.ingressWS.className}}
{{- end }}
{{- end }}
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1
{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ $fullName }}-ws
namespace: {{ .Release.Namespace | quote }}
labels:
{{- include "impress.labels" . | nindent 4 }}
{{- with .Values.ingressWS.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if and .Values.ingressWS.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
ingressClassName: {{ .Values.ingressWS.className }}
{{- end }}
{{- if .Values.ingressWS.tls.enabled }}
tls:
{{- if .Values.ingressWS.host }}
- secretName: {{ $fullName }}-tls
hosts:
- {{ .Values.ingressWS.host | quote }}
{{- end }}
{{- range .Values.ingressWS.tls.additional }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
{{- if .Values.ingressWS.host }}
- host: {{ .Values.ingressWS.host | quote }}
http:
paths:
- path: {{ .Values.ingressWS.path | quote }}
{{- if semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion }}
pathType: ImplementationSpecific
{{- end }}
backend:
service:
name: {{ include "impress.webrtc.fullname" . }}
port:
number: {{ .Values.webrtc.service.port }}
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service:
name: {{ include "impress.webrtc.fullname" . }}
port:
number: {{ .Values.webrtc.service.port }}
{{- else }}
serviceName: {{ include "impress.webrtc.fullname" . }}
servicePort: {{ .Values.webrtc.service.port }}
{{- end }}
{{- with .Values.ingressWS.customBackends }}
{{- toYaml . | nindent 10 }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -1,136 +0,0 @@
{{- $envVars := include "impress.common.env" (list . .Values.webrtc) -}}
{{- $fullName := include "impress.webrtc.fullname" . -}}
{{- $component := "webrtc" -}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }}
labels:
{{- include "impress.common.labels" (list . $component) | nindent 4 }}
spec:
replicas: {{ .Values.webrtc.replicas }}
selector:
matchLabels:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 6 }}
template:
metadata:
annotations:
{{- with .Values.webrtc.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 8 }}
spec:
{{- if $.Values.image.credentials }}
imagePullSecrets:
- name: {{ include "impress.secret.dockerconfigjson.name" (dict "fullname" (include "impress.fullname" .) "imageCredentials" $.Values.image.credentials) }}
{{- end}}
shareProcessNamespace: {{ .Values.webrtc.shareProcessNamespace }}
containers:
{{- with .Values.webrtc.sidecars }}
{{- toYaml . | nindent 8 }}
{{- end }}
- name: {{ .Chart.Name }}
image: "{{ (.Values.webrtc.image | default dict).repository | default .Values.image.repository }}:{{ (.Values.webrtc.image | default dict).tag | default .Values.image.tag }}"
imagePullPolicy: {{ (.Values.webrtc.image | default dict).pullPolicy | default .Values.image.pullPolicy }}
{{- with .Values.webrtc.command }}
command:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.webrtc.args }}
args:
{{- toYaml . | nindent 12 }}
{{- end }}
env:
{{- if $envVars}}
{{- $envVars | indent 12 }}
{{- end }}
{{- with .Values.webrtc.securityContext }}
securityContext:
{{- toYaml . | nindent 12 }}
{{- end }}
ports:
- name: http
containerPort: {{ .Values.webrtc.service.targetPort }}
protocol: TCP
{{- if .Values.webrtc.probes.liveness }}
livenessProbe:
{{- include "impress.probes.abstract" (merge .Values.webrtc.probes.liveness (dict "targetPort" .Values.webrtc.service.targetPort )) | nindent 12 }}
{{- end }}
{{- if .Values.webrtc.probes.readiness }}
readinessProbe:
{{- include "impress.probes.abstract" (merge .Values.webrtc.probes.readiness (dict "targetPort" .Values.webrtc.service.targetPort )) | nindent 12 }}
{{- end }}
{{- if .Values.webrtc.probes.startup }}
startupProbe:
{{- include "impress.probes.abstract" (merge .Values.webrtc.probes.startup (dict "targetPort" .Values.webrtc.service.targetPort )) | nindent 12 }}
{{- end }}
{{- with .Values.webrtc.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
volumeMounts:
{{- range $index, $value := .Values.mountFiles }}
- name: "files-{{ $index }}"
mountPath: {{ $value.path }}
subPath: content
{{- end }}
{{- range $name, $volume := .Values.webrtc.persistence }}
- name: "{{ $name }}"
mountPath: "{{ $volume.mountPath }}"
{{- end }}
{{- range .Values.webrtc.extraVolumeMounts }}
- name: {{ .name }}
mountPath: {{ .mountPath }}
subPath: {{ .subPath | default "" }}
readOnly: {{ .readOnly }}
{{- end }}
{{- with .Values.webrtc.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.webrtc.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.webrtc.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
{{- range $index, $value := .Values.mountFiles }}
- name: "files-{{ $index }}"
configMap:
name: "{{ include "impress.fullname" $ }}-files-{{ $index }}"
{{- end }}
{{- range $name, $volume := .Values.webrtc.persistence }}
- name: "{{ $name }}"
{{- if eq $volume.type "emptyDir" }}
emptyDir: {}
{{- else }}
persistentVolumeClaim:
claimName: "{{ $fullName }}-{{ $name }}"
{{- end }}
{{- end }}
{{- range .Values.webrtc.extraVolumes }}
- name: {{ .name }}
{{- if .existingClaim }}
persistentVolumeClaim:
claimName: {{ .existingClaim }}
{{- else if .hostPath }}
hostPath:
{{ toYaml .hostPath | nindent 12 }}
{{- else if .csi }}
csi:
{{- toYaml .csi | nindent 12 }}
{{- else if .configMap }}
configMap:
{{- toYaml .configMap | nindent 12 }}
{{- else if .emptyDir }}
emptyDir:
{{- toYaml .emptyDir | nindent 12 }}
{{- else }}
emptyDir: {}
{{- end }}
{{- end }}

View File

@@ -1,21 +0,0 @@
{{- $envVars := include "impress.common.env" (list . .Values.webrtc) -}}
{{- $fullName := include "impress.webrtc.fullname" . -}}
{{- $component := "webrtc" -}}
apiVersion: v1
kind: Service
metadata:
name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }}
labels:
{{- include "impress.common.labels" (list . $component) | nindent 4 }}
annotations:
{{- toYaml $.Values.webrtc.service.annotations | nindent 4 }}
spec:
type: {{ .Values.webrtc.service.type }}
ports:
- port: {{ .Values.webrtc.service.port }}
targetPort: {{ .Values.webrtc.service.targetPort }}
protocol: TCP
name: http
selector:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 4 }}

View File

@@ -1,4 +1,4 @@
apiVersion: v2 apiVersion: v2
type: application type: application
name: impress name: meet
version: 0.0.1 version: 0.0.1

View File

@@ -1,4 +1,4 @@
# Impress helm chart # Meet helm chart
## Parameters ## Parameters

View File

@@ -1,7 +1,7 @@
{{/* {{/*
Expand the name of the chart. Expand the name of the chart.
*/}} */}}
{{- define "impress.name" -}} {{- define "meet.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }} {{- end }}
@@ -10,7 +10,7 @@ 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). We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name. If release name contains chart name it will be used as a full name.
*/}} */}}
{{- define "impress.fullname" -}} {{- define "meet.fullname" -}}
{{- if .Values.fullnameOverride }} {{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }} {{- else }}
@@ -26,16 +26,16 @@ If release name contains chart name it will be used as a full name.
{{/* {{/*
Create chart name and version as used by the chart label. Create chart name and version as used by the chart label.
*/}} */}}
{{- define "impress.chart" -}} {{- define "meet.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }} {{- end }}
{{/* {{/*
impress.labels meet.labels
*/}} */}}
{{- define "impress.labels" -}} {{- define "meet.labels" -}}
helm.sh/chart: {{ include "impress.chart" . }} helm.sh/chart: {{ include "meet.chart" . }}
{{ include "impress.selectorLabels" . }} {{ include "meet.selectorLabels" . }}
{{- if .Chart.AppVersion }} {{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }} {{- end }}
@@ -45,14 +45,14 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
{{/* {{/*
Selector labels Selector labels
*/}} */}}
{{- define "impress.selectorLabels" -}} {{- define "meet.selectorLabels" -}}
app.kubernetes.io/name: {{ include "impress.name" . }} app.kubernetes.io/name: {{ include "meet.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }} {{- end }}
{{/* {{/*
transform dictionnary of environment variables transform dictionnary of environment variables
Usage : {{ include "impress.env.transformDict" .Values.envVars }} Usage : {{ include "meet.env.transformDict" .Values.envVars }}
Example: Example:
envVars: envVars:
@@ -69,7 +69,7 @@ envVars:
name: secret-name name: secret-name
key: "key_in_secret" key: "key_in_secret"
*/}} */}}
{{- define "impress.env.transformDict" -}} {{- define "meet.env.transformDict" -}}
{{- range $key, $value := . }} {{- range $key, $value := . }}
- name: {{ $key | quote }} - name: {{ $key | quote }}
{{- if $value | kindIs "map" }} {{- if $value | kindIs "map" }}
@@ -82,12 +82,12 @@ envVars:
{{/* {{/*
impress env vars meet env vars
*/}} */}}
{{- define "impress.common.env" -}} {{- define "meet.common.env" -}}
{{- $topLevelScope := index . 0 -}} {{- $topLevelScope := index . 0 -}}
{{- $workerScope := index . 1 -}} {{- $workerScope := index . 1 -}}
{{- include "impress.env.transformDict" $workerScope.envVars -}} {{- include "meet.env.transformDict" $workerScope.envVars -}}
{{- end }} {{- end }}
{{/* {{/*
@@ -95,10 +95,10 @@ Common labels
Requires array with top level scope and component name Requires array with top level scope and component name
*/}} */}}
{{- define "impress.common.labels" -}} {{- define "meet.common.labels" -}}
{{- $topLevelScope := index . 0 -}} {{- $topLevelScope := index . 0 -}}
{{- $component := index . 1 -}} {{- $component := index . 1 -}}
{{- include "impress.labels" $topLevelScope }} {{- include "meet.labels" $topLevelScope }}
app.kubernetes.io/component: {{ $component }} app.kubernetes.io/component: {{ $component }}
{{- end }} {{- end }}
@@ -107,14 +107,14 @@ Common selector labels
Requires array with top level scope and component name Requires array with top level scope and component name
*/}} */}}
{{- define "impress.common.selectorLabels" -}} {{- define "meet.common.selectorLabels" -}}
{{- $topLevelScope := index . 0 -}} {{- $topLevelScope := index . 0 -}}
{{- $component := index . 1 -}} {{- $component := index . 1 -}}
{{- include "impress.selectorLabels" $topLevelScope }} {{- include "meet.selectorLabels" $topLevelScope }}
app.kubernetes.io/component: {{ $component }} app.kubernetes.io/component: {{ $component }}
{{- end }} {{- end }}
{{- define "impress.probes.abstract" -}} {{- define "meet.probes.abstract" -}}
{{- if .exec -}} {{- if .exec -}}
exec: exec:
{{- toYaml .exec | nindent 2 }} {{- toYaml .exec | nindent 2 }}
@@ -135,8 +135,8 @@ Full name for the backend
Requires top level scope Requires top level scope
*/}} */}}
{{- define "impress.backend.fullname" -}} {{- define "meet.backend.fullname" -}}
{{ include "impress.fullname" . }}-backend {{ include "meet.fullname" . }}-backend
{{- end }} {{- end }}
{{/* {{/*
@@ -144,8 +144,8 @@ Full name for the frontend
Requires top level scope Requires top level scope
*/}} */}}
{{- define "impress.frontend.fullname" -}} {{- define "meet.frontend.fullname" -}}
{{ include "impress.fullname" . }}-frontend {{ include "meet.fullname" . }}-frontend
{{- end }} {{- end }}
{{/* {{/*
@@ -153,32 +153,32 @@ Full name for the webrtc
Requires top level scope Requires top level scope
*/}} */}}
{{- define "impress.webrtc.fullname" -}} {{- define "meet.webrtc.fullname" -}}
{{ include "impress.fullname" . }}-webrtc {{ include "meet.fullname" . }}-webrtc
{{- end }} {{- end }}
{{/* {{/*
Usage : {{ include "impress.secret.dockerconfigjson.name" (dict "fullname" (include "impress.fullname" .) "imageCredentials" .Values.path.to.the.image1) }} Usage : {{ include "meet.secret.dockerconfigjson.name" (dict "fullname" (include "meet.fullname" .) "imageCredentials" .Values.path.to.the.image1) }}
*/}} */}}
{{- define "impress.secret.dockerconfigjson.name" }} {{- define "meet.secret.dockerconfigjson.name" }}
{{- if (default (dict) .imageCredentials).name }}{{ .imageCredentials.name }}{{ else }}{{ .fullname | trunc 63 | trimSuffix "-" }}-dockerconfig{{ end -}} {{- if (default (dict) .imageCredentials).name }}{{ .imageCredentials.name }}{{ else }}{{ .fullname | trunc 63 | trimSuffix "-" }}-dockerconfig{{ end -}}
{{- end }} {{- end }}
{{/* {{/*
Usage : {{ include "impress.secret.dockerconfigjson" (dict "fullname" (include "impress.fullname" .) "imageCredentials" .Values.path.to.the.image1) }} Usage : {{ include "meet.secret.dockerconfigjson" (dict "fullname" (include "meet.fullname" .) "imageCredentials" .Values.path.to.the.image1) }}
*/}} */}}
{{- define "impress.secret.dockerconfigjson" }} {{- define "meet.secret.dockerconfigjson" }}
{{- if .imageCredentials -}} {{- if .imageCredentials -}}
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: {{ template "impress.secret.dockerconfigjson.name" (dict "fullname" .fullname "imageCredentials" .imageCredentials) }} name: {{ template "meet.secret.dockerconfigjson.name" (dict "fullname" .fullname "imageCredentials" .imageCredentials) }}
annotations: annotations:
"helm.sh/hook": pre-install,pre-upgrade "helm.sh/hook": pre-install,pre-upgrade
"helm.sh/hook-weight": "-5" "helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": before-hook-creation "helm.sh/hook-delete-policy": before-hook-creation
type: kubernetes.io/dockerconfigjson type: kubernetes.io/dockerconfigjson
data: data:
.dockerconfigjson: {{ template "impress.secret.dockerconfigjson.data" .imageCredentials }} .dockerconfigjson: {{ template "meet.secret.dockerconfigjson.data" .imageCredentials }}
{{- end -}} {{- end -}}
{{- end }} {{- end }}

View File

@@ -1,5 +1,5 @@
{{- $envVars := include "impress.common.env" (list . .Values.backend) -}} {{- $envVars := include "meet.common.env" (list . .Values.backend) -}}
{{- $fullName := include "impress.backend.fullname" . -}} {{- $fullName := include "meet.backend.fullname" . -}}
{{- $component := "backend" -}} {{- $component := "backend" -}}
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
@@ -7,12 +7,12 @@ metadata:
name: {{ $fullName }} name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ .Release.Namespace | quote }}
labels: labels:
{{- include "impress.common.labels" (list . $component) | nindent 4 }} {{- include "meet.common.labels" (list . $component) | nindent 4 }}
spec: spec:
replicas: {{ .Values.backend.replicas }} replicas: {{ .Values.backend.replicas }}
selector: selector:
matchLabels: matchLabels:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 6 }} {{- include "meet.common.selectorLabels" (list . $component) | nindent 6 }}
template: template:
metadata: metadata:
annotations: annotations:
@@ -20,11 +20,11 @@ spec:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
labels: labels:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 8 }} {{- include "meet.common.selectorLabels" (list . $component) | nindent 8 }}
spec: spec:
{{- if $.Values.image.credentials }} {{- if $.Values.image.credentials }}
imagePullSecrets: imagePullSecrets:
- name: {{ include "impress.secret.dockerconfigjson.name" (dict "fullname" (include "impress.fullname" .) "imageCredentials" $.Values.image.credentials) }} - name: {{ include "meet.secret.dockerconfigjson.name" (dict "fullname" (include "meet.fullname" .) "imageCredentials" $.Values.image.credentials) }}
{{- end}} {{- end}}
shareProcessNamespace: {{ .Values.backend.shareProcessNamespace }} shareProcessNamespace: {{ .Values.backend.shareProcessNamespace }}
containers: containers:
@@ -56,15 +56,15 @@ spec:
protocol: TCP protocol: TCP
{{- if .Values.backend.probes.liveness }} {{- if .Values.backend.probes.liveness }}
livenessProbe: livenessProbe:
{{- include "impress.probes.abstract" (merge .Values.backend.probes.liveness (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }} {{- include "meet.probes.abstract" (merge .Values.backend.probes.liveness (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }}
{{- end }} {{- end }}
{{- if .Values.backend.probes.readiness }} {{- if .Values.backend.probes.readiness }}
readinessProbe: readinessProbe:
{{- include "impress.probes.abstract" (merge .Values.backend.probes.readiness (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }} {{- include "meet.probes.abstract" (merge .Values.backend.probes.readiness (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }}
{{- end }} {{- end }}
{{- if .Values.backend.probes.startup }} {{- if .Values.backend.probes.startup }}
startupProbe: startupProbe:
{{- include "impress.probes.abstract" (merge .Values.backend.probes.startup (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }} {{- include "meet.probes.abstract" (merge .Values.backend.probes.startup (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }}
{{- end }} {{- end }}
{{- with .Values.backend.resources }} {{- with .Values.backend.resources }}
resources: resources:
@@ -102,7 +102,7 @@ spec:
{{- range $index, $value := .Values.mountFiles }} {{- range $index, $value := .Values.mountFiles }}
- name: "files-{{ $index }}" - name: "files-{{ $index }}"
configMap: configMap:
name: "{{ include "impress.fullname" $ }}-files-{{ $index }}" name: "{{ include "meet.fullname" $ }}-files-{{ $index }}"
{{- end }} {{- end }}
{{- range $name, $volume := .Values.backend.persistence }} {{- range $name, $volume := .Values.backend.persistence }}
- name: "{{ $name }}" - name: "{{ $name }}"

View File

@@ -1,5 +1,5 @@
{{- $envVars := include "impress.common.env" (list . .Values.backend) -}} {{- $envVars := include "meet.common.env" (list . .Values.backend) -}}
{{- $fullName := include "impress.backend.fullname" . -}} {{- $fullName := include "meet.backend.fullname" . -}}
{{- $component := "backend" -}} {{- $component := "backend" -}}
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
@@ -11,7 +11,7 @@ metadata:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
labels: labels:
{{- include "impress.common.labels" (list . $component) | nindent 4 }} {{- include "meet.common.labels" (list . $component) | nindent 4 }}
spec: spec:
template: template:
metadata: metadata:
@@ -20,11 +20,11 @@ spec:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
labels: labels:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 8 }} {{- include "meet.common.selectorLabels" (list . $component) | nindent 8 }}
spec: spec:
{{- if $.Values.image.credentials }} {{- if $.Values.image.credentials }}
imagePullSecrets: imagePullSecrets:
- name: {{ include "impress.secret.dockerconfigjson.name" (dict "fullname" (include "impress.fullname" .) "imageCredentials" $.Values.image.credentials) }} - name: {{ include "meet.secret.dockerconfigjson.name" (dict "fullname" (include "meet.fullname" .) "imageCredentials" $.Values.image.credentials) }}
{{- end}} {{- end}}
shareProcessNamespace: {{ .Values.backend.shareProcessNamespace }} shareProcessNamespace: {{ .Values.backend.shareProcessNamespace }}
containers: containers:
@@ -87,7 +87,7 @@ spec:
{{- range $index, $value := .Values.mountFiles }} {{- range $index, $value := .Values.mountFiles }}
- name: "files-{{ $index }}" - name: "files-{{ $index }}"
configMap: configMap:
name: "{{ include "impress.fullname" $ }}-files-{{ $index }}" name: "{{ include "meet.fullname" $ }}-files-{{ $index }}"
{{- end }} {{- end }}
{{- range $name, $volume := .Values.backend.persistence }} {{- range $name, $volume := .Values.backend.persistence }}
- name: "{{ $name }}" - name: "{{ $name }}"

View File

@@ -1,5 +1,5 @@
{{- $envVars := include "impress.common.env" (list . .Values.backend) -}} {{- $envVars := include "meet.common.env" (list . .Values.backend) -}}
{{- $fullName := include "impress.backend.fullname" . -}} {{- $fullName := include "meet.backend.fullname" . -}}
{{- $component := "backend" -}} {{- $component := "backend" -}}
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
@@ -11,7 +11,7 @@ metadata:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
labels: labels:
{{- include "impress.common.labels" (list . $component) | nindent 4 }} {{- include "meet.common.labels" (list . $component) | nindent 4 }}
spec: spec:
template: template:
metadata: metadata:
@@ -20,11 +20,11 @@ spec:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
labels: labels:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 8 }} {{- include "meet.common.selectorLabels" (list . $component) | nindent 8 }}
spec: spec:
{{- if $.Values.image.credentials }} {{- if $.Values.image.credentials }}
imagePullSecrets: imagePullSecrets:
- name: {{ include "impress.secret.dockerconfigjson.name" (dict "fullname" (include "impress.fullname" .) "imageCredentials" $.Values.image.credentials) }} - name: {{ include "meet.secret.dockerconfigjson.name" (dict "fullname" (include "meet.fullname" .) "imageCredentials" $.Values.image.credentials) }}
{{- end}} {{- end}}
shareProcessNamespace: {{ .Values.backend.shareProcessNamespace }} shareProcessNamespace: {{ .Values.backend.shareProcessNamespace }}
containers: containers:
@@ -87,7 +87,7 @@ spec:
{{- range $index, $value := .Values.mountFiles }} {{- range $index, $value := .Values.mountFiles }}
- name: "files-{{ $index }}" - name: "files-{{ $index }}"
configMap: configMap:
name: "{{ include "impress.fullname" $ }}-files-{{ $index }}" name: "{{ include "meet.fullname" $ }}-files-{{ $index }}"
{{- end }} {{- end }}
{{- range $name, $volume := .Values.backend.persistence }} {{- range $name, $volume := .Values.backend.persistence }}
- name: "{{ $name }}" - name: "{{ $name }}"

View File

@@ -1,5 +1,5 @@
{{- $envVars := include "impress.common.env" (list . .Values.backend) -}} {{- $envVars := include "meet.common.env" (list . .Values.backend) -}}
{{- $fullName := include "impress.backend.fullname" . -}} {{- $fullName := include "meet.backend.fullname" . -}}
{{- $component := "backend" -}} {{- $component := "backend" -}}
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
@@ -7,7 +7,7 @@ metadata:
name: {{ $fullName }} name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ .Release.Namespace | quote }}
labels: labels:
{{- include "impress.common.labels" (list . $component) | nindent 4 }} {{- include "meet.common.labels" (list . $component) | nindent 4 }}
annotations: annotations:
{{- toYaml $.Values.backend.service.annotations | nindent 4 }} {{- toYaml $.Values.backend.service.annotations | nindent 4 }}
spec: spec:
@@ -18,4 +18,4 @@ spec:
protocol: TCP protocol: TCP
name: http name: http
selector: selector:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 4 }} {{- include "meet.common.selectorLabels" (list . $component) | nindent 4 }}

View File

@@ -1,5 +1,5 @@
{{- $envVars := include "impress.common.env" (list . .Values.frontend) -}} {{- $envVars := include "meet.common.env" (list . .Values.frontend) -}}
{{- $fullName := include "impress.frontend.fullname" . -}} {{- $fullName := include "meet.frontend.fullname" . -}}
{{- $component := "frontend" -}} {{- $component := "frontend" -}}
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
@@ -7,12 +7,12 @@ metadata:
name: {{ $fullName }} name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ .Release.Namespace | quote }}
labels: labels:
{{- include "impress.common.labels" (list . $component) | nindent 4 }} {{- include "meet.common.labels" (list . $component) | nindent 4 }}
spec: spec:
replicas: {{ .Values.frontend.replicas }} replicas: {{ .Values.frontend.replicas }}
selector: selector:
matchLabels: matchLabels:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 6 }} {{- include "meet.common.selectorLabels" (list . $component) | nindent 6 }}
template: template:
metadata: metadata:
annotations: annotations:
@@ -20,11 +20,11 @@ spec:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
labels: labels:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 8 }} {{- include "meet.common.selectorLabels" (list . $component) | nindent 8 }}
spec: spec:
{{- if $.Values.image.credentials }} {{- if $.Values.image.credentials }}
imagePullSecrets: imagePullSecrets:
- name: {{ include "impress.secret.dockerconfigjson.name" (dict "fullname" (include "impress.fullname" .) "imageCredentials" $.Values.image.credentials) }} - name: {{ include "meet.secret.dockerconfigjson.name" (dict "fullname" (include "meet.fullname" .) "imageCredentials" $.Values.image.credentials) }}
{{- end}} {{- end}}
shareProcessNamespace: {{ .Values.frontend.shareProcessNamespace }} shareProcessNamespace: {{ .Values.frontend.shareProcessNamespace }}
containers: containers:
@@ -56,15 +56,15 @@ spec:
protocol: TCP protocol: TCP
{{- if .Values.frontend.probes.liveness }} {{- if .Values.frontend.probes.liveness }}
livenessProbe: livenessProbe:
{{- include "impress.probes.abstract" (merge .Values.frontend.probes.liveness (dict "targetPort" .Values.frontend.service.targetPort )) | nindent 12 }} {{- include "meet.probes.abstract" (merge .Values.frontend.probes.liveness (dict "targetPort" .Values.frontend.service.targetPort )) | nindent 12 }}
{{- end }} {{- end }}
{{- if .Values.frontend.probes.readiness }} {{- if .Values.frontend.probes.readiness }}
readinessProbe: readinessProbe:
{{- include "impress.probes.abstract" (merge .Values.frontend.probes.readiness (dict "targetPort" .Values.frontend.service.targetPort )) | nindent 12 }} {{- include "meet.probes.abstract" (merge .Values.frontend.probes.readiness (dict "targetPort" .Values.frontend.service.targetPort )) | nindent 12 }}
{{- end }} {{- end }}
{{- if .Values.frontend.probes.startup }} {{- if .Values.frontend.probes.startup }}
startupProbe: startupProbe:
{{- include "impress.probes.abstract" (merge .Values.frontend.probes.startup (dict "targetPort" .Values.frontend.service.targetPort )) | nindent 12 }} {{- include "meet.probes.abstract" (merge .Values.frontend.probes.startup (dict "targetPort" .Values.frontend.service.targetPort )) | nindent 12 }}
{{- end }} {{- end }}
{{- with .Values.frontend.resources }} {{- with .Values.frontend.resources }}
resources: resources:
@@ -102,7 +102,7 @@ spec:
{{- range $index, $value := .Values.mountFiles }} {{- range $index, $value := .Values.mountFiles }}
- name: "files-{{ $index }}" - name: "files-{{ $index }}"
configMap: configMap:
name: "{{ include "impress.fullname" $ }}-files-{{ $index }}" name: "{{ include "meet.fullname" $ }}-files-{{ $index }}"
{{- end }} {{- end }}
{{- range $name, $volume := .Values.frontend.persistence }} {{- range $name, $volume := .Values.frontend.persistence }}
- name: "{{ $name }}" - name: "{{ $name }}"

View File

@@ -1,5 +1,5 @@
{{- $envVars := include "impress.common.env" (list . .Values.frontend) -}} {{- $envVars := include "meet.common.env" (list . .Values.frontend) -}}
{{- $fullName := include "impress.frontend.fullname" . -}} {{- $fullName := include "meet.frontend.fullname" . -}}
{{- $component := "frontend" -}} {{- $component := "frontend" -}}
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
@@ -7,7 +7,7 @@ metadata:
name: {{ $fullName }} name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ .Release.Namespace | quote }}
labels: labels:
{{- include "impress.common.labels" (list . $component) | nindent 4 }} {{- include "meet.common.labels" (list . $component) | nindent 4 }}
annotations: annotations:
{{- toYaml $.Values.frontend.service.annotations | nindent 4 }} {{- toYaml $.Values.frontend.service.annotations | nindent 4 }}
spec: spec:
@@ -18,4 +18,4 @@ spec:
protocol: TCP protocol: TCP
name: http name: http
selector: selector:
{{- include "impress.common.selectorLabels" (list . $component) | nindent 4 }} {{- include "meet.common.selectorLabels" (list . $component) | nindent 4 }}

View File

@@ -1,5 +1,5 @@
{{- if .Values.ingress.enabled -}} {{- if .Values.ingress.enabled -}}
{{- $fullName := include "impress.fullname" . -}} {{- $fullName := include "meet.fullname" . -}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
@@ -17,7 +17,7 @@ metadata:
name: {{ $fullName }} name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ .Release.Namespace | quote }}
labels: labels:
{{- include "impress.labels" . | nindent 4 }} {{- include "meet.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }} {{- with .Values.ingress.annotations }}
annotations: annotations:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
@@ -53,11 +53,11 @@ spec:
backend: backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service: service:
name: {{ include "impress.frontend.fullname" . }} name: {{ include "meet.frontend.fullname" . }}
port: port:
number: {{ .Values.frontend.service.port }} number: {{ .Values.frontend.service.port }}
{{- else }} {{- else }}
serviceName: {{ include "impress.frontend.fullname" . }} serviceName: {{ include "meet.frontend.fullname" . }}
servicePort: {{ .Values.frontend.service.port }} servicePort: {{ .Values.frontend.service.port }}
{{- end }} {{- end }}
- path: /api - path: /api
@@ -67,11 +67,11 @@ spec:
backend: backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service: service:
name: {{ include "impress.backend.fullname" . }} name: {{ include "meet.backend.fullname" . }}
port: port:
number: {{ .Values.backend.service.port }} number: {{ .Values.backend.service.port }}
{{- else }} {{- else }}
serviceName: {{ include "impress.backend.fullname" . }} serviceName: {{ include "meet.backend.fullname" . }}
servicePort: {{ .Values.backend.service.port }} servicePort: {{ .Values.backend.service.port }}
{{- end }} {{- end }}
{{- with .Values.ingress.customBackends }} {{- with .Values.ingress.customBackends }}
@@ -89,11 +89,11 @@ spec:
backend: backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service: service:
name: {{ include "impress.frontend.fullname" $ }} name: {{ include "meet.frontend.fullname" $ }}
port: port:
number: {{ $.Values.frontend.service.port }} number: {{ $.Values.frontend.service.port }}
{{- else }} {{- else }}
serviceName: {{ include "impress.frontend.fullname" $ }} serviceName: {{ include "meet.frontend.fullname" $ }}
servicePort: {{ $.Values.frontend.service.port }} servicePort: {{ $.Values.frontend.service.port }}
{{- end }} {{- end }}
- path: /api - path: /api
@@ -103,11 +103,11 @@ spec:
backend: backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service: service:
name: {{ include "impress.backend.fullname" $ }} name: {{ include "meet.backend.fullname" $ }}
port: port:
number: {{ $.Values.backend.service.port }} number: {{ $.Values.backend.service.port }}
{{- else }} {{- else }}
serviceName: {{ include "impress.backend.fullname" $ }} serviceName: {{ include "meet.backend.fullname" $ }}
servicePort: {{ $.Values.backend.service.port }} servicePort: {{ $.Values.backend.service.port }}
{{- end }} {{- end }}
{{- with $.Values.ingress.customBackends }} {{- with $.Values.ingress.customBackends }}

View File

@@ -1,5 +1,5 @@
{{- if .Values.ingressAdmin.enabled -}} {{- if .Values.ingressAdmin.enabled -}}
{{- $fullName := include "impress.fullname" . -}} {{- $fullName := include "meet.fullname" . -}}
{{- if and .Values.ingressAdmin.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} {{- if and .Values.ingressAdmin.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.ingressAdmin.annotations "kubernetes.io/ingress.class") }} {{- if not (hasKey .Values.ingressAdmin.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .Values.ingressAdmin.annotations "kubernetes.io/ingress.class" .Values.ingressAdmin.className}} {{- $_ := set .Values.ingressAdmin.annotations "kubernetes.io/ingress.class" .Values.ingressAdmin.className}}
@@ -17,7 +17,7 @@ metadata:
name: {{ $fullName }}-admin name: {{ $fullName }}-admin
namespace: {{ .Release.Namespace | quote }} namespace: {{ .Release.Namespace | quote }}
labels: labels:
{{- include "impress.labels" . | nindent 4 }} {{- include "meet.labels" . | nindent 4 }}
{{- with .Values.ingressAdmin.annotations }} {{- with .Values.ingressAdmin.annotations }}
annotations: annotations:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
@@ -53,11 +53,11 @@ spec:
backend: backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service: service:
name: {{ include "impress.backend.fullname" . }} name: {{ include "meet.backend.fullname" . }}
port: port:
number: {{ .Values.backend.service.port }} number: {{ .Values.backend.service.port }}
{{- else }} {{- else }}
serviceName: {{ include "impress.backend.fullname" . }} serviceName: {{ include "meet.backend.fullname" . }}
servicePort: {{ .Values.backend.service.port }} servicePort: {{ .Values.backend.service.port }}
{{- end }} {{- end }}
- path: /static - path: /static
@@ -67,11 +67,11 @@ spec:
backend: backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service: service:
name: {{ include "impress.backend.fullname" . }} name: {{ include "meet.backend.fullname" . }}
port: port:
number: {{ .Values.backend.service.port }} number: {{ .Values.backend.service.port }}
{{- else }} {{- else }}
serviceName: {{ include "impress.backend.fullname" . }} serviceName: {{ include "meet.backend.fullname" . }}
servicePort: {{ .Values.backend.service.port }} servicePort: {{ .Values.backend.service.port }}
{{- end }} {{- end }}
{{- end }} {{- end }}
@@ -86,11 +86,11 @@ spec:
backend: backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service: service:
name: {{ include "impress.backend.fullname" $ }} name: {{ include "meet.backend.fullname" $ }}
port: port:
number: {{ $.Values.backend.service.port }} number: {{ $.Values.backend.service.port }}
{{- else }} {{- else }}
serviceName: {{ include "impress.backend.fullname" $ }} serviceName: {{ include "meet.backend.fullname" $ }}
servicePort: {{ $.Values.backend.service.port }} servicePort: {{ $.Values.backend.service.port }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View File

@@ -1,11 +1,11 @@
# Default values for impress. # Default values for meet.
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
## @section General configuration ## @section General configuration
## @param image.repository Repository to use to pull impress's container image ## @param image.repository Repository to use to pull meet's container image
## @param image.tag impress's container tag ## @param image.tag meet's container tag
## @param image.pullPolicy Container image pull policy ## @param image.pullPolicy Container image pull policy
## @extra image.credentials.username Username for container registry authentication ## @extra image.credentials.username Username for container registry authentication
## @extra image.credentials.password Password for container registry authentication ## @extra image.credentials.password Password for container registry authentication
@@ -32,7 +32,7 @@ commonEnvVars: &commonEnvVars
ingress: ingress:
enabled: false enabled: false
className: null className: null
host: impress.example.com host: meet.example.com
path: / path: /
## @param ingress.hosts Additional host to configure for the Ingress ## @param ingress.hosts Additional host to configure for the Ingress
hosts: [] hosts: []
@@ -48,32 +48,6 @@ ingress:
## @param ingress.customBackends Add custom backends to ingress ## @param ingress.customBackends Add custom backends to ingress
customBackends: [] customBackends: []
## @param ingressWS.enabled whether to enable the Ingress or not
## @param ingressWS.className IngressClass to use for the Ingress
## @param ingressWS.host Host for the Ingress
## @param ingressWS.path Path to use for the Ingress
ingressWS:
enabled: false
className: null
host: impress.example.com
path: /ws
## @param ingress.hosts Additional host to configure for the Ingress
hosts: []
# - chart-example.local
## @param ingressWS.tls.enabled Weather to enable TLS for the Ingress
## @skip ingressWS.tls.additional
## @extra ingressWS.tls.additional[].secretName Secret name for additional TLS config
## @extra ingressWS.tls.additional[].hosts[] Hosts for additional TLS config
tls:
enabled: true
additional: []
## @param ingressWS.customBackends Add custom backends to ingress
customBackends: []
annotations:
nginx.ingress.kubernetes.io/enable-websocket: "true"
nginx.ingress.kubernetes.io/upstream-hash-by: "$request_uri"
## @param ingressAdmin.enabled whether to enable the Ingress or not ## @param ingressAdmin.enabled whether to enable the Ingress or not
## @param ingressAdmin.className IngressClass to use for the Ingress ## @param ingressAdmin.className IngressClass to use for the Ingress
@@ -82,7 +56,7 @@ ingressWS:
ingressAdmin: ingressAdmin:
enabled: false enabled: false
className: null className: null
host: impress.example.com host: meet.example.com
path: /admin path: /admin
## @param ingressAdmin.hosts Additional host to configure for the Ingress ## @param ingressAdmin.hosts Additional host to configure for the Ingress
hosts: [ ] hosts: [ ]
@@ -202,8 +176,8 @@ backend:
## @section frontend ## @section frontend
frontend: frontend:
## @param frontend.image.repository Repository to use to pull impress's frontend container image ## @param frontend.image.repository Repository to use to pull meet's frontend container image
## @param frontend.image.tag impress's frontend container tag ## @param frontend.image.tag meet's frontend container tag
## @param frontend.image.pullPolicy frontend container image pull policy ## @param frontend.image.pullPolicy frontend container image pull policy
image: image:
repository: lasuite/meet-frontend repository: lasuite/meet-frontend
@@ -289,97 +263,3 @@ frontend:
## @param frontend.extraVolumes Additional volumes to mount on the frontend. ## @param frontend.extraVolumes Additional volumes to mount on the frontend.
extraVolumes: [] extraVolumes: []
## @section webrtc
webrtc:
## @param webrtc.image.repository Repository to use to pull impress's webrtc container image
## @param webrtc.image.tag impress's webrtc container tag
## @param webrtc.image.pullPolicy webrtc container image pull policy
image:
repository: lasuite/impress-y-webrtc-signaling
pullPolicy: IfNotPresent
tag: "latest"
## @param webrtc.command Override the webrtc container command
command: []
## @param webrtc.args Override the webrtc container args
args: []
## @param webrtc.replicas Amount of webrtc replicas
replicas: 3
## @param webrtc.shareProcessNamespace Enable share process namewebrtc between containers
shareProcessNamespace: false
## @param webrtc.sidecars Add sidecars containers to webrtc deployment
sidecars: []
## @param webrtc.securityContext Configure webrtc Pod security context
securityContext: null
## @param webrtc.envVars Configure webrtc container environment variables
## @extra webrtc.envVars.BY_VALUE Example environment variable by setting value directly
## @extra webrtc.envVars.FROM_CONFIGMAP.configMapKeyRef.name Name of a ConfigMap when configuring env vars from a ConfigMap
## @extra webrtc.envVars.FROM_CONFIGMAP.configMapKeyRef.key Key within a ConfigMap when configuring env vars from a ConfigMap
## @extra webrtc.envVars.FROM_SECRET.secretKeyRef.name Name of a Secret when configuring env vars from a Secret
## @extra webrtc.envVars.FROM_SECRET.secretKeyRef.key Key within a Secret when configuring env vars from a Secret
## @skip webrtc.envVars
envVars:
<<: *commonEnvVars
## @param webrtc.podAnnotations Annotations to add to the webrtc Pod
podAnnotations: {}
## @param webrtc.service.type webrtc Service type
## @param webrtc.service.port webrtc Service listening port
## @param webrtc.service.targetPort webrtc container listening port
## @param webrtc.service.annotations Annotations to add to the webrtc Service
service:
type: ClusterIP
port: 443
targetPort: 4444
annotations: {}
## @param webrtc.probes Configure probe for webrtc
## @extra webrtc.probes.liveness.path Configure path for webrtc HTTP liveness probe
## @extra webrtc.probes.liveness.targetPort Configure port for webrtc HTTP liveness probe
## @extra webrtc.probes.liveness.initialDelaySeconds Configure initial delay for webrtc liveness probe
## @extra webrtc.probes.liveness.initialDelaySeconds Configure timeout for webrtc liveness probe
## @extra webrtc.probes.startup.path Configure path for webrtc HTTP startup probe
## @extra webrtc.probes.startup.targetPort Configure port for webrtc HTTP startup probe
## @extra webrtc.probes.startup.initialDelaySeconds Configure initial delay for webrtc startup probe
## @extra webrtc.probes.startup.initialDelaySeconds Configure timeout for webrtc startup probe
## @extra webrtc.probes.readiness.path Configure path for webrtc HTTP readiness probe
## @extra webrtc.probes.readiness.targetPort Configure port for webrtc HTTP readiness probe
## @extra webrtc.probes.readiness.initialDelaySeconds Configure initial delay for webrtc readiness probe
## @extra webrtc.probes.readiness.initialDelaySeconds Configure timeout for webrtc readiness probe
probes:
liveness:
path: /ping
initialDelaySeconds: 10
## @param webrtc.resources Resource requirements for the webrtc container
resources: {}
## @param webrtc.nodeSelector Node selector for the webrtc Pod
nodeSelector: {}
## @param webrtc.tolerations Tolerations for the webrtc Pod
tolerations: []
## @param webrtc.affinity Affinity for the webrtc Pod
affinity: {}
## @param webrtc.persistence Additional volumes to create and mount on the webrtc. Used for debugging purposes
## @extra webrtc.persistence.volume-name.size Size of the additional volume
## @extra webrtc.persistence.volume-name.type Type of the additional volume, persistentVolumeClaim or emptyDir
## @extra webrtc.persistence.volume-name.mountPath Path where the volume should be mounted to
persistence: {}
## @param webrtc.extraVolumeMounts Additional volumes to mount on the webrtc.
extraVolumeMounts: []
## @param webrtc.extraVolumes Additional volumes to mount on the webrtc.
extraVolumes: []