m/node: implement Port type for node ports

This allows us to use %v/%s to get a pretty port name where needed.

We also drive-by remove MasterServicePort which is a leftover from
a pre-curator cluster service implementation.

Change-Id: Id8feddf87269b13dd1dad2460a015c1a7ecbc6d7
Reviewed-on: https://review.monogon.dev/c/monogon/+/418
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/node/kubernetes/clusternet/clusternet.go b/metropolis/node/kubernetes/clusternet/clusternet.go
index 85a78a1..3cf2535 100644
--- a/metropolis/node/kubernetes/clusternet/clusternet.go
+++ b/metropolis/node/kubernetes/clusternet/clusternet.go
@@ -120,7 +120,7 @@
 	err = s.wgClient.ConfigureDevice(clusterNetDeviceName, wgtypes.Config{
 		Peers: []wgtypes.PeerConfig{{
 			PublicKey:         pubKey,
-			Endpoint:          &net.UDPAddr{Port: common.WireGuardPort, IP: internalIP},
+			Endpoint:          &net.UDPAddr{Port: int(common.WireGuardPort), IP: internalIP},
 			ReplaceAllowedIPs: true,
 			AllowedIPs:        allowedIPs,
 		}},
@@ -227,7 +227,7 @@
 	}
 	defer netlink.LinkDel(wgInterface)
 
-	listenPort := common.WireGuardPort
+	listenPort := int(common.WireGuardPort)
 	if err := wgClient.ConfigureDevice(clusterNetDeviceName, wgtypes.Config{
 		PrivateKey: &s.privKey,
 		ListenPort: &listenPort,