chore: move qBit manage out of qbittorrent as a sidecar, and into its own deployment

This commit is contained in:
SeanOMik 2024-01-02 17:36:31 -05:00
parent b070d1cbd0
commit ac97cc02f1
Signed by: SeanOMik
GPG Key ID: FEC9E2FC15235964
6 changed files with 83 additions and 47 deletions

View File

@ -4,6 +4,7 @@ resources:
- ./namespace.yaml - ./namespace.yaml
#- ./network_policy.yaml #- ./network_policy.yaml
- ./qbittorrent - ./qbittorrent
- ./qbit-manage
- ./radarr - ./radarr
- ./sonarr - ./sonarr
- ./prowlarr - ./prowlarr

View File

@ -22,7 +22,7 @@ data:
qbt: qbt:
# qBittorrent parameters # qBittorrent parameters
host: "localhost:8080" host: "qbittorrent.download:8080"
user: "admin" user: "admin"
pass: "adminadmin" pass: "adminadmin"

View File

@ -0,0 +1,76 @@
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: qbit-manage
namespace: download
spec:
interval: 5m
chart:
spec:
chart: app-template
version: 1.3.x
sourceRef:
kind: HelmRepository
name: bjws-charts
namespace: flux-system
values:
initContainers:
# this init container copies the read only config from the configmap volume, into
# an emptydir volume mount that the pod can write to.
copy-config:
image: alpine:3.18
command:
- /bin/sh
- -c
- "ls /tmp/config-ro
&& cp -a /tmp/config-ro/. /tmp/config/
&& chmod -R 777 /tmp/config
&& ls /tmp/config"
volumeMounts:
- name: config-ro
mountPath: /tmp/config-ro
- name: config
mountPath: /tmp/config
image:
repository: bobokun/qbit_manage
tag: "v4.0.6"
env:
QBT_STARTUP_DELAY: 45 # seconds
QBT_SCHEDULE: 720 # 720min = 12hr
service:
main:
enabled: false
persistence:
storage:
enabled: true
type: hostPath
hostPath: /mnt/MainPool/Media/Torrents
mountPath: /storage/Torrents
config:
enabled: true
type: emptyDir
mountPath: /config
config-ro:
enabled: true
type: custom
mountPath: /config-ro
volumeSpec:
configMap:
name: qbit-manage
items:
- key: "config.yml"
path: "config.yml"
# podSecurityContext:
# runAsNonRoot: true
# runAsUser: 10000
# runAsGroup: 10000
# fsGroup: 10000
# fsGroupChangePolicy: OnRootMismatch

View File

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./config.yaml
- ./helm-release.yaml

View File

@ -19,22 +19,6 @@ spec:
repository: lscr.io/linuxserver/qbittorrent repository: lscr.io/linuxserver/qbittorrent
tag: "4.5.4" tag: "4.5.4"
initContainers:
copy-manage-config:
image: alpine:3.18
command:
- /bin/sh
- -c
- "ls /tmp/manage-ro
&& cp -a /tmp/manage-ro/. /tmp/manage-tmp/
&& chmod -R 777 /tmp/manage-tmp
&& ls /tmp/manage-tmp"
volumeMounts:
- name: manage-ro
mountPath: /tmp/manage-ro
- name: manage-tmp
mountPath: /tmp/manage-tmp
sidecars: sidecars:
gluetun: gluetun:
image: qmcgaw/gluetun:v3.36 image: qmcgaw/gluetun:v3.36
@ -77,17 +61,6 @@ spec:
- name: metrics - name: metrics
containerPort: 17871 containerPort: 17871
manage:
image: bobokun/qbit_manage:v4.0.6
env:
QBT_STARTUP_DELAY: 45 # seconds
QBT_SCHEDULE: 720 # 720min = 12hr
volumeMounts:
- name: manage-tmp
mountPath: /config
- name: storage
mountPath: /storage/Torrents
env: env:
TZ: America/New_York TZ: America/New_York
PGID: "10000" PGID: "10000"
@ -144,24 +117,6 @@ spec:
gluetun-tmp: gluetun-tmp:
enabled: true enabled: true
type: emptyDir type: emptyDir
# qbit-manage:
# enabled: true
# type: hostPath
# hostPath: /mnt/MainPool/Kubernetes/qbit-manage
# mountPath: /config-manage
manage-tmp:
enabled: true
type: emptyDir
manage-ro:
enabled: true
type: custom
mountPath: /config-manage
volumeSpec:
configMap:
name: qbit-manage
items:
- key: "config.yml"
path: "config.yml"
resources: resources:
requests: requests:

View File

@ -2,7 +2,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- ./qbittorrent-secrets.sops.yaml - ./qbittorrent-secrets.sops.yaml
- ./qbit-manage-config.yaml
- ./helm-release.yaml - ./helm-release.yaml
- ./qbittorrent-metrics.yaml - ./qbittorrent-metrics.yaml
- ./dashboard.yaml - ./dashboard.yaml