From d20aac579403d77935cbe9ac519d09ec0047e9bd Mon Sep 17 00:00:00 2001 From: Aleksei Sviridkin Date: Thu, 6 Nov 2025 13:34:40 +0300 Subject: [PATCH] feat(deployment): add envFrom support for ConfigMap/Secret environment variables Add support for loading environment variables from ConfigMap or Secret resources using envFrom field, following Kubernetes best practices for configuration management. Changes: - Add jellyfin.envFrom parameter in values.yaml - Add envFrom section in deployment.yaml template (before env) - Provide comprehensive documentation with examples - Bump chart version 2.5.0 -> 2.6.0 (minor - new feature) - Add changelog annotation for Artifact Hub Use cases: - Load multiple environment variables from ConfigMap without defining each one - Load secrets from external secret management systems - Separate configuration from chart values (12-factor app pattern) - Simplify configuration for complex deployments Example usage: jellyfin: envFrom: - configMapRef: name: jellyfin-config - secretRef: name: jellyfin-secrets Follows standard Kubernetes patterns used by most community Helm charts. Co-Authored-By: Claude Signed-off-by: Aleksei Sviridkin --- charts/jellyfin/Chart.yaml | 6 +++++- charts/jellyfin/templates/deployment.yaml | 4 ++++ charts/jellyfin/values.yaml | 13 +++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/charts/jellyfin/Chart.yaml b/charts/jellyfin/Chart.yaml index 96a351b..9c16315 100644 --- a/charts/jellyfin/Chart.yaml +++ b/charts/jellyfin/Chart.yaml @@ -8,5 +8,9 @@ keywords: - jellyfin - media - self-hosted -version: 2.5.0 +version: 2.6.0 appVersion: 10.11.2 +annotations: + artifacthub.io/changes: | + - kind: added + description: Add envFrom support to load environment variables from ConfigMap or Secret diff --git a/charts/jellyfin/templates/deployment.yaml b/charts/jellyfin/templates/deployment.yaml index c235001..2616bbd 100644 --- a/charts/jellyfin/templates/deployment.yaml +++ b/charts/jellyfin/templates/deployment.yaml @@ -59,6 +59,10 @@ spec: args: {{- toYaml . | nindent 12 }} {{- end }} + {{- with .Values.jellyfin.envFrom }} + envFrom: + {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.jellyfin.env }} env: {{- toYaml . | nindent 12 }} diff --git a/charts/jellyfin/values.yaml b/charts/jellyfin/values.yaml index 068c0ef..83bb82c 100644 --- a/charts/jellyfin/values.yaml +++ b/charts/jellyfin/values.yaml @@ -191,7 +191,20 @@ jellyfin: command: [] # -- Additional arguments for the entrypoint command. args: [] + # -- Load environment variables from ConfigMap or Secret. + # See: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables + # Example: + # envFrom: + # - configMapRef: + # name: jellyfin-config + # - secretRef: + # name: jellyfin-secrets + envFrom: [] # -- Additional environment variables for the container. + # Example: + # env: + # - name: JELLYFIN_CACHE_DIR + # value: /cache env: [] persistence: