fix(templates)!: deprecate initContainers in favor of extraInitContainers
BREAKING CHANGE: The 'initContainers' parameter is now deprecated in favor of 'extraInitContainers' for naming consistency with 'extraContainers'. Both parameters will work until 2030 for backward compatibility. The previous implementation used '.Values.initContainers' in the template but 'extraInitContainers' was defined in values.yaml, causing the feature to be completely non-functional. Changes: - Fix extraInitContainers not working (was referencing wrong parameter) - Add deprecated 'initContainers' parameter to values.yaml with @deprecated tag - Update deployment.yaml to support both parameters with OR logic - Add TODO comment to remove initContainers support after 2030 - Create NOTES.txt with: - Deprecation warning when using initContainers - Post-installation instructions for accessing Jellyfin - Persistence status information - Links to documentation - Improve extraInitContainers documentation with usage example - Bump chart version 2.5.0 -> 3.0.0 (major due to deprecation) - Add comprehensive changelog to artifacthub.io/changes Migration guide: Old: initContainers: [...] New: extraInitContainers: [...] The old parameter will continue to work but users will see a deprecation warning in NOTES.txt after installation. Follows best practices from community charts (Prometheus, Elastic, etc.) where 'extra*' prefix indicates user-provided extension points. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
This commit is contained in:
1 parent
2401a45bb1
commit
90861109aa
4 files changed
+134
-5
No files matched your search
@@ -0,0 +1,100 @@
|
||||
{{- if .Values.initContainers }}
|
||||
#############################################################################
|
||||
## ⚠️ WARNING ⚠️ ##
|
||||
## ##
|
||||
## The 'initContainers' parameter is DEPRECATED! ##
|
||||
## Please migrate to 'extraInitContainers' instead. ##
|
||||
## ##
|
||||
## Support for 'initContainers' will be removed after 2030. ##
|
||||
## ##
|
||||
## Migration guide: ##
|
||||
## Old: initContainers: [...] ##
|
||||
## New: extraInitContainers: [...] ##
|
||||
## ##
|
||||
#############################################################################
|
||||
|
||||
{{- end }}
|
||||
Thank you for installing {{ .Chart.Name }}!
|
||||
|
||||
Your release is named {{ .Release.Name }}.
|
||||
|
||||
To learn more about the release, try:
|
||||
|
||||
$ helm status {{ .Release.Name }} --namespace {{ .Release.Namespace }}
|
||||
$ helm get all {{ .Release.Name }} --namespace {{ .Release.Namespace }}
|
||||
|
||||
{{- if .Values.ingress.enabled }}
|
||||
{{- range $host := .Values.ingress.hosts }}
|
||||
{{- range .paths }}
|
||||
|
||||
Jellyfin is available at:
|
||||
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else if contains "NodePort" .Values.service.type }}
|
||||
|
||||
Get the Jellyfin URL by running:
|
||||
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "jellyfin.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo "Jellyfin URL: http://$NODE_IP:$NODE_PORT"
|
||||
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
|
||||
Get the Jellyfin URL by running:
|
||||
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status by running:
|
||||
kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "jellyfin.fullname" . }}
|
||||
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "jellyfin.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
|
||||
echo "Jellyfin URL: http://$SERVICE_IP:{{ .Values.service.port }}"
|
||||
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
|
||||
Get the Jellyfin URL by running:
|
||||
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "jellyfin.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
|
||||
echo "Jellyfin URL: http://127.0.0.1:8080"
|
||||
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
|
||||
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.persistence.config.enabled }}
|
||||
|
||||
Configuration is persisted to:
|
||||
{{- if .Values.persistence.config.existingClaim }}
|
||||
Existing PVC: {{ .Values.persistence.config.existingClaim }}
|
||||
{{- else }}
|
||||
PVC: {{ include "jellyfin.fullname" . }}-config
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
|
||||
WARNING: Configuration persistence is disabled!
|
||||
Data will be lost when the pod is restarted.
|
||||
Enable persistence.config.enabled to persist your configuration.
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.persistence.media.enabled }}
|
||||
|
||||
Media is {{ if eq .Values.persistence.media.type "hostPath" }}mounted from host path{{ else if eq .Values.persistence.media.type "pvc" }}persisted to PVC{{ else }}stored in emptyDir{{ end }}:
|
||||
{{- if eq .Values.persistence.media.type "hostPath" }}
|
||||
Host path: {{ .Values.persistence.media.hostPath }}
|
||||
{{- else if eq .Values.persistence.media.type "pvc" }}
|
||||
{{- if .Values.persistence.media.existingClaim }}
|
||||
Existing PVC: {{ .Values.persistence.media.existingClaim }}
|
||||
{{- else }}
|
||||
PVC: {{ include "jellyfin.fullname" . }}-media
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
|
||||
WARNING: Media persistence is disabled!
|
||||
Your media files will be lost when the pod is restarted.
|
||||
Enable persistence.media.enabled to persist your media.
|
||||
{{- end }}
|
||||
|
||||
For more information and documentation:
|
||||
Repository: https://github.com/jellyfin/jellyfin-helm
|
||||
Jellyfin Docs: https://jellyfin.org/docs/
|
||||
@@ -125,9 +125,16 @@ spec:
|
||||
{{- with .Values.extraContainers }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.initContainers }}
|
||||
{{- if or .Values.initContainers .Values.extraInitContainers }}
|
||||
# Support both initContainers (deprecated) and extraInitContainers for backward compatibility.
|
||||
# TODO: Remove initContainers support after 2030
|
||||
initContainers:
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- if .Values.initContainers }}
|
||||
{{- toYaml .Values.initContainers | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraInitContainers }}
|
||||
{{- toYaml .Values.extraInitContainers | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: config
|
||||
|
||||
Reference in new issue
Block a user