113 lines
2.7 KiB
Smarty
113 lines
2.7 KiB
Smarty
{{/*
|
|
The volume (referencing VPN scripts) to be inserted into persistence.
|
|
*/}}
|
|
{{- define "tc.v1.common.addon.vpn.volume.scripts" -}}
|
|
{{- $basePath := (include "tc.v1.common.addon.vpn.volume.basePath" .) }}
|
|
enabled: true
|
|
type: configmap
|
|
objectName: vpnscripts
|
|
expandObjectName: false
|
|
defaultMode: "0777"
|
|
items:
|
|
{{- if .Values.addons.vpn.scripts.up }}
|
|
- key: up.sh
|
|
path: up.sh
|
|
{{- end -}}
|
|
{{- if .Values.addons.vpn.scripts.down }}
|
|
- key: down.sh
|
|
path: down.sh
|
|
{{- end }}
|
|
targetSelector:
|
|
{{- range .Values.addons.vpn.targetSelector }}
|
|
{{ . }}:
|
|
vpn:
|
|
mountPath: {{ $basePath }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
The volume (referencing VPN config) to be inserted into persistence.
|
|
*/}}
|
|
{{- define "tc.v1.common.addon.vpn.volume.config" -}}
|
|
{{- $basePath := (include "tc.v1.common.addon.vpn.volume.basePath" .) }}
|
|
{{- $mountPath := $basePath }}
|
|
|
|
enabled: true
|
|
{{- if or .Values.addons.vpn.config .Values.addons.vpn.existingSecret }}
|
|
type: secret
|
|
defaultMode: "0777"
|
|
items:
|
|
- key: vpn.conf
|
|
path: vpn.conf
|
|
{{- if .Values.addons.vpn.existingSecret }}
|
|
objectName: {{ .Values.addons.vpn.existingSecret }}
|
|
expandObjectName: false
|
|
{{- else }}
|
|
objectName: vpnconfig
|
|
expandObjectName: true
|
|
{{- end -}}
|
|
{{- else }}
|
|
{{- $mountPath = (printf "%s/vpn.conf" $basePath) }}
|
|
type: hostPath
|
|
hostPath: {{ .Values.addons.vpn.configFile | default "/vpn" }}
|
|
hostPathType: "File"
|
|
autoPermissions:
|
|
enabled: true
|
|
chown: true
|
|
user: 568
|
|
group: 568
|
|
{{- end }}
|
|
targetSelector:
|
|
{{- range .Values.addons.vpn.targetSelector }}
|
|
{{ . }}:
|
|
vpn:
|
|
mountPath: {{ $mountPath }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
The volume (referencing VPN config folder) to be inserted into persistence.
|
|
*/}}
|
|
{{- define "tc.v1.common.addon.vpn.volume.folder" -}}
|
|
{{- $basePath := (include "tc.v1.common.addon.vpn.volume.basePath" .) }}
|
|
enabled: true
|
|
type: hostPath
|
|
hostPath: {{ .Values.addons.vpn.configFolder | quote }}
|
|
autoPermissions:
|
|
enabled: true
|
|
chown: true
|
|
user: 568
|
|
group: 568
|
|
targetSelector:
|
|
{{- range .Values.addons.vpn.targetSelector }}
|
|
{{ . }}:
|
|
vpn:
|
|
mountPath: {{ $basePath }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
|
|
{{/*
|
|
The empty tailscale folder
|
|
*/}}
|
|
{{- define "tc.v1.common.addon.vpn.volume.tailscale" -}}
|
|
enabled: true
|
|
type: emptyDir
|
|
targetSelector:
|
|
{{- range .Values.addons.vpn.targetSelector }}
|
|
{{ . }}:
|
|
tailscale:
|
|
mountPath: /var/lib/tailscale
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- define "tc.v1.common.addon.vpn.volume.basePath" -}}
|
|
{{- $basePath := "/vpn" -}} {{/* Base Path for OVPN */}}
|
|
{{- if eq .Values.addons.vpn.type "wireguard" -}}
|
|
{{- $basePath = "/etc/wireguard" -}} {{/* Base Path for Wireguard */}}
|
|
{{- else if eq .Values.addons.vpn.type "gluetun" -}}
|
|
{{- $basePath = "/gluetun" -}} {{/* Base Path for Gluetun */}}
|
|
{{- end -}}
|
|
{{- $basePath -}}
|
|
{{- end -}}
|