Manually set DNS and ENDPOINT
jonasbg opened this issue · 1 comments
First off, great work!
Could it be possible to manually set DNS and ENDPOINT address for those cases when you would like your IP Endpoint to be set to your public IP, which is not always available in those scenarios where a LoadBalancer isn't installed? So that it's easier to configure a VPN solution from outside your home.
Ive found that the DNS which is provided by the cluster works well, but my GLI.NET travel router does not like the dns name for dns resolving, wireguard-system.svc.cluster.local
.
Proposed changes:
apiversion: vpn.example.com/v1alpha1
kind: Wireguard
metadata:
name: "wireguard-example-server"
spec:
mtu: "1380"
serviceType: "NodePort"
endpoint: "142.250.74.78"
dns: "1.1.1.1, 8.8.8.8"
This is my current solution:
# 10.0.0.2 is my Node IP address
kubectl get wireguardpeer travel-router --template={{.status.config}} -n wireguard-system | bash | sed -e "s/10.0.0.2/$(curl -s icanhazip.com)/g" | sed 's/, wireguard-system.svc.cluster.local//g' | qrencode -t ansiutf8
Hi, Thanks! I really appreciate it.
This feature is now available; it's not yet officially released but you can try it by
kubectl apply -f https://raw.githubusercontent.com/jodevsa/wireguard-operator/main/release.yaml
example of usage:
apiversion: vpn.example.com/v1alpha1
kind: Wireguard
metadata:
name: "wireguard-example-server"
spec:
mtu: "1380"
serviceType: "NodePort"
address: "142.250.74.78"
dns: "1.1.1.1, 8.8.8.8"