_navidrome.tpl 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. {{- define "navidrome.workload" -}}
  2. workload:
  3. navidrome:
  4. enabled: true
  5. primary: true
  6. type: Deployment
  7. podSpec:
  8. hostNetwork: {{ .Values.navidromeNetwork.hostNetwork }}
  9. securityContext:
  10. {{- if .Values.navidromeConfig.localPlayback }}
  11. supplementalGroups:
  12. - 29
  13. {{- end }}
  14. containers:
  15. navidrome:
  16. enabled: true
  17. primary: true
  18. imageSelector: image
  19. securityContext:
  20. runAsUser: {{ .Values.navidromeRunAs.user }}
  21. runAsGroup: {{ .Values.navidromeRunAs.group }}
  22. readOnlyRootFilesystem: false
  23. {{- if .Values.navidromeConfig.localPlayback }}
  24. privileged: true
  25. allowPrivilegeEscalation: true
  26. {{- end }}
  27. env:
  28. ND_MUSICFOLDER: /music
  29. ND_DATAFOLDER: /data
  30. ND_PORT: {{ .Values.navidromeNetwork.webPort | quote }}
  31. ND_UIWELCOMEMESSAGE: {{ .Values.navidromeConfig.uiWelcomeMessage }}
  32. {{ with .Values.navidromeConfig.additionalEnvs }}
  33. envList:
  34. {{ range $env := . }}
  35. - name: {{ $env.name }}
  36. value: {{ $env.value }}
  37. {{ end }}
  38. {{ end }}
  39. probes:
  40. liveness:
  41. enabled: true
  42. type: http
  43. port: "{{ .Values.navidromeNetwork.webPort }}"
  44. path: /ping
  45. readiness:
  46. enabled: true
  47. type: http
  48. port: "{{ .Values.navidromeNetwork.webPort }}"
  49. path: /ping
  50. startup:
  51. enabled: true
  52. type: http
  53. port: "{{ .Values.navidromeNetwork.webPort }}"
  54. path: /ping
  55. initContainers:
  56. {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions"
  57. "UID" .Values.navidromeRunAs.user
  58. "GID" .Values.navidromeRunAs.group
  59. "mode" "check"
  60. "type" "install") | nindent 8 }}
  61. {{- end -}}