diff --git a/core/installer/app.go b/core/installer/app.go
index 4935169..f732e8e 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -103,7 +103,6 @@
 		CreateAppCoreAuth(valuesTmpls, tmpls),
 		CreateAppHeadscale(valuesTmpls, tmpls),
 		CreateAppHeadscaleUser(valuesTmpls, tmpls),
-		CreateAppTailscaleProxy(valuesTmpls, tmpls),
 		CreateMetallbIPAddressPool(valuesTmpls, tmpls),
 		CreateEnvManager(valuesTmpls, tmpls),
 		CreateWelcome(valuesTmpls, tmpls),
@@ -142,18 +141,19 @@
 
 // TODO(gio): service account needs permission to create/update secret
 func CreateAppIngressPrivate(fs embed.FS, tmpls *template.Template) App {
-	schema, err := fs.ReadFile("values-tmpl/ingress-private.jsonschema")
+	schema, err := fs.ReadFile("values-tmpl/private-network.jsonschema")
 	if err != nil {
 		panic(err)
 	}
 	return App{
-		"ingress-private",
-		[]string{"ingress-private"},
+		"private-network",
+		[]string{"ingress-private"}, // TODO(gio): rename to private network
 		[]*template.Template{
 			tmpls.Lookup("ingress-private.yaml"),
+			tmpls.Lookup("tailscale-proxy.yaml"),
 		},
 		string(schema),
-		tmpls.Lookup("ingress-private.md"),
+		tmpls.Lookup("private-network.md"),
 	}
 }
 
@@ -400,22 +400,6 @@
 	}
 }
 
-func CreateAppTailscaleProxy(fs embed.FS, tmpls *template.Template) App {
-	schema, err := fs.ReadFile("values-tmpl/tailscale-proxy.jsonschema")
-	if err != nil {
-		panic(err)
-	}
-	return App{
-		"tailscale-proxy",
-		[]string{"tailscale-proxy"},
-		[]*template.Template{
-			tmpls.Lookup("tailscale-proxy.yaml"),
-		},
-		string(schema),
-		tmpls.Lookup("tailscale-proxy.md"),
-	}
-}
-
 func CreateMetallbIPAddressPool(fs embed.FS, tmpls *template.Template) App {
 	schema, err := fs.ReadFile("values-tmpl/metallb-ipaddresspool.jsonschema")
 	if err != nil {
