_deluge.tpl 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. {{- define "deluge.workload" -}}
  2. workload:
  3. deluge:
  4. enabled: true
  5. primary: true
  6. type: Deployment
  7. podSpec:
  8. securityContext:
  9. fsGroup: {{ .Values.delugeID.group }}
  10. hostNetwork: {{ .Values.delugeNetwork.hostNetwork }}
  11. containers:
  12. deluge:
  13. enabled: true
  14. primary: true
  15. imageSelector: image
  16. securityContext:
  17. runAsUser: 0
  18. runAsGroup: 0
  19. runAsNonRoot: false
  20. readOnlyRootFilesystem: false
  21. capabilities:
  22. add:
  23. - CHOWN
  24. - DAC_OVERRIDE
  25. - FOWNER
  26. - SETGID
  27. - SETUID
  28. {{ with .Values.delugeConfig.additionalEnvs }}
  29. envList:
  30. {{ range $env := . }}
  31. - name: {{ $env.name }}
  32. value: {{ $env.value }}
  33. {{ end }}
  34. {{ end }}
  35. probes:
  36. liveness:
  37. enabled: true
  38. type: http
  39. port: 8112
  40. path: /
  41. readiness:
  42. enabled: true
  43. type: http
  44. port: 8112
  45. path: /
  46. startup:
  47. enabled: true
  48. type: http
  49. port: 8112
  50. path: /
  51. {{/* Service */}}
  52. service:
  53. deluge:
  54. enabled: true
  55. primary: true
  56. type: NodePort
  57. targetSelector: deluge
  58. ports:
  59. webui:
  60. enabled: true
  61. primary: true
  62. port: {{ .Values.delugeNetwork.webPort }}
  63. nodePort: {{ .Values.delugeNetwork.webPort }}
  64. targetPort: 8112
  65. targetSelector: deluge
  66. {{- if .Values.delugeNetwork.exposeDaemon }}
  67. daemon:
  68. enabled: true
  69. port: {{ .Values.delugeNetwork.daemonPort }}
  70. nodePort: {{ .Values.delugeNetwork.daemonPort }}
  71. targetPort: 58846
  72. targetSelector: deluge
  73. {{- end }}
  74. torrent:
  75. enabled: true
  76. type: NodePort
  77. targetSelector: deluge
  78. ports:
  79. tcp:
  80. enabled: true
  81. primary: true
  82. port: {{ .Values.delugeNetwork.torrentPort }}
  83. nodePort: {{ .Values.delugeNetwork.torrentPort }}
  84. targetPort: 6881
  85. targetSelector: deluge
  86. udp:
  87. enabled: true
  88. port: {{ .Values.delugeNetwork.torrentPort }}
  89. nodePort: {{ .Values.delugeNetwork.torrentPort }}
  90. targetPort: 6881
  91. protocol: udp
  92. targetSelector: deluge
  93. {{/* Persistence */}}
  94. persistence:
  95. config:
  96. enabled: true
  97. type: {{ .Values.delugeStorage.config.type }}
  98. datasetName: {{ .Values.delugeStorage.config.datasetName | default "" }}
  99. hostPath: {{ .Values.delugeStorage.config.hostPath | default "" }}
  100. targetSelector:
  101. deluge:
  102. deluge:
  103. mountPath: /config
  104. downloads:
  105. enabled: true
  106. type: {{ .Values.delugeStorage.downloads.type }}
  107. datasetName: {{ .Values.delugeStorage.downloads.datasetName | default "" }}
  108. hostPath: {{ .Values.delugeStorage.downloads.hostPath | default "" }}
  109. targetSelector:
  110. deluge:
  111. deluge:
  112. mountPath: /downloads
  113. {{- range $idx, $storage := .Values.delugeStorage.additionalStorages }}
  114. {{ printf "deluge-%v" (int $idx) }}:
  115. enabled: true
  116. type: {{ $storage.type }}
  117. datasetName: {{ $storage.datasetName | default "" }}
  118. hostPath: {{ $storage.hostPath | default "" }}
  119. targetSelector:
  120. deluge:
  121. deluge:
  122. mountPath: {{ $storage.mountPath }}
  123. {{- end }}
  124. {{- end -}}