feat(gateway-api): add HTTPRoute support
Add support for Kubernetes Gateway API HTTPRoute resource as a modern alternative to Ingress. The implementation follows the same pattern as the existing Ingress template. Changes: - Add HTTPRoute template with configurable parentRefs, hostnames, and rules - Add httpRoute section to values.yaml with generic examples - Update Chart version from 2.5.0 to 2.6.0 - Add Artifact Hub changelog annotation - Add HTTPRoute documentation to README Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
This commit is contained in:
1 parent
2401a45bb1
commit
f1ae87fba9
5 files changed
+116
-2
No files matched your search
@@ -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 support for Gateway API HTTPRoute resource
|
||||
@@ -1,6 +1,6 @@
|
||||
# jellyfin
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
A Helm chart for Jellyfin Media Server
|
||||
|
||||
@@ -60,6 +60,10 @@ helm install my-jellyfin jellyfin/jellyfin -f values.yaml
|
||||
| extraContainers | list | `[]` | additional sidecar containers to run inside the pod. |
|
||||
| extraInitContainers | list | `[]` | additional init containers to run inside the pod. |
|
||||
| fullnameOverride | string | `""` | Override the default full name of the chart. |
|
||||
| httpRoute | object | `{"annotations":{},"enabled":false,"hostnames":[],"parentRefs":[],"rules":[{"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]}` | HTTPRoute configuration for Gateway API. See: https://gateway-api.sigs.k8s.io/ |
|
||||
| httpRoute.hostnames | list | `[]` | Hostnames to match for this HTTPRoute |
|
||||
| httpRoute.parentRefs | list | `[]` | Gateway references to attach this HTTPRoute to |
|
||||
| httpRoute.rules | list | `[{"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]` | Rules for routing traffic |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy (Always, IfNotPresent, or Never). |
|
||||
| image.repository | string | `"docker.io/jellyfin/jellyfin"` | Container image repository for Jellyfin. |
|
||||
| image.tag | string | `""` | Jellyfin container image tag. Leave empty to automatically use the Chart's app version. |
|
||||
@@ -134,6 +138,33 @@ helm install my-jellyfin jellyfin/jellyfin -f values.yaml
|
||||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
|
||||
|
||||
## Gateway API HTTPRoute
|
||||
|
||||
This chart supports the Kubernetes Gateway API HTTPRoute resource as a modern alternative to Ingress.
|
||||
|
||||
To use HTTPRoute, you need to have Gateway API CRDs installed in your cluster and a Gateway resource configured.
|
||||
|
||||
Example configuration:
|
||||
|
||||
```yaml
|
||||
httpRoute:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
parentRefs:
|
||||
- name: my-gateway
|
||||
namespace: gateway-system
|
||||
sectionName: https
|
||||
hostnames:
|
||||
- jellyfin.example.com
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
```
|
||||
|
||||
For more information about Gateway API, see: <https://gateway-api.sigs.k8s.io/>
|
||||
|
||||
## Hardware acceleration
|
||||
|
||||
Out of the box the pod does not have the necessary permissions to enable hardware acceleration (HWA) in Jellyfin.
|
||||
|
||||
@@ -59,6 +59,33 @@ helm install my-jellyfin jellyfin/jellyfin -f values.yaml
|
||||
|
||||
{{ template "helm-docs.versionFooter" . }}
|
||||
|
||||
## Gateway API HTTPRoute
|
||||
|
||||
This chart supports the Kubernetes Gateway API HTTPRoute resource as a modern alternative to Ingress.
|
||||
|
||||
To use HTTPRoute, you need to have Gateway API CRDs installed in your cluster and a Gateway resource configured.
|
||||
|
||||
Example configuration:
|
||||
|
||||
```yaml
|
||||
httpRoute:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
parentRefs:
|
||||
- name: my-gateway
|
||||
namespace: gateway-system
|
||||
sectionName: https
|
||||
hostnames:
|
||||
- jellyfin.example.com
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
```
|
||||
|
||||
For more information about Gateway API, see: <https://gateway-api.sigs.k8s.io/>
|
||||
|
||||
## Hardware acceleration
|
||||
|
||||
Out of the box the pod does not have the necessary permissions to enable hardware acceleration (HWA) in Jellyfin.
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
{{- if .Values.httpRoute.enabled }}
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
metadata:
|
||||
name: {{ include "jellyfin.fullname" . }}
|
||||
labels:
|
||||
{{- include "jellyfin.labels" . | nindent 4 }}
|
||||
{{- with .Values.httpRoute.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.httpRoute.parentRefs }}
|
||||
parentRefs:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.httpRoute.hostnames }}
|
||||
hostnames:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.httpRoute.rules }}
|
||||
- matches:
|
||||
{{- range .matches }}
|
||||
- path:
|
||||
type: {{ .path.type }}
|
||||
value: {{ .path.value }}
|
||||
{{- end }}
|
||||
backendRefs:
|
||||
- name: {{ include "jellyfin.fullname" $ }}
|
||||
port: {{ $.Values.service.port }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -124,6 +124,25 @@ ingress:
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
|
||||
# -- HTTPRoute configuration for Gateway API. See: https://gateway-api.sigs.k8s.io/
|
||||
httpRoute:
|
||||
enabled: false
|
||||
annotations: {}
|
||||
# -- Gateway references to attach this HTTPRoute to
|
||||
parentRefs: []
|
||||
# - name: my-gateway
|
||||
# namespace: gateway-system
|
||||
# sectionName: https
|
||||
# -- Hostnames to match for this HTTPRoute
|
||||
hostnames: []
|
||||
# - jellyfin.example.com
|
||||
# -- Rules for routing traffic
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
|
||||
# -- Resource requests and limits for the Jellyfin container.
|
||||
resources: {}
|
||||
# limits:
|
||||
|
||||
Reference in new issue
Block a user