From d197194eb2baf34a8c6d2eb5d451c4b6c42cf94f Mon Sep 17 00:00:00 2001 From: Sam <55770131+Sam6734@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:38:32 -0500 Subject: [PATCH 1/2] feat: expose mesh contact address Signed-off-by: Sam <55770131+Sam6734@users.noreply.github.com> --- pkg/virtualkubelet/mesh.go | 1 + pkg/virtualkubelet/templates/mesh.sh | 3 ++- pkg/virtualkubelet/virtualkubelet.go | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/virtualkubelet/mesh.go b/pkg/virtualkubelet/mesh.go index cb904019..424f5ec2 100644 --- a/pkg/virtualkubelet/mesh.go +++ b/pkg/virtualkubelet/mesh.go @@ -476,6 +476,7 @@ PersistentKeepalive = %d // Prepare template data data := MeshScriptTemplateData{ WGInterfaceName: wgInterfaceName, + MeshContactHost: fmt.Sprintf("%s.%s.svc.cluster.local", td.Name, td.Namespace), WSTunnelExecutableURL: WSTunnelExecutableURL, WireguardGoURL: wireguardGoURL, WgToolURL: wgToolURL, diff --git a/pkg/virtualkubelet/templates/mesh.sh b/pkg/virtualkubelet/templates/mesh.sh index 300e799b..a3e10931 100644 --- a/pkg/virtualkubelet/templates/mesh.sh +++ b/pkg/virtualkubelet/templates/mesh.sh @@ -79,6 +79,7 @@ echo "=== Inside network namespace ===" echo "Using WireGuard interface: $WG_IFACE" export WG_SOCKET_DIR="$TMPDIR" +export INTERLINK_MESH_CONTACT_HOST="{{.MeshContactHost}}" # Override /etc/resolv.conf to avoid issues with read-only filesystems # Not all environments support this; ignore errors @@ -242,4 +243,4 @@ sleep 5 echo "=== Bringing job to foreground ===" fg 1 -EOFMESH \ No newline at end of file +EOFMESH diff --git a/pkg/virtualkubelet/virtualkubelet.go b/pkg/virtualkubelet/virtualkubelet.go index d4f7cd43..e0565454 100644 --- a/pkg/virtualkubelet/virtualkubelet.go +++ b/pkg/virtualkubelet/virtualkubelet.go @@ -110,6 +110,7 @@ type PortMapping struct { type MeshScriptTemplateData struct { WGInterfaceName string + MeshContactHost string WSTunnelExecutableURL string WireguardGoURL string WgToolURL string From 720331a63e07b3ca5af29d0106dc2df6091f07cc Mon Sep 17 00:00:00 2001 From: Sam <55770131+Sam6734@users.noreply.github.com> Date: Wed, 15 Jul 2026 09:38:32 -0500 Subject: [PATCH 2/2] test: verify mesh contact address export Signed-off-by: Sam <55770131+Sam6734@users.noreply.github.com> --- pkg/virtualkubelet/mesh_template_test.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 pkg/virtualkubelet/mesh_template_test.go diff --git a/pkg/virtualkubelet/mesh_template_test.go b/pkg/virtualkubelet/mesh_template_test.go new file mode 100644 index 00000000..fe930c8d --- /dev/null +++ b/pkg/virtualkubelet/mesh_template_test.go @@ -0,0 +1,24 @@ +package virtualkubelet + +import ( + "bytes" + "testing" + "text/template" + + "github.com/stretchr/testify/require" +) + +func TestMeshTemplateExportsContactHost(t *testing.T) { + content, err := meshScriptTemplate.ReadFile("templates/mesh.sh") + require.NoError(t, err) + + tmpl, err := template.New("mesh").Parse(string(content)) + require.NoError(t, err) + + var rendered bytes.Buffer + err = tmpl.Execute(&rendered, MeshScriptTemplateData{ + MeshContactHost: "worker-tunnel.pods-wstunnel.svc.cluster.local", + }) + require.NoError(t, err) + require.Contains(t, rendered.String(), `export INTERLINK_MESH_CONTACT_HOST="worker-tunnel.pods-wstunnel.svc.cluster.local"`) +}