_qbittorrent.tpl 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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. {{/* Service */}}
  44. service:
  45. qbittorrent:
  46. enabled: true
  47. primary: true
  48. type: NodePort
  49. targetSelector: qbittorrent
  50. ports:
  51. webui:
  52. enabled: true
  53. primary: true
  54. port: {{ .Values.qbitNetwork.webPort }}
  55. nodePort: {{ .Values.qbitNetwork.webPort }}
  56. targetSelector: qbittorrent
  57. qbittorrent-bt:
  58. enabled: true
  59. type: NodePort
  60. targetSelector: qbittorrent
  61. ports:
  62. bt-tcp:
  63. enabled: true
  64. primary: true
  65. port: {{ .Values.qbitNetwork.btPort }}
  66. nodePort: {{ .Values.qbitNetwork.btPort }}
  67. targetSelector: qbittorrent
  68. bt-upd:
  69. enabled: true
  70. primary: true
  71. port: {{ .Values.qbitNetwork.btPort }}
  72. nodePort: {{ .Values.qbitNetwork.btPort }}
  73. protocol: udp
  74. targetSelector: qbittorrent
  75. {{/* Persistence */}}
  76. persistence:
  77. config:
  78. enabled: true
  79. {{- include "qbit.storage.ci.migration" (dict "storage" .Values.qbitStorage.config) }}
  80. {{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.qbitStorage.config) | nindent 4 }}
  81. targetSelector:
  82. qbittorrent:
  83. qbittorrent:
  84. mountPath: /config
  85. downloads:
  86. enabled: true
  87. {{- include "qbit.storage.ci.migration" (dict "storage" .Values.qbitStorage.downloads) }}
  88. {{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.qbitStorage.downloads) | nindent 4 }}
  89. targetSelector:
  90. qbittorrent:
  91. qbittorrent:
  92. mountPath: /downloads
  93. {{- range $idx, $storage := .Values.qbitStorage.additionalStorages }}
  94. {{ printf "qbittorrent-%v:" (int $idx) }}
  95. enabled: true
  96. {{- include "qbit.storage.ci.migration" (dict "storage" $storage) }}
  97. {{- include "ix.v1.common.app.storageOptions" (dict "storage" $storage) | nindent 4 }}
  98. targetSelector:
  99. qbittorrent:
  100. qbittorrent:
  101. mountPath: {{ $storage.mountPath }}
  102. {{- end }}
  103. {{- end -}}
  104. {{/* TODO: Remove on the next version bump, eg 1.2.0+ */}}
  105. {{- define "qbit.storage.ci.migration" -}}
  106. {{- $storage := .storage -}}
  107. {{- if $storage.hostPath -}}
  108. {{- $_ := set $storage "hostPathConfig" dict -}}
  109. {{- $_ := set $storage.hostPathConfig "hostPath" $storage.hostPath -}}
  110. {{- end -}}
  111. {{- end -}}