chore(jellyfin)!: ♻️ Migrate the helm chart to newer standard level (#40)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Larsandgithub-actions[bot] authored and GitHub committed 2024-11-07 08:15:51 -07:00 Unverified
1 parent efe3d47337
commit 7e21541fb2
15 files changed
+562 -531

No files matched your search

+169 -152
View File
@@ -1,43 +1,189 @@
# -- Number of jellyfin replicas to start. Should be left at 1
# Default values for Jellyfin.
# This is a YAML-formatted file.
# -- Number of Jellyfin replicas to start. Should be left at 1.
replicaCount: 1
# -- Image pull secrets to authenticate with private repositories.
# See: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
imagePullSecrets: []
image:
# -- Set cutom repository for jellyfin image
# -- Container image repository for Jellyfin.
repository: docker.io/jellyfin/jellyfin
# -- Set jellyfin version which should be required since chart is updated with new versions automatically
# -- Jellyfin container image tag. Leave empty to automatically use the Chart's app version.
tag: ""
# -- Image pull policy (Always, IfNotPresent, or Never).
pullPolicy: IfNotPresent
# -- Override the default name of the chart.
nameOverride: ""
# -- Override the default full name of the chart.
fullnameOverride: ""
# -- Setting this to true enables DLNA which requires the pod to be attached to the
# host network in order to be useful - this can break things like ingress to the service
# https://jellyfin.org/docs/general/networking/dlna.html
enableDLNA: false
# -- Service account configuration. See: https://kubernetes.io/docs/concepts/security/service-accounts/
serviceAccount:
# -- Specifies whether to create a service account.
create: true
# -- Automatically mount API credentials for the service account.
automount: true
# -- Annotations for the service account.
annotations: {}
# -- Custom name for the service account. If left empty, the name will be autogenerated.
name: ""
# -- Annotations to add to the pod.
podAnnotations: {}
# -- Additional labels to add to the pod.
podLabels: {}
# -- Security context for the pod.
podSecurityContext: {}
# fsGroup: 2000
# -- Security context for the container.
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
# -- Define a custom runtimeClassName for the pod.
runtimeClassName: ''
# -- Deployment strategy configuration. See `kubectl explain deployment.spec.strategy`.
deploymentStrategy:
type: RollingUpdate
service:
name: http
# -- Service type (ClusterIP, NodePort, or LoadBalancer).
type: ClusterIP
# -- Configure dual-stack IP family policy. See: https://kubernetes.io/docs/concepts/services-networking/dual-stack/
ipFamilyPolicy: ""
# -- Supported IP families (IPv4, IPv6).
ipFamilies: []
# -- Specific IP address for the LoadBalancer.
loadBalancerIP: ""
# -- Class of the LoadBalancer.
loadBalancerClass: ""
# -- Source ranges allowed to access the LoadBalancer.
loadBalancerSourceRanges: []
# -- Port for the Jellyfin service.
port: 8096
## Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
##
# nodePort:
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
# -- Name of the port in the service.
portName: service
# -- Annotations for the service.
annotations: {}
# -- Labels for the service.
labels: {}
## Use loadBalancerIP to request a specific static IP,
## otherwise leave blank
##
loadBalancerIP:
# loadBalancerSourceRanges: []
## Set the externalTrafficPolicy in the Service to either Cluster or Local
# -- External traffic policy (Cluster or Local).
# externalTrafficPolicy: Cluster
# -- NodePort for the service (if applicable).
# nodePort:
# -- Ingress configuration. See: https://kubernetes.io/docs/concepts/services-networking/ingress/
ingress:
enabled: false
className: ""
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
# -- Resource requests and limits for the Jellyfin container.
resources: {}
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
# -- Configure liveness probe for Jellyfin.
livenessProbe:
initialDelaySeconds: 10
tcpSocket:
port: http
# successThreshold: 1
# failureThreshold: 3
# timeoutSeconds: 1
# periodSeconds: 10
# -- Configure readiness probe for Jellyfin.
readinessProbe:
initialDelaySeconds: 10
tcpSocket:
port: http
# successThreshold: 1
# failureThreshold: 3
# timeoutSeconds: 1
# periodSeconds: 10
# -- Additional volumes to mount in the Jellyfin pod.
volumes: []
# - name: foo
# secret:
# secretName: mysecret
# optional: false
# -- Additional volume mounts for the Jellyfin container.
volumeMounts: []
# - name: foo
# mountPath: "/etc/foo"
# readOnly: true
# -- Node selector for pod scheduling.
nodeSelector: {}
# -- Tolerations for pod scheduling.
tolerations: []
# -- Affinity rules for pod scheduling.
affinity: {}
jellyfin:
# -- Enable DLNA. Requires host network. See: https://jellyfin.org/docs/general/networking/dlna.html
enableDLNA: false
# -- Custom command to use as container entrypoint.
command: []
# -- Additional arguments for the entrypoint command.
args: []
# -- Additional environment variables for the container.
env: []
persistence:
config:
# -- set to false to use emptyDir
enabled: true
accessMode: ReadWriteOnce
size: 5Gi
# -- Custom annotations to be added to the PVC
annotations: {}
# -- If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
storageClass: ''
## -- Use an existing PVC for this mount
# existingClaim: ''
media:
# -- set to false to use emptyDir
enabled: true
accessMode: ReadWriteOnce
size: 25Gi
# -- Custom annotations to be added to the PVC
annotations: {}
# -- If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
storageClass: ''
## -- Use an existing PVC for this mount
# existingClaim: ''
# -- Configuration for metrics collection and monitoring
metrics:
@@ -74,137 +220,8 @@ metrics:
# -- Target labels to add to the scraped metrics
targetLabels: []
ingress:
enabled: false
labels: {}
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
path: /
hosts:
- chart-example.local
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
persistence:
config:
enabled: false
# -- If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
storageClass: "-"
## If you want to reuse an existing claim, you can pass the name of the PVC using
## the existingClaim variable
# existingClaim: your-claim
# subPath: some-subpath
accessMode: ReadWriteOnce
size: 1Gi
# -- Custom labels to be added to the PVC
labels: {}
# -- Custom annotations to be added to the PVC
annotations: {}
media:
enabled: false
# -- If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
storageClass: "-"
## If you want to reuse an existing claim, you can pass the name of the PVC using
## the existingClaim variable
# existingClaim: your-claim
# subPath: some-subpath
accessMode: ReadWriteOnce
size: 10Gi
# -- Custom labels to be added to the PVC
labels: {}
# -- Custom annotations to be added to the PVC
annotations: {}
# -- Add aditional PVs/PVCs to our container. Check values.yaml to see an example.
extraExistingClaimMounts: []
# - name: external-mount
# mountPath: /srv/external-mount
## A manually managed Persistent Volume and Claim
## If defined, PVC must be created manually before volume will be bound
# existingClaim:
# readOnly: true
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
# Define a custom runtimeClassName for the pod, e.g. "nvidia" if you have the NVIDIA GPU Operator installed
runtimeClassName:
nodeSelector: {}
tolerations: []
affinity: {}
# -- Define additional volumes to mount to the pod.
extraVolumes: []
#- name: renderD129
# hostPath:
# path: /dev/dri/renderD129
# -- Define mount points for additional volumes.
extraVolumeMounts: []
#- mountPath: /dev/dri/renderD129
# name: renderD129
# -- additional pod labels. Not used as a selector label.
extraPodLabels: {}
# -- aditional environment variables passed to the pod
extraEnvVars: []
#- name: MY_ENV_VAR
# value: my-env-var-value
# -- additional annotations applied to the pod
extraPodAnnotations: {}
# -- additional init containers to run inside the pod.
extraInitContainers: []
# -- additional sidecar containers to run inside the pod.
extraContainers: []
# -- SecurityContext configuration for the Jellyfin pod
podSecurityContext: {}
# Jellyfin can be run as an unprivileged user with the following settings:
# runAsUser: 65534
# runAsGroup: 65534
# -- SecurityContext configuration for the Jellyfin container
securityContext: {}
# For example, you might need to grant the following capabilities to enable hardware acceleration when mounting a /dev/dri device:
# capabilities:
# add:
# - "SYS_ADMIN"
# drop:
# - "ALL"
# -- Larger libraries may need to increase the readinessProbe and livenessProbe timeouts. Start by increasing the initialDelaySeconds.
livenessProbe:
enabled: true
# failureThreshold: 3
initialDelaySeconds: 10
# periodSeconds: 10
# successThreshold: 1
# timeoutSeconds: 1
# -- Larger libraries may need to increase the readinessProbe and livenessProbe timeouts. Start by increasing the initialDelaySeconds.
readinessProbe:
enabled: true
# failureThreshold: 3
initialDelaySeconds: 10
# periodSeconds: 10
# successThreshold: 1
# timeoutSeconds: 1
extraContainers: []