use helm app template for qbittorrent

This commit is contained in:
SeanOMik 2023-05-11 15:35:36 -04:00
parent 55e59e4093
commit d10288e8b9
8 changed files with 135 additions and 5 deletions

View File

@ -53,6 +53,13 @@ spec:
add: add:
- NET_ADMIN - NET_ADMIN
- name: metrics
image: caseyscarborough/qbittorrent-exporter:latest
ports:
- name: metrics
containerPort: 17871
volumes: volumes:
- name: qbittorrent-config - name: qbittorrent-config
hostPath: hostPath:

View File

@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./qbittorrent-secrets.sops.yaml
- ./deployment.yaml
- ./service.yaml
- ./ingress.yaml

View File

@ -14,3 +14,6 @@ spec:
- name: http - name: http
port: 8080 port: 8080
targetPort: 8080 targetPort: 8080
- name: metrics
port: 17871
targetPort: 17871

View File

@ -0,0 +1,99 @@
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: qbittorrent
namespace: download
spec:
interval: 5m
chart:
spec:
chart: app-template
version: 1.3.x
sourceRef:
kind: HelmRepository
name: bjws-charts
namespace: flux-system
values:
image:
repository: lscr.io/linuxserver/qbittorrent
tag: latest
# Metrics sidecar
sidecars:
gluetun:
image: qmcgaw/gluetun:latest
env:
- name: FIREWALL
value: "off"
- name: DOT
value: "off"
envFrom:
- secretRef:
name: qbittorrent-secrets
securityContext:
capabilities:
add:
- NET_ADMIN
metrics:
image: caseyscarborough/qbittorrent-exporter:latest
ports:
- name: metrics
containerPort: 17871
env:
TZ: America/New_York
PGID: "1000"
PUID: "1000"
WEBUI_PORT: "8080"
service:
main:
labels:
app: prowlarr-service
ports:
http:
port: 8080
metrics:
enabled: true
port: 17871
protocol: HTTP
ingress:
main:
enabled: true
annotations:
cert-manager.io/cluster-issuer: letsencrypt-production
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.middlewares: traefik-authentik@kubernetescrd
hosts:
- host: &host "qbit.${SECRET_NEW_DOMAIN}"
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- *host
secretName: wildcard-main-tls
persistence:
storage:
enabled: true
type: hostPath
hostPath: /mnt/MainPool/Media/Torrents
mountPath: /storage/Torrents
config:
enabled: true
type: hostPath
hostPath: /mnt/MainPool/Kubernetes/qbittorrent
mountPath: /config
# resources:
# requests:
# cpu: 2m
# memory: 150Mi
# limits:
# memory: 500Mi

View File

@ -1,7 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- ./qbittorrent-secrets.sops.yaml - ./helm-release.yaml
- ./deployment.yaml - ./prowlarr-exportarr-metrics.yaml
- ./service.yaml
- ./ingress.yaml

View File

@ -0,0 +1,16 @@
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: prowlarr-exportarr
namespace: download
labels:
release: kube-prometheus-stack
spec:
selector:
matchLabels:
app: prowlarr-service
endpoints:
- port: metrics
interval: 3m
scrapeTimeout: 1m
path: /metrics