1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- {{- define "wgeasy.workload" -}}
- workload:
- wgeasy:
- enabled: true
- primary: true
- type: Deployment
- podSpec:
- hostNetwork: {{ .Values.wgNetwork.hostNetwork }}
- containers:
- wgeasy:
- enabled: true
- primary: true
- imageSelector: image
- {{/* https://github.com/WeeJeWel/wg-easy/pull/394 */}}
- securityContext:
- runAsUser: 0
- runAsGroup: 0
- runAsNonRoot: false
- readOnlyRootFilesystem: false
- capabilities:
- add:
- - NET_ADMIN
- - NET_RAW
- - SYS_MODULE
- env:
- WG_PORT: {{ .Values.wgNetwork.udpPort }}
- WG_PATH: /etc/wireguard
- PORT: {{ .Values.wgNetwork.webPort }}
- WG_HOST: {{ .Values.wgConfig.host | quote }}
- PASSWORD: {{ .Values.wgConfig.password | quote }}
- WG_PERSISTENT_KEEPALIVE: {{ .Values.wgConfig.keepAlive }}
- WG_MTU: {{ .Values.wgConfig.clientMTU }}
- WG_DEFAULT_ADDRESS: {{ .Values.wgConfig.clientAddressRange }}
- WG_DEFAULT_DNS: {{ .Values.wgConfig.clientDNSServer }}
- WG_DEVICE: {{ .Values.wgConfig.deviceName | default "eth0" }}
- WG_ALLOWED_IPS: {{ join "," .Values.wgConfig.allowedIPs | default "0.0.0.0/0,::/0" | quote }}
- fixedEnv:
- PUID: 0
- {{ with .Values.wgConfig.additionalEnvs }}
- envList:
- {{ range $env := . }}
- - name: {{ $env.name }}
- value: {{ $env.value }}
- {{ end }}
- {{ end }}
- probes:
- liveness:
- enabled: true
- type: http
- port: {{ .Values.wgNetwork.webPort }}
- path: /
- readiness:
- enabled: true
- type: http
- port: {{ .Values.wgNetwork.webPort }}
- path: /
- startup:
- enabled: true
- type: http
- port: {{ .Values.wgNetwork.webPort }}
- path: /
- {{ $ip := .Values.wgConfig.clientAddressRange | replace "x" "0" }}
- lifecycle:
- preStop:
- type: exec
- command:
- - /bin/bash
- - -c
- - |
- echo "Deleting routes created by the app..."
- netmask=$(ip route | grep {{ $ip }})
- netmask=$(echo $netmask | grep -o -E '/.\d*')
- netmask=${netmask#/}
- echo "Matched routes to delete... {{ $ip }}/$netmask"
- # Don't try to delete routes if steps above didn't grep-ed anything
- if [ ! "$netmask" == "" ]; then
- ip route del {{ $ip }}/$netmask || echo "Route deletion failed..."
- fi
- echo "Routes deleted..."
- interface=$(ip a | grep wg0)
- if [ ! "$interface" == "" ]; then
- echo "Removing wg0 interface..."
- ip link delete wg0
- echo "Removed wg0 interface..."
- fi
- {{- end -}}
|