updated readme and restructure project
This commit is contained in:
125
kubernetes/qbittorrent-helm-chart/templates/deployment.yaml
Normal file
125
kubernetes/qbittorrent-helm-chart/templates/deployment.yaml
Normal file
@ -0,0 +1,125 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ .Release.Name }}
|
||||
namespace: {{ .Values.namespace }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ .Release.Name }}
|
||||
spec:
|
||||
initContainers:
|
||||
- name: wireguard-init
|
||||
image: {{ .Values.wireguardImage.repository }}:{{ .Values.wireguardImage.tag }}
|
||||
imagePullPolicy: {{ .Values.wireguardImage.pullPolicy }}
|
||||
securityContext:
|
||||
privileged: true
|
||||
capabilities:
|
||||
add:
|
||||
- NET_ADMIN
|
||||
- SYS_MODULE
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- |
|
||||
set -x
|
||||
echo "Starting WireGuard initialization..."
|
||||
mkdir -p /etc/wireguard
|
||||
cp /config/wg_confs/wg0.conf /etc/wireguard/wg0.conf
|
||||
chmod 600 /etc/wireguard/wg0.conf
|
||||
|
||||
if ! lsmod | grep -q wireguard; then
|
||||
modprobe wireguard || echo "Failed to load wireguard module"
|
||||
fi
|
||||
|
||||
wg-quick up wg0 || echo "Failed to bring up WireGuard interface"
|
||||
|
||||
ip link show wg0
|
||||
wg show
|
||||
volumeMounts:
|
||||
- name: wireguard-config
|
||||
mountPath: /config/wg_confs
|
||||
- name: modules
|
||||
mountPath: /lib/modules
|
||||
containers:
|
||||
- name: wireguard
|
||||
image: {{ .Values.wireguardImage.repository }}:{{ .Values.wireguardImage.tag }}
|
||||
imagePullPolicy: {{ .Values.wireguardImage.pullPolicy }}
|
||||
securityContext:
|
||||
privileged: true
|
||||
capabilities:
|
||||
add:
|
||||
- NET_ADMIN
|
||||
- SYS_MODULE
|
||||
env:
|
||||
- name: PUID
|
||||
value: "{{ .Values.config.puid }}"
|
||||
- name: PGID
|
||||
value: "{{ .Values.config.pgid }}"
|
||||
- name: UMASK_SET
|
||||
value: "{{ .Values.config.umask }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.config.timezone }}"
|
||||
volumeMounts:
|
||||
- name: wireguard-config
|
||||
mountPath: /config/wg_confs
|
||||
- name: modules
|
||||
mountPath: /lib/modules
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- |
|
||||
while true; do
|
||||
if ! ip link show wg0 > /dev/null 2>&1; then
|
||||
wg-quick up wg0
|
||||
fi
|
||||
sleep 30
|
||||
done
|
||||
ports:
|
||||
- containerPort: {{ .Values.service.wireguardPort }}
|
||||
protocol: UDP
|
||||
- name: qbittorrent
|
||||
image: {{ .Values.qbittorrentImage.repository }}:{{ .Values.qbittorrentImage.tag }}
|
||||
imagePullPolicy: {{ .Values.qbittorrentImage.pullPolicy }}
|
||||
env:
|
||||
- name: PUID
|
||||
value: "{{ .Values.config.puid }}"
|
||||
- name: PGID
|
||||
value: "{{ .Values.config.pgid }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.config.timezone }}"
|
||||
- name: WEBUI_PORT
|
||||
value: "{{ .Values.config.webuiPort }}"
|
||||
volumeMounts:
|
||||
- name: qbittorrent-config
|
||||
mountPath: /config
|
||||
- name: downloads
|
||||
mountPath: /downloads
|
||||
ports:
|
||||
- containerPort: {{ .Values.deployment.containerPort }}
|
||||
protocol: TCP
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: {{ .Values.deployment.containerPort }}
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
failureThreshold: 3
|
||||
volumes:
|
||||
- name: qbittorrent-config
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ .Values.persistence.config.name }}
|
||||
- name: wireguard-config
|
||||
configMap:
|
||||
name: {{ .Values.persistence.configMap.name }}
|
||||
- name: downloads
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ .Values.persistence.downloads.existingClaim }}
|
||||
- name: modules
|
||||
hostPath:
|
||||
path: /lib/modules
|
||||
Reference in New Issue
Block a user