stage for rebuilt
This commit is contained in:
		| @@ -1,28 +0,0 @@ | ||||
| apiVersion: v2 | ||||
| name: qbittorrent | ||||
| version: 1.0.0 | ||||
| description: qBittorrent | ||||
| keywords: | ||||
|   - qbittorrent | ||||
|   - downloads | ||||
|   - torrent | ||||
|   - vpn | ||||
|   - metrics | ||||
| home: https://wiki.alexlebens.dev/doc/qbittorrent-5jBMHjtzCZ | ||||
| sources: | ||||
|   - https://github.com/qbittorrent/qBittorrent | ||||
|   - https://github.com/qdm12/gluetun | ||||
|   - https://github.com/esanchezm/prometheus-qbittorrent-exporter | ||||
|   - https://docs.linuxserver.io/images/docker-qbittorrent/ | ||||
|   - https://github.com/qdm12/gluetun/pkgs/container/gluetun | ||||
|   - https://hub.docker.com/r/esanchezm/prometheus-qbittorrent-exporter | ||||
|   - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template | ||||
| maintainers: | ||||
|   - name: alexlebens | ||||
| dependencies: | ||||
|   - name: app-template | ||||
|     alias: qbittorrent | ||||
|     repository: https://bjw-s.github.io/helm-charts/ | ||||
|     version: 3.6.1 | ||||
| icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/qbittorrent.png | ||||
| appVersion: 5.0.2 | ||||
| @@ -1,20 +0,0 @@ | ||||
| apiVersion: v1 | ||||
| kind: ConfigMap | ||||
| metadata: | ||||
|   name: glutun-update-script | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: glutun-update-script | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: gluetun | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| data: | ||||
|   update.sh: | | ||||
|     if ! command -v curl 2>&1 >/dev/null | ||||
|     then | ||||
|         echo "curl could not be found, installing"; | ||||
|         apk add curl; | ||||
|     fi; | ||||
|     echo "updating port with $1"; | ||||
|     curl -i -X POST -d "json={\"listen_port\": \"${1}\"}" "http://localhost:8080/api/v2/app/setPreferences"; | ||||
| @@ -1,48 +0,0 @@ | ||||
| apiVersion: external-secrets.io/v1beta1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: qbittorrent-auth | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: qbittorrent-auth | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: web | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: admin-password | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/qbittorrent/auth | ||||
|         metadataPolicy: None | ||||
|         property: admin-password | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1beta1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: qbittorrent-wireguard-conf | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: qbittorrent-wireguard-conf | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: web | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: private-key | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /cl01tl/qbittorrent/config | ||||
|         metadataPolicy: None | ||||
|         property: private-key | ||||
| @@ -1,40 +0,0 @@ | ||||
| apiVersion: v1 | ||||
| kind: PersistentVolumeClaim | ||||
| metadata: | ||||
|   name: qbittorrent-config | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: qbittorrent-config | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: storage | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   volumeName: qbittorrent-config | ||||
|   storageClassName: nfs-client | ||||
|   accessModes: | ||||
|     - ReadWriteMany | ||||
|   resources: | ||||
|     requests: | ||||
|       storage: 1Gi | ||||
|  | ||||
| --- | ||||
| apiVersion: v1 | ||||
| kind: PersistentVolumeClaim | ||||
| metadata: | ||||
|   name: qbittorrent-nfs-storage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: {{ .Release.Name }} | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: storage | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   volumeName: qbittorrent-nfs-storage | ||||
|   storageClassName: nfs-client | ||||
|   accessModes: | ||||
|     - ReadWriteMany | ||||
|   resources: | ||||
|     requests: | ||||
|       storage: 1Gi | ||||
| @@ -1,52 +0,0 @@ | ||||
| apiVersion: v1 | ||||
| kind: PersistentVolume | ||||
| metadata: | ||||
|   name: qbittorrent-config | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: qbittorrent-config | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: storage | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   persistentVolumeReclaimPolicy: Retain | ||||
|   storageClassName: nfs-client | ||||
|   capacity: | ||||
|     storage: 1Gi | ||||
|   accessModes: | ||||
|     - ReadWriteMany | ||||
|   nfs: | ||||
|     path: /volume2/Storage/Torrent/QBITTORRENT | ||||
|     server: synologybond.alexlebens.net | ||||
|   mountOptions: | ||||
|     - vers=4 | ||||
|     - minorversion=1 | ||||
|     - noac | ||||
|  | ||||
| --- | ||||
| apiVersion: v1 | ||||
| kind: PersistentVolume | ||||
| metadata: | ||||
|   name: qbittorrent-nfs-storage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: qbittorrent-nfs-storage | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: storage | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   persistentVolumeReclaimPolicy: Retain | ||||
|   storageClassName: nfs-client | ||||
|   capacity: | ||||
|     storage: 1Gi | ||||
|   accessModes: | ||||
|     - ReadWriteMany | ||||
|   nfs: | ||||
|     path: /volume2/Storage | ||||
|     server: synologybond.alexlebens.net | ||||
|   mountOptions: | ||||
|     - vers=4 | ||||
|     - minorversion=1 | ||||
|     - noac | ||||
| @@ -1,21 +0,0 @@ | ||||
| apiVersion: monitoring.coreos.com/v1 | ||||
| kind: ServiceMonitor | ||||
| metadata: | ||||
|   name: qbittorrent | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: qbittorrent | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: web | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   endpoints: | ||||
|     - port: metrics | ||||
|       interval: 30s | ||||
|       scrapeTimeout: 15s | ||||
|       path: /metrics | ||||
|   selector: | ||||
|     matchLabels: | ||||
|       app.kubernetes.io/name: qbittorrent | ||||
|       app.kubernetes.io/instance: {{ .Release.Name }} | ||||
| @@ -1,164 +0,0 @@ | ||||
| qbittorrent: | ||||
|   controllers: | ||||
|     main: | ||||
|       type: deployment | ||||
|       replicas: 1 | ||||
|       strategy: Recreate | ||||
|       revisionHistoryLimit: 3 | ||||
|       initContainers: | ||||
|         init-sysctl: | ||||
|           image: | ||||
|             repository: busybox | ||||
|             tag: 1.37.0 | ||||
|             pullPolicy: IfNotPresent | ||||
|           securityContext: | ||||
|             privileged: True | ||||
|           resources: | ||||
|             requests: | ||||
|               cpu: 100m | ||||
|               memory: 128Mi | ||||
|           command: | ||||
|             - /bin/sh | ||||
|           args: | ||||
|             - -ec | ||||
|             - | | ||||
|               sysctl -w net.ipv4.ip_forward=1; | ||||
|               sysctl -w net.ipv6.conf.all.disable_ipv6=1 | ||||
|       containers: | ||||
|         qbittorrent: | ||||
|           image: | ||||
|             repository: ghcr.io/linuxserver/qbittorrent | ||||
|             tag: 5.0.2@sha256:00360a0160872bffeaea5e232acfdb086063be5f03e0cba48b129b7087cb7ba1 | ||||
|             pullPolicy: IfNotPresent | ||||
|           env: | ||||
|             - name: TZ | ||||
|               value: US/Central | ||||
|             - name: PUID | ||||
|               value: "1000" | ||||
|             - name: PGID | ||||
|               value: "1000" | ||||
|             - name: UMASK_SET | ||||
|               value: "002" | ||||
|             - name: WEBUI_PORT | ||||
|               value: 8080 | ||||
|           resources: | ||||
|             requests: | ||||
|               cpu: 500m | ||||
|               memory: 1Gi | ||||
|         gluetun: | ||||
|           image: | ||||
|             repository: ghcr.io/qdm12/gluetun | ||||
|             tag: v3.40.0@sha256:2b42bfa046757145a5155acece417b65b4443c8033fb88661a8e9dcf7fda5a00 | ||||
|             pullPolicy: IfNotPresent | ||||
|           env: | ||||
|             - name: VPN_SERVICE_PROVIDER | ||||
|               value: protonvpn | ||||
|             - name: VPN_TYPE | ||||
|               value: wireguard | ||||
|             - name: WIREGUARD_PRIVATE_KEY | ||||
|               valueFrom: | ||||
|                 secretKeyRef: | ||||
|                   name: qbittorrent-wireguard-conf | ||||
|                   key: private-key | ||||
|             - name: VPN_PORT_FORWARDING | ||||
|               value: "on" | ||||
|             - name: VPN_PORT_FORWARDING_UP_COMMAND | ||||
|               value: '/bin/sh -c "/gluetun/update.sh {{ printf "{{PORTS}}" }}"' | ||||
|             - name: PORT_FORWARD_ONLY | ||||
|               value: "on" | ||||
|             - name: FIREWALL_OUTBOUND_SUBNETS | ||||
|               value: 192.168.1.0/24,10.244.0.0/16 | ||||
|             - name: FIREWALL_INPUT_PORTS | ||||
|               value: 8080,9022 | ||||
|             - name: DOT | ||||
|               value: "off" | ||||
|           securityContext: | ||||
|             privileged: True | ||||
|             capabilities: | ||||
|               add: | ||||
|                 - NET_ADMIN | ||||
|                 - SYS_MODULE | ||||
|           resources: | ||||
|             limits: | ||||
|               squat.ai/tun: "1" | ||||
|             requests: | ||||
|               cpu: 10m | ||||
|               memory: 64Mi | ||||
|         exporter: | ||||
|           image: | ||||
|             repository: esanchezm/prometheus-qbittorrent-exporter | ||||
|             tag: v1.6.0 | ||||
|             pullPolicy: IfNotPresent | ||||
|           env: | ||||
|             - name: QBITTORRENT_HOST | ||||
|               value: localhost | ||||
|             - name: QBITTORRENT_PORT | ||||
|               value: "8080" | ||||
|             - name: EXPORTER_PORT | ||||
|               value: "9022" | ||||
|             - name: EXPORTER_LOG_LEVEL | ||||
|               value: INFO | ||||
|           resources: | ||||
|             requests: | ||||
|               cpu: 10m | ||||
|               memory: 64Mi | ||||
|   serviceAccount: | ||||
|     create: true | ||||
|   service: | ||||
|     main: | ||||
|       controller: main | ||||
|       ports: | ||||
|         http: | ||||
|           port: 8080 | ||||
|           targetPort: 8080 | ||||
|           protocol: HTTP | ||||
|         health: | ||||
|           port: 9999 | ||||
|           targetPort: 9999 | ||||
|           protocol: HTTP | ||||
|         metrics: | ||||
|           port: 9022 | ||||
|           targetPort: 9022 | ||||
|           protocol: HTTP | ||||
|   ingress: | ||||
|     tailscale: | ||||
|       enabled: true | ||||
|       className: tailscale | ||||
|       hosts: | ||||
|         - host: qbittorrent-cl01tl | ||||
|           paths: | ||||
|             - path: / | ||||
|               pathType: Prefix | ||||
|               service: | ||||
|                 name: qbittorrent | ||||
|                 port: 8080 | ||||
|       tls: | ||||
|         - hosts: | ||||
|             - qbittorrent-cl01tl | ||||
|   persistence: | ||||
|     config: | ||||
|       type: persistentVolumeClaim | ||||
|       existingClaim: qbittorrent-config | ||||
|       advancedMounts: | ||||
|         main: | ||||
|           qbittorrent: | ||||
|             - path: /config | ||||
|               readOnly: false | ||||
|     update-script: | ||||
|       enabled: true | ||||
|       type: configMap | ||||
|       name: glutun-update-script | ||||
|       defaultMode: 0755 | ||||
|       advancedMounts: | ||||
|         main: | ||||
|           gluetun: | ||||
|             - path: /gluetun/update.sh | ||||
|               subPath: update.sh | ||||
|     storage: | ||||
|       type: persistentVolumeClaim | ||||
|       existingClaim: qbittorrent-nfs-storage | ||||
|       advancedMounts: | ||||
|         main: | ||||
|           qbittorrent: | ||||
|             - path: /mnt/store | ||||
|               readOnly: false | ||||
		Reference in New Issue
	
	Block a user