From c12a4fb005c1ac96b328acb15aa11d7a812cdf71 Mon Sep 17 00:00:00 2001 From: Serge Tkatchouk Date: Thu, 9 Feb 2023 19:53:35 +0700 Subject: [PATCH] Introduce support for external Jibri deployments This allows k8s operators to deploy this chart with all required configurations and secrets for Jibri operation, while skipping the creation of bundled Jibri deployment, service and PVC. Fixes #69. Signed-off-by: Serge Tkatchouk --- README.md | 1 + templates/jibri/deployment.yaml | 2 +- templates/jibri/persistentvolumeclaim.yaml | 2 +- templates/jibri/service.yaml | 2 +- values.yaml | 7 +++++++ 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d221199..4f9a786 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ Parameter | Description | Default `websockets.colibri.enabled` | Enable WebSocket support for JVB/Colibri | `false` `websockets.xmpp.enabled` | Enable WebSocket support for Prosody/XMPP | `false` `jibri.enabled` | Enable Jibri service | `false` +`jibri.useExternalJibri` | Use external Jibri service, instead of chart-provided one | `false` `jibri.singleUseMode` | Enable Jibri single-use mode | `false` `jibri.persistence.enabled` | Enable persistent storage for Jibri recordings | `false` `jibri.persistence.size` | Jibri persistent storage size | `4Gi` diff --git a/templates/jibri/deployment.yaml b/templates/jibri/deployment.yaml index 82813d6..56f1adb 100644 --- a/templates/jibri/deployment.yaml +++ b/templates/jibri/deployment.yaml @@ -1,4 +1,4 @@ -{{- if .Values.jibri.enabled }} +{{- if and .Values.jibri.enabled (not .Values.jibri.useExternalJibri) }} apiVersion: apps/v1 kind: Deployment metadata: diff --git a/templates/jibri/persistentvolumeclaim.yaml b/templates/jibri/persistentvolumeclaim.yaml index 13c10d9..7ac1d29 100644 --- a/templates/jibri/persistentvolumeclaim.yaml +++ b/templates/jibri/persistentvolumeclaim.yaml @@ -1,4 +1,4 @@ -{{- if and .Values.jibri.enabled .Values.jibri.persistence.enabled (not .Values.jibri.persistence.existingClaim)}} +{{- if and .Values.jibri.enabled .Values.jibri.persistence.enabled (not .Values.jibri.persistence.existingClaim) (not .Values.jibri.useExternalJibri) }} apiVersion: v1 kind: PersistentVolumeClaim metadata: diff --git a/templates/jibri/service.yaml b/templates/jibri/service.yaml index f2cf1d2..5a03d7c 100644 --- a/templates/jibri/service.yaml +++ b/templates/jibri/service.yaml @@ -1,4 +1,4 @@ -{{- if .Values.jibri.enabled }} +{{- if and .Values.jibri.enabled (not .Values.jibri.useExternalJibri) }} apiVersion: v1 kind: Service metadata: diff --git a/values.yaml b/values.yaml index 1e3f9a4..4095644 100644 --- a/values.yaml +++ b/values.yaml @@ -239,6 +239,13 @@ jibri: ## and/or stream their meetings (e.g. to YouTube). enabled: false + ## Use external Jibri installation. + ## This setting skips the creation of Jibri Deployment altogether, + ## instead creating just the config secret + ## and enabling recording/streaming services. + ## Defaults to disabled (use bundled Jibri). + useExternalJibri: false + ## Enable single-use mode for Jibri. ## With this setting enabled, every Jibri instance ## will become "expired" after being used once (successfully or not)