_deluge.tpl 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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. torrent:
  67. enabled: true
  68. type: NodePort
  69. targetSelector: deluge
  70. ports:
  71. tcp:
  72. enabled: true
  73. primary: true
  74. port: {{ .Values.delugeNetwork.torrentPort }}
  75. nodePort: {{ .Values.delugeNetwork.torrentPort }}
  76. targetPort: 6881
  77. targetSelector: deluge
  78. udp:
  79. enabled: true
  80. port: {{ .Values.delugeNetwork.torrentPort }}
  81. nodePort: {{ .Values.delugeNetwork.torrentPort }}
  82. targetPort: 6881
  83. protocol: udp
  84. targetSelector: deluge
  85. {{/* Persistence */}}
  86. persistence:
  87. config:
  88. enabled: true
  89. type: {{ .Values.delugeStorage.config.type }}
  90. datasetName: {{ .Values.delugeStorage.config.datasetName | default "" }}
  91. hostPath: {{ .Values.delugeStorage.config.hostPath | default "" }}
  92. targetSelector:
  93. deluge:
  94. deluge:
  95. mountPath: /config
  96. downloads:
  97. enabled: true
  98. type: {{ .Values.delugeStorage.downloads.type }}
  99. datasetName: {{ .Values.delugeStorage.downloads.datasetName | default "" }}
  100. hostPath: {{ .Values.delugeStorage.downloads.hostPath | default "" }}
  101. targetSelector:
  102. deluge:
  103. deluge:
  104. mountPath: /downloads
  105. {{- range $idx, $storage := .Values.delugeStorage.additionalStorages }}
  106. {{ printf "deluge-%v" (int $idx) }}:
  107. enabled: true
  108. type: {{ $storage.type }}
  109. datasetName: {{ $storage.datasetName | default "" }}
  110. hostPath: {{ $storage.hostPath | default "" }}
  111. targetSelector:
  112. deluge:
  113. deluge:
  114. mountPath: {{ $storage.mountPath }}
  115. {{- end }}
  116. {{- end -}}