VirtualMachine: Implement virtual machines using KubeVirt

Auto adds new VM into given user's Tailscale network

Change-Id: I16847a0b9eacc17b0e794d3b4913eb1d80a93f0a
diff --git a/core/installer/cmd/dodo_app.go b/core/installer/cmd/dodo_app.go
index f61ee78..2fe1697 100644
--- a/core/installer/cmd/dodo_app.go
+++ b/core/installer/cmd/dodo_app.go
@@ -32,6 +32,7 @@
 	db                string
 	networks          []string
 	fetchUsersAddr    string
+	headscaleAPIAddr  string
 }
 
 func dodoAppCmd() *cobra.Command {
@@ -123,6 +124,12 @@
 		[]string{},
 		"",
 	)
+	cmd.Flags().StringVar(
+		&dodoAppFlags.headscaleAPIAddr,
+		"headscale-api-addr",
+		"",
+		"",
+	)
 	return cmd
 }
 
@@ -193,6 +200,7 @@
 			// &tasks.KustomizationReconciler{},
 		},
 	}
+	vpnKeyGen := installer.NewHeadscaleAPIClient(dodoAppFlags.headscaleAPIAddr)
 	s, err := welcome.NewDodoAppServer(
 		st,
 		nf,
@@ -208,6 +216,7 @@
 		dodoAppFlags.envAppManagerAddr,
 		nsc,
 		jc,
+		vpnKeyGen,
 		env,
 		dodoAppFlags.external,
 		dodoAppFlags.fetchUsersAddr,