_qbittorrent.tpl 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. {{- define "qbittorrent.workload" -}}
  2. workload:
  3. qbittorrent:
  4. enabled: true
  5. primary: true
  6. type: Deployment
  7. podSpec:
  8. hostNetwork: {{ .Values.qbitNetwork.hostNetwork }}
  9. containers:
  10. qbittorrent:
  11. enabled: true
  12. primary: true
  13. imageSelector: image
  14. securityContext:
  15. runAsUser: {{ .Values.qbitRunAs.user }}
  16. runAsGroup: {{ .Values.qbitRunAs.group }}
  17. {{ with .Values.qbitConfig.additionalEnvs }}
  18. envList:
  19. {{ range $env := . }}
  20. - name: {{ $env.name }}
  21. value: {{ $env.value }}
  22. {{ end }}
  23. {{ end }}
  24. envFrom:
  25. - configMapRef:
  26. name: qbit-config
  27. probes:
  28. liveness:
  29. enabled: true
  30. type: http
  31. port: "{{ .Values.qbitNetwork.webPort }}"
  32. path: /
  33. readiness:
  34. enabled: true
  35. type: http
  36. port: "{{ .Values.qbitNetwork.webPort }}"
  37. path: /
  38. startup:
  39. enabled: true
  40. type: http
  41. port: "{{ .Values.qbitNetwork.webPort }}"
  42. path: /
  43. initContainers:
  44. {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions"
  45. "UID" .Values.qbitRunAs.user
  46. "GID" .Values.qbitRunAs.group
  47. "mode" "check"
  48. "type" "init") | nindent 8 }}
  49. {{/* Service */}}
  50. service:
  51. qbittorrent:
  52. enabled: true
  53. primary: true
  54. type: NodePort
  55. targetSelector: qbittorrent
  56. ports:
  57. webui:
  58. enabled: true
  59. primary: true
  60. port: {{ .Values.qbitNetwork.webPort }}
  61. nodePort: {{ .Values.qbitNetwork.webPort }}
  62. targetSelector: qbittorrent
  63. qbittorrent-bt:
  64. enabled: true
  65. type: NodePort
  66. targetSelector: qbittorrent
  67. ports:
  68. bt-tcp:
  69. enabled: true
  70. primary: true
  71. port: {{ .Values.qbitNetwork.btPort }}
  72. nodePort: {{ .Values.qbitNetwork.btPort }}
  73. targetSelector: qbittorrent
  74. bt-upd:
  75. enabled: true
  76. primary: true
  77. port: {{ .Values.qbitNetwork.btPort }}
  78. nodePort: {{ .Values.qbitNetwork.btPort }}
  79. protocol: udp
  80. targetSelector: qbittorrent
  81. {{/* Persistence */}}
  82. persistence:
  83. config:
  84. enabled: true
  85. type: {{ .Values.qbitStorage.config.type }}
  86. datasetName: {{ .Values.qbitStorage.config.datasetName | default "" }}
  87. hostPath: {{ .Values.qbitStorage.config.hostPath | default "" }}
  88. targetSelector:
  89. qbittorrent:
  90. qbittorrent:
  91. mountPath: /config
  92. 01-permissions:
  93. mountPath: /mnt/directories/config
  94. downloads:
  95. enabled: true
  96. type: {{ .Values.qbitStorage.downloads.type }}
  97. datasetName: {{ .Values.qbitStorage.downloads.datasetName | default "" }}
  98. hostPath: {{ .Values.qbitStorage.downloads.hostPath | default "" }}
  99. targetSelector:
  100. qbittorrent:
  101. qbittorrent:
  102. mountPath: /downloads
  103. 01-permissions:
  104. mountPath: /mnt/directories/downloads
  105. {{- range $idx, $storage := .Values.qbitStorage.additionalStorages }}
  106. {{ printf "qbittorrent-%v" (int $idx) }}:
  107. {{- $size := "" -}}
  108. {{- if $storage.size -}}
  109. {{- $size = (printf "%vGi" $storage.size) -}}
  110. {{- end }}
  111. enabled: true
  112. type: {{ $storage.type }}
  113. datasetName: {{ $storage.datasetName | default "" }}
  114. hostPath: {{ $storage.hostPath | default "" }}
  115. server: {{ $storage.server | default "" }}
  116. share: {{ $storage.share | default "" }}
  117. domain: {{ $storage.domain | default "" }}
  118. username: {{ $storage.username | default "" }}
  119. password: {{ $storage.password | default "" }}
  120. size: {{ $size }}
  121. {{- if eq $storage.type "smb-pv-pvc" }}
  122. mountOptions:
  123. - key: noperm
  124. {{- end }}
  125. targetSelector:
  126. qbittorrent:
  127. qbittorrent:
  128. mountPath: {{ $storage.mountPath }}
  129. 01-permissions:
  130. mountPath: /mnt/directories/{{ printf "qbittorrent-%v" (int $idx) }}
  131. {{- end }}
  132. {{- end -}}