From 55cb287b183eed7d96c6ddef061c1a23cb921009 Mon Sep 17 00:00:00 2001 From: aaronspruit Date: Thu, 13 Aug 2026 19:59:41 -0700 Subject: [PATCH 1/3] feat(chart): add extraManifests The chart templates a Service, a StatefulSet, an Ingress and an HTTPRoute. Anything else belonging to the deployment - Gateway API policies, NetworkPolicy, ServiceMonitor, ExternalSecret - has to be applied beside the release today, so it is not pruned on `helm uninstall` and has to be kept in sync by hand. extraManifests renders arbitrary objects with the release. It may be a list or a map, and each entry is either a YAML object or a string; both are passed through `tpl`, so entries can reference values and the chart's named templates. Default is `[]`, so rendered output is unchanged unless a value is set. values.yaml documents two entries: a config PersistentVolumeClaim the release owns, paired with pms.configExistingClaim, and a policy object given as YAML rather than as a string. README.md is regenerated with helm-docs 1.14.2. --- charts/plex-media-server/README.md | 1 + .../templates/extra-manifests.yaml | 13 ++++++ charts/plex-media-server/values.yaml | 41 +++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 charts/plex-media-server/templates/extra-manifests.yaml diff --git a/charts/plex-media-server/README.md b/charts/plex-media-server/README.md index 8e34ba28..b46d2052 100644 --- a/charts/plex-media-server/README.md +++ b/charts/plex-media-server/README.md @@ -106,6 +106,7 @@ Before contributing, please read the [Code of Conduct](../../CODE_OF_CONDUCT.md) | extraContainers | list | `[]` | | | extraEnv | object | `{}` | | | extraInitContainers | object | `{}` | | +| extraManifests | list | `[]` | Extra manifests to deploy with the release, for objects this chart does not render (Gateway API policies, NetworkPolicy, ServiceMonitor, ExternalSecret, ...) so they are owned by the release rather than applied by hand beside it. May be a list or a map. Each entry is either a YAML object or a string; both are passed through `tpl`, so entries can use the release's values and the chart's named templates. | | extraVolumeMounts | list | `[]` | Optionally specify additional volume mounts for the PMS and init containers. | | extraVolumes | list | `[]` | Optionally specify additional volumes for the pod. | | fullnameOverride | string | `""` | | diff --git a/charts/plex-media-server/templates/extra-manifests.yaml b/charts/plex-media-server/templates/extra-manifests.yaml new file mode 100644 index 00000000..7a986b8e --- /dev/null +++ b/charts/plex-media-server/templates/extra-manifests.yaml @@ -0,0 +1,13 @@ +{{- /* +Renders arbitrary manifests supplied in .Values.extraManifests, so objects the +chart does not template (Gateway API policies, NetworkPolicy, ServiceMonitor, +ExternalSecret, ...) can be owned by this release. +*/ -}} +{{- range $manifest := .Values.extraManifests }} +--- +{{- if kindIs "string" $manifest }} +{{ tpl $manifest $ }} +{{- else }} +{{ tpl (toYaml $manifest) $ }} +{{- end }} +{{- end }} diff --git a/charts/plex-media-server/values.yaml b/charts/plex-media-server/values.yaml index 04e96986..07519567 100644 --- a/charts/plex-media-server/values.yaml +++ b/charts/plex-media-server/values.yaml @@ -361,3 +361,44 @@ extraContainers: [] # memory: 128Mi # volumeMounts: # - ... + +# -- Extra manifests to deploy with the release, for objects this chart does not +# render (Gateway API policies, NetworkPolicy, ServiceMonitor, ExternalSecret, +# ...) so they are owned by the release rather than applied by hand beside it. +# May be a list or a map. Each entry is either a YAML object or a string; both +# are passed through `tpl`, so entries can use the release's values and the +# chart's named templates. +extraManifests: [] +# extraManifests: +# # A config claim the release owns, with a name of its own choosing, kept +# # across a `helm uninstall`. Point 'pms.configExistingClaim' at the same name +# # so the StatefulSet mounts it instead of a volumeClaimTemplate. +# - | +# apiVersion: v1 +# kind: PersistentVolumeClaim +# metadata: +# name: {{ .Values.pms.configExistingClaim }} +# labels: +# {{- include "pms-chart.labels" . | nindent 4 }} +# annotations: +# helm.sh/resource-policy: keep +# spec: +# accessModes: +# - ReadWriteOnce +# resources: +# requests: +# storage: {{ .Values.pms.configStorage }} +# # An entry given as an object rather than a string. Quote any value that +# # starts with a template - a bare `{{` is not valid YAML. +# - apiVersion: gateway.envoyproxy.io/v1alpha1 +# kind: BackendTrafficPolicy +# metadata: +# name: '{{ include "pms-chart.fullname" . }}-compression' +# spec: +# targetRefs: +# - group: gateway.networking.k8s.io +# kind: HTTPRoute +# name: '{{ include "pms-chart.fullname" . }}' +# compressor: +# - type: Gzip +# gzip: {} From 88cb8f044bc7667b069715d1dfe4220131269cfc Mon Sep 17 00:00:00 2001 From: Gaston Festari Date: Mon, 7 Sep 2026 17:12:10 -0300 Subject: [PATCH 2/3] chore: prepare v1.9.0 --- charts/plex-media-server/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/plex-media-server/Chart.yaml b/charts/plex-media-server/Chart.yaml index aa5b5b5b..cc62c166 100644 --- a/charts/plex-media-server/Chart.yaml +++ b/charts/plex-media-server/Chart.yaml @@ -22,7 +22,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.8.0 +version: 1.9.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to From 147b14c608cc5c15b6e812c14971e869bbf7abe6 Mon Sep 17 00:00:00 2001 From: Gaston Festari Date: Mon, 7 Sep 2026 17:12:33 -0300 Subject: [PATCH 3/3] docs: update README --- charts/plex-media-server/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/plex-media-server/README.md b/charts/plex-media-server/README.md index b46d2052..b423d9c1 100644 --- a/charts/plex-media-server/README.md +++ b/charts/plex-media-server/README.md @@ -1,6 +1,6 @@ # plex-media-server -![Version: 1.8.0](https://img.shields.io/badge/Version-1.8.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.43.0](https://img.shields.io/badge/AppVersion-1.43.0-informational?style=flat-square) +![Version: 1.9.0](https://img.shields.io/badge/Version-1.9.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.43.0](https://img.shields.io/badge/AppVersion-1.43.0-informational?style=flat-square) **Homepage:**