123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: qbittorrentvpn
- namespace: plex
- spec:
- strategy:
- type: Recreate
- selector:
- matchLabels:
- app: qbittorrentvpn
- replicas: 1
- template:
- metadata:
- labels:
- app: qbittorrentvpn
- annotations:
- backup.velero.io/backup-volumes-excludes: seedbox,media,media2,data-ec
- spec:
- affinity:
- nodeAffinity:
- requiredDuringSchedulingIgnoredDuringExecution:
- nodeSelectorTerms:
- - matchExpressions:
- - key: cluster-ingress
- operator: In
- values:
- - "true"
- containers:
- - name: qbittorrentvpn
- image: binhex/arch-qbittorrentvpn:5.0.2-1-01
- ports:
- - containerPort: 8080
- name: http-web-svc
- securityContext:
- privileged: true
- envFrom:
- - secretRef:
- name: qbittorrentvpn-secret
- volumeMounts:
- - mountPath: "/data"
- name: seedbox
- - mountPath: "/media"
- name: media
- - mountPath: "/media2"
- name: media2
- - mountPath: "/dataec"
- name: data-ec
- - mountPath: "/config"
- name: config
- resources:
- requests:
- memory: "0"
- limits:
- memory: "4Gi"
- volumes:
- - name: seedbox
- persistentVolumeClaim:
- claimName: seedbox-pvc
- - name: media
- persistentVolumeClaim:
- claimName: plex-pvc
- - name: media2
- persistentVolumeClaim:
- claimName: media2-pvc
- - name: data-ec
- persistentVolumeClaim:
- claimName: data-ec-pvc
- - name: config
- persistentVolumeClaim:
- claimName: qbittorrentvpn-pvc
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: qbittorrentvpn-exporter
- namespace: plex
- spec:
- strategy:
- type: Recreate
- selector:
- matchLabels:
- app: qbittorrentvpn-exporter
- replicas: 1
- template:
- metadata:
- labels:
- app: qbittorrentvpn-exporter
- spec:
- affinity:
- nodeAffinity:
- requiredDuringSchedulingIgnoredDuringExecution:
- nodeSelectorTerms:
- - matchExpressions:
- - key: cluster-ingress
- operator: In
- values:
- - "true"
- containers:
- - name: qbittorrentvpn-exporter
- image: ghcr.io/esanchezm/prometheus-qbittorrent-exporter:v1.6.0
- ports:
- - containerPort: 8000
- name: metrics
- envFrom:
- - secretRef:
- name: qbittorrentvpn-exporter-secret
- livenessProbe:
- exec:
- command:
- - "/bin/sh"
- - "-c"
- - 'wget -O - 0.0.0.0:8000 | grep -E "qbittorrent_up\{.* 1.0"'
- initialDelaySeconds: 3
- periodSeconds: 3
- resources:
- requests:
- memory: "0"
- limits:
- memory: "256Mi"
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: qbittorrentvpn-service
- namespace: plex
- spec:
- selector:
- app: qbittorrentvpn
- type: ClusterIP
- ports:
- - name: qbittorrentvpn-web-port
- protocol: TCP
- port: 8080
- targetPort: http-web-svc
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: qbittorrentvpn-exporter-service
- namespace: plex
- labels:
- app: qbittorrentvpn-exporter
- spec:
- selector:
- app: qbittorrentvpn-exporter
- type: ClusterIP
- ports:
- - name: metrics
- protocol: TCP
- port: 8000
- targetPort: metrics
- ---
- apiVersion: networking.k8s.io/v1
- kind: Ingress
- metadata:
- name: qbittorrentvpn
- namespace: plex
- annotations:
- traefik.ingress.kubernetes.io/router.entrypoints: websecure
- traefik.ingress.kubernetes.io/router.middlewares: kube-system-lanonly@kubernetescrd
- spec:
- rules:
- - host: qbittorrentvpn.lan.jibby.org
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: qbittorrentvpn-service
- port:
- number: 8080
|