diff --git a/library/ix-dev/community/gluetun/ci/surfshark-openvpn-values.yaml b/library/ix-dev/community/gluetun/ci/surfshark-openvpn-values.yaml new file mode 100644 index 0000000000..ee542aaf94 --- /dev/null +++ b/library/ix-dev/community/gluetun/ci/surfshark-openvpn-values.yaml @@ -0,0 +1,18 @@ +gluetunStorage: + data: + type: hostPath + hostPath: /mnt/{{ .Release.Name }}/data + +# https://github.com/qdm12/gluetun/wiki/Surfshark +gluetunConfig: + # :9999 is the internal healthcheck endpoint + # We tell it to probe it self so we can see if it's healthy + # As it will never connect to actual servers to be able to reach the internet + # This is only for CI, healthcheck will fail if configuration is not valid + additionalEnvs: + - name: HEALTH_TARGET_ADDRESS + value: localhost:9999 + provider: surfshark + type: openvpn + openvpnUser: username + openvpnPassword: password diff --git a/library/ix-dev/community/gluetun/ci/surfshark-wireguard-values.yaml b/library/ix-dev/community/gluetun/ci/surfshark-wireguard-values.yaml new file mode 100644 index 0000000000..e311d685b1 --- /dev/null +++ b/library/ix-dev/community/gluetun/ci/surfshark-wireguard-values.yaml @@ -0,0 +1,20 @@ +gluetunStorage: + data: + type: hostPath + hostPath: /mnt/{{ .Release.Name }}/data + +# https://github.com/qdm12/gluetun/wiki/Surfshark +gluetunConfig: + # :9999 is the internal healthcheck endpoint + # We tell it to probe it self so we can see if it's healthy + # As it will never connect to actual servers to be able to reach the internet + # This is only for CI, healthcheck will fail if configuration is not valid + additionalEnvs: + - name: HEALTH_TARGET_ADDRESS + value: localhost:9999 + provider: surfshark + type: wireguard + wireguardPrivateKey: ACTNX9v4t6bN6I207zBvrd/DcJYz8n5+NCjjqPFYEXE= + wireguardAddresses: + - 10.0.0.0/16 + - 172.0.0.0/16 diff --git a/library/ix-dev/community/gluetun/questions.yaml b/library/ix-dev/community/gluetun/questions.yaml index 06d7f89162..1a40f14428 100644 --- a/library/ix-dev/community/gluetun/questions.yaml +++ b/library/ix-dev/community/gluetun/questions.yaml @@ -68,6 +68,8 @@ questions: description: PureVPN - value: slickvpn description: SlickVPN + - value: surfshark + description: Surfshark - variable: type label: Type diff --git a/library/ix-dev/community/gluetun/templates/_validation.tpl b/library/ix-dev/community/gluetun/templates/_validation.tpl index 2e5812051b..f0ba1ce15d 100644 --- a/library/ix-dev/community/gluetun/templates/_validation.tpl +++ b/library/ix-dev/community/gluetun/templates/_validation.tpl @@ -3,7 +3,7 @@ "fastestvpn" "hidemyass" "ipvanish" "ivpn" "mullvad" "nordvpn" "perfect privacy" "privado" "private internet access" "privatevpn" "protonvpn" - "purevpn" "slickvpn") -}} + "purevpn" "slickvpn" "surfshark") -}} {{- if not (mustHas .Values.gluetunConfig.provider $providers) -}} {{- fail (printf "Gluetun - Expected [Provider] to be one of [%v], but got [%v]" (join ", " $providers) .Values.gluetunConfig.provider) -}} {{- end -}} diff --git a/library/ix-dev/community/gluetun/templates/providers/_surfshark.tpl b/library/ix-dev/community/gluetun/templates/providers/_surfshark.tpl new file mode 100644 index 0000000000..3b18aad834 --- /dev/null +++ b/library/ix-dev/community/gluetun/templates/providers/_surfshark.tpl @@ -0,0 +1,24 @@ +{{/* 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")) -}} +{{- 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")) -}} +{{- end -}}