VirtualMachine: Implement virtual machines using KubeVirt

Auto adds new VM into given user's Tailscale network

Change-Id: I16847a0b9eacc17b0e794d3b4913eb1d80a93f0a
diff --git a/core/installer/app.go b/core/installer/app.go
index 0c9cf6b..cee8a5f 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -196,7 +196,14 @@
 
 type EnvApp interface {
 	App
-	Render(release Release, env EnvConfig, networks []Network, values map[string]any, charts map[string]helmv2.HelmChartTemplateSpec) (EnvAppRendered, error)
+	Render(
+		release Release,
+		env EnvConfig,
+		networks []Network,
+		values map[string]any,
+		charts map[string]helmv2.HelmChartTemplateSpec,
+		vpnKeyGen VPNAuthKeyGenerator,
+	) (EnvAppRendered, error)
 }
 
 type cueApp struct {
@@ -452,8 +459,9 @@
 	networks []Network,
 	values map[string]any,
 	charts map[string]helmv2.HelmChartTemplateSpec,
+	vpnKeyGen VPNAuthKeyGenerator,
 ) (EnvAppRendered, error) {
-	derived, err := deriveValues(values, a.Schema(), networks)
+	derived, err := deriveValues(values, values, a.Schema(), networks, vpnKeyGen)
 	if err != nil {
 		return EnvAppRendered{}, err
 	}