diff --git a/library/ix-dev/community/gluetun/charts/common-1.0.7.tgz b/library/ix-dev/community/gluetun/charts/common-1.0.7.tgz index e551da2ac1..ddd34e6f07 100644 Binary files a/library/ix-dev/community/gluetun/charts/common-1.0.7.tgz and b/library/ix-dev/community/gluetun/charts/common-1.0.7.tgz differ diff --git a/library/ix-dev/community/gluetun/templates/_configuration.tpl b/library/ix-dev/community/gluetun/templates/_configuration.tpl index 1d7327a95f..fd631fbd92 100644 --- a/library/ix-dev/community/gluetun/templates/_configuration.tpl +++ b/library/ix-dev/community/gluetun/templates/_configuration.tpl @@ -20,7 +20,7 @@ configmap: {{- include "gluetun.configs.wireguard.env" $ | nindent 6 }} {{- end }} - {{/* Include provider specific configuration */}} + {{/* Include provider specific validation */}} {{- include (printf "gluetun.%v.%v.validation" .Values.gluetunConfig.provider .Values.gluetunConfig.type) $ | nindent 6 }} {{- end -}} diff --git a/library/ix-dev/community/gluetun/templates/_validation.tpl b/library/ix-dev/community/gluetun/templates/_validation.tpl index 1f1303eb38..bd4e3db2ab 100644 --- a/library/ix-dev/community/gluetun/templates/_validation.tpl +++ b/library/ix-dev/community/gluetun/templates/_validation.tpl @@ -63,5 +63,5 @@ {{- end -}} {{- define "gluetun.certkey.required.error" -}} - {{- fail (printf "Gluetun - Provider [%v] requires [Key and Certificate] either from [File or Content] method on type [openvpn]." .Values.gluetunConfig.provider) -}} + {{- fail (printf "Gluetun - Provider [%v] requires [Key and/or Certificate] either from [File or Content] method on type [openvpn]." .Values.gluetunConfig.provider) -}} {{- end -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_airvpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_airvpn.tpl index 5d3fe00201..fea3649425 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_airvpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_airvpn.tpl @@ -1,26 +1,19 @@ {{/* https://github.com/qdm12/gluetun/wiki/AirVPN */}} {{- define "gluetun.airvpn.openvpn.validation" -}} - {{/* Cert and Key Required */}} + {{- $req := list -}} + {{- if eq .Values.gluetunConfig.openvpnCertKeyMethod "file" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnCertHostPath" - "openvpnKeyHostPath")) -}} + {{- $req = (list "openvpnCertHostPath" "openvpnKeyHostPath") -}} {{- else if eq .Values.gluetunConfig.openvpnCertKeyMethod "content" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnCert" - "openvpnKey")) -}} + {{- $req = (list "openvpnCert" "openvpnKey") -}} {{- else -}} {{- include "gluetun.certkey.required.error" $ -}} {{- end -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} {{- end -}} {{- define "gluetun.airvpn.wireguard.validation" -}} - {{/* Required */}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "wireguardPrivateKey" - "wireguardPresharedKey" - "wireguardAddresses")) -}} + {{- $req := (list "wireguardPrivateKey" "wireguardPresharedKey" "wireguardAddresses") -}} + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} {{- end -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_cyberghost.tpl b/library/ix-dev/community/gluetun/templates/providers/_cyberghost.tpl index 1c6aeff2ca..22e04259e2 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_cyberghost.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_cyberghost.tpl @@ -1,30 +1,21 @@ {{/* https://github.com/qdm12/gluetun/wiki/Cyberghost */}} {{- define "gluetun.cyberghost.openvpn.validation" -}} - {{/* Cert and Key Required */}} + {{- $req := list -}} + {{- if eq .Values.gluetunConfig.openvpnCertKeyMethod "file" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnCertHostPath" - "openvpnKeyHostPath")) -}} + {{- $req = (list "openvpnCertHostPath" "openvpnKeyHostPath") -}} {{- else if eq .Values.gluetunConfig.openvpnCertKeyMethod "content" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnCert" - "openvpnKey")) -}} + {{- $req = (list "openvpnCert" "openvpnKey") -}} {{- else -}} {{- include "gluetun.certkey.required.error" $ -}} {{- end -}} - {{/* Required */}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{/* Unsupported */}} - {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ - "options" (list - "serverRegions" - "serverCities" - "serverNames")) -}} + + {{- $req = concat $req (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverRegions" "serverCities" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.cyberghost.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_expressvpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_expressvpn.tpl index a68b8d6bcf..b018eba5c6 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_expressvpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_expressvpn.tpl @@ -1,15 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/ExpressVPN */}} {{- define "gluetun.expressvpn.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverRegions" - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverRegions" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.expressvpn.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_fastestvpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_fastestvpn.tpl index 46e9a3756f..c3bf5c1d07 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_fastestvpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_fastestvpn.tpl @@ -1,16 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/FastestVPN */}} {{- define "gluetun.fastestvpn.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverRegions" - "serverCities" - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverRegions" "serverCities" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.fastestvpn.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_hidemyass.tpl b/library/ix-dev/community/gluetun/templates/providers/_hidemyass.tpl index 30f1d302d2..845029753f 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_hidemyass.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_hidemyass.tpl @@ -1,14 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/Hidemyass */}} {{- define "gluetun.hidemyass.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.hidemyass.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_ipvanish.tpl b/library/ix-dev/community/gluetun/templates/providers/_ipvanish.tpl index 580f3cab49..bf961dc3da 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_ipvanish.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_ipvanish.tpl @@ -1,15 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/IPVanish */}} {{- define "gluetun.ipvanish.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverRegions" - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverRegions" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.ipvanish.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_ivpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_ivpn.tpl index c5b293722d..a5589419bc 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_ivpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_ivpn.tpl @@ -1,25 +1,18 @@ {{/* https://github.com/qdm12/gluetun/wiki/IVPN */}} {{- define "gluetun.ivpn.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverRegions" - "serverNames")) -}} + {{- $req := (list "openvpnUser") -}} + + {{- $unsup := (list "serverRegions" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.ivpn.wireguard.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "wireguardPrivateKey" - "wireguardAddresses")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverRegions" - "serverNames")) -}} + {{- $req := (list "wireguardPrivateKey" "wireguardAddresses") -}} + + {{- $unsup := (list "serverRegions" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_mullvad.tpl b/library/ix-dev/community/gluetun/templates/providers/_mullvad.tpl index 1a0db96b42..9cffc05246 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_mullvad.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_mullvad.tpl @@ -1,25 +1,18 @@ {{/* https://github.com/qdm12/gluetun/wiki/Mullvad */}} {{- define "gluetun.mullvad.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverRegions" - "serverNames")) -}} + {{- $req := (list "openvpnUser") -}} + + {{- $unsup := (list "serverRegions" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.mullvad.wireguard.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "wireguardPrivateKey" - "wireguardAddresses")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverRegions" - "serverNames")) -}} + {{- $req := (list "wireguardPrivateKey" "wireguardAddresses") -}} + + {{- $unsup := (list "serverRegions" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_nordvpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_nordvpn.tpl index e7fb26cb2d..59398f5ce5 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_nordvpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_nordvpn.tpl @@ -1,16 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/NordVPN */}} {{- define "gluetun.nordvpn.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverCountries" - "serverCities" - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverCountries" "serverCities" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.nordvpn.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_perfectprivacy.tpl b/library/ix-dev/community/gluetun/templates/providers/_perfectprivacy.tpl index 24950ae5ee..1e3d45e83b 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_perfectprivacy.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_perfectprivacy.tpl @@ -1,17 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/Perfect-privacy */}} {{- define "gluetun.perfect privacy.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverCountries" - "serverRegions" - "serverHostnames" - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverRegions" "serverCountries" "serverHostnames" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.perfect privacy.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_privado.tpl b/library/ix-dev/community/gluetun/templates/providers/_privado.tpl index 00c114393e..164841e218 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_privado.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_privado.tpl @@ -1,14 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/Privado */}} {{- define "gluetun.privado.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.privado.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_privateinternetaccess.tpl b/library/ix-dev/community/gluetun/templates/providers/_privateinternetaccess.tpl index 274040dc2c..1ba596bfde 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_privateinternetaccess.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_privateinternetaccess.tpl @@ -1,15 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/Private-internet-access */}} {{- define "gluetun.private internet access.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverCities" - "serverCountries")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverCities" "serverCountries") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.private internet access.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_privatevpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_privatevpn.tpl index ee3f83febd..58290026ce 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_privatevpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_privatevpn.tpl @@ -1,16 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/PrivateVPN */}} {{- define "gluetun.privatevpn.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverRegions" - "serverHostnames" - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverRegions" "serverHostnames" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.privatevpn.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_protonvpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_protonvpn.tpl index a208475962..974a117fab 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_protonvpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_protonvpn.tpl @@ -1,14 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/ProtonVPN */}} {{- define "gluetun.protonvpn.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.protonvpn.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_purevpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_purevpn.tpl index 237f275d6b..ee188e1816 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_purevpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_purevpn.tpl @@ -1,14 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/PureVPN */}} {{- define "gluetun.purevpn.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.purevpn.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_slickvpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_slickvpn.tpl index 94a9b5fdb4..6ae8030be1 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_slickvpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_slickvpn.tpl @@ -1,28 +1,21 @@ {{/* https://github.com/qdm12/gluetun/wiki/SlickVPN */}} {{- define "gluetun.slickvpn.openvpn.validation" -}} - {{/* Cert and Key Required */}} + {{- $req := list -}} + {{- if eq .Values.gluetunConfig.openvpnCertKeyMethod "file" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnCertHostPath" - "openvpnKeyHostPath")) -}} + {{- $req = (list "openvpnCertHostPath" "openvpnKeyHostPath") -}} {{- else if eq .Values.gluetunConfig.openvpnCertKeyMethod "content" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnCert" - "openvpnKey")) -}} + {{- $req = (list "openvpnCert" "openvpnKey") -}} {{- else -}} {{- include "gluetun.certkey.required.error" $ -}} {{- end -}} - {{/* Required */}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{/* Unsupported */}} - {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ - "options" (list - "serverNames")) -}} + + {{- $req = concat $req (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.slickvpn.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_surfshark.tpl b/library/ix-dev/community/gluetun/templates/providers/_surfshark.tpl index 3b18aad834..fcfaa67b79 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_surfshark.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_surfshark.tpl @@ -1,24 +1,18 @@ {{/* https://github.com/qdm12/gluetun/wiki/Surfshark */}} {{- define "gluetun.surfshark.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.surfshark.wireguard.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "wireguardPrivateKey" - "wireguardAddresses")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverNames")) -}} + {{- $req := (list "wireguardPrivateKey" "wireguardAddresses") -}} + + {{- $unsup := (list "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_torguard.tpl b/library/ix-dev/community/gluetun/templates/providers/_torguard.tpl index dee569cf56..acf00dd434 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_torguard.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_torguard.tpl @@ -1,15 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/Torguard */}} {{- define "gluetun.torguard.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverRegions" - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverRegions" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.torguard.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_vpnsecure.tpl b/library/ix-dev/community/gluetun/templates/providers/_vpnsecure.tpl index d50bca891c..cebd88813a 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_vpnsecure.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_vpnsecure.tpl @@ -1,28 +1,21 @@ {{/* https://github.com/qdm12/gluetun/wiki/VPN-Secure */}} {{- define "gluetun.vpnsecure.openvpn.validation" -}} - {{/* Cert and Key Required */}} + {{- $req := list -}} + {{- if eq .Values.gluetunConfig.openvpnCertKeyMethod "file" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnCertHostPath" - "openvpnKeyHostPath")) -}} + {{- $req = (list "openvpnCertHostPath" "openvpnKeyHostPath") -}} {{- else if eq .Values.gluetunConfig.openvpnCertKeyMethod "content" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnCert" - "openvpnKey")) -}} + {{- $req = (list "openvpnCert" "openvpnKey") -}} {{- else -}} {{- include "gluetun.certkey.required.error" $ -}} {{- end -}} - {{/* Required */}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnKeyPassphrase")) -}} - {{/* Unsupported */}} - {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ - "options" (list - "serverCountries" - "serverNames")) -}} + + {{- $req = concat $req (list "openvpnKeyPassphrase") -}} + + {{- $unsup := (list "serverCountries" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.vpnsecure.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_vpnunlimited.tpl b/library/ix-dev/community/gluetun/templates/providers/_vpnunlimited.tpl index a40f3e32c2..48f48b7b2f 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_vpnunlimited.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_vpnunlimited.tpl @@ -1,28 +1,21 @@ {{/* https://github.com/qdm12/gluetun/wiki/VPN-Unlimited */}} {{- define "gluetun.vpn unlimited.openvpn.validation" -}} - {{/* Cert and Key Required */}} + {{- $req := list -}} + {{- if eq .Values.gluetunConfig.openvpnCertKeyMethod "file" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnCertHostPath" - "openvpnKeyHostPath")) -}} + {{- $req = (list "openvpnCertHostPath" "openvpnKeyHostPath") -}} {{- else if eq .Values.gluetunConfig.openvpnCertKeyMethod "content" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnCert" - "openvpnKey")) -}} + {{- $req = (list "openvpnCert" "openvpnKey") -}} {{- else -}} {{- include "gluetun.certkey.required.error" $ -}} {{- end -}} - {{/* Required */}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{/* Unsupported */}} - {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ - "options" (list - "serverNames")) -}} + + {{- $req = concat $req (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.vpn unlimited.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_vyprvpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_vyprvpn.tpl index 78cee6191d..7a5d46cbe8 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_vyprvpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_vyprvpn.tpl @@ -1,16 +1,11 @@ {{/* https://github.com/qdm12/gluetun/wiki/VyprVPN */}} {{- define "gluetun.vyprvpn.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverCountries" - "serverCities" - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverCountries" "serverCities" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.vyprvpn.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_wevpn.tpl b/library/ix-dev/community/gluetun/templates/providers/_wevpn.tpl index 27a3d34c8c..78cd31311b 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_wevpn.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_wevpn.tpl @@ -1,27 +1,21 @@ {{/* https://github.com/qdm12/gluetun/wiki/WeVPN */}} {{- define "gluetun.wevpn.openvpn.validation" -}} - {{/* Cert and Key Required */}} + {{- $req := list -}} + {{- if eq .Values.gluetunConfig.openvpnCertKeyMethod "file" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list "openvpnKeyHostPath")) -}} + {{- $req = (list "openvpnKeyHostPath") -}} {{- else if eq .Values.gluetunConfig.openvpnCertKeyMethod "content" -}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list "openvpnKey")) -}} + {{- $req = (list "openvpnKey") -}} {{- else -}} {{- include "gluetun.certkey.required.error" $ -}} {{- end -}} - {{/* Required */}} - {{- include "gluetun.options.required" (dict "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{/* Unsupported */}} - {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ - "options" (list - "serverCountries" - "serverRegions" - "serverNames")) -}} + {{- $req = concat $req (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverRegions" "serverCountries" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.wevpn.wireguard.validation" -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_windscribe.tpl b/library/ix-dev/community/gluetun/templates/providers/_windscribe.tpl index d096edf5bf..3cf79ea84a 100644 --- a/library/ix-dev/community/gluetun/templates/providers/_windscribe.tpl +++ b/library/ix-dev/community/gluetun/templates/providers/_windscribe.tpl @@ -1,26 +1,18 @@ {{/* https://github.com/qdm12/gluetun/wiki/Windscribe */}} {{- define "gluetun.windscribe.openvpn.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "openvpnUser" - "openvpnPassword")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverCountries" - "serverNames")) -}} + {{- $req := (list "openvpnUser" "openvpnPassword") -}} + + {{- $unsup := (list "serverCountries" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} {{- define "gluetun.windscribe.wireguard.validation" -}} - {{- include "gluetun.options.required" (dict - "rootCtx" $ - "options" (list - "wireguardPrivateKey" - "wireguardAddresses")) -}} - {{- include "gluetun.unsupported.server.options" (dict - "rootCtx" $ - "options" (list - "serverCountries" - "serverNames")) -}} + {{- $req := (list "wireguardPrivateKey" "wireguardAddresses") -}} + + {{- $unsup := (list "serverCountries" "serverNames") -}} + + {{- include "gluetun.options.required" (dict "rootCtx" $ "options" $req) -}} + {{- include "gluetun.unsupported.server.options" (dict "rootCtx" $ "options" $unsup) -}} {{- end -}} diff --git a/library/ix-dev/community/gluetun/values.yaml b/library/ix-dev/community/gluetun/values.yaml index e938824fdb..2abdcada7e 100644 --- a/library/ix-dev/community/gluetun/values.yaml +++ b/library/ix-dev/community/gluetun/values.yaml @@ -56,3 +56,6 @@ gluetunConfig: serverNames: [] additionalEnvs: [] + +# TODO: custom provider test +# TODO: openvpn file test