installer: refactor App interface
diff --git a/core/installer/bootstrapper.go b/core/installer/bootstrapper.go
index d07a007..7ac86c1 100644
--- a/core/installer/bootstrapper.go
+++ b/core/installer/bootstrapper.go
@@ -383,8 +383,8 @@
 		if err != nil {
 			return err
 		}
-		namespaces := make([]string, len(app.Namespaces))
-		for i, n := range app.Namespaces {
+		namespaces := make([]string, len(app.Namespaces()))
+		for i, n := range app.Namespaces() {
 			namespaces[i], err = nsGen.Generate(n)
 			if err != nil {
 				return err
@@ -406,7 +406,7 @@
 			derived.Release.Namespace = namespaces[0]
 		}
 		values := map[string]any{}
-		return repo.InstallApp(*app, filepath.Join("/infrastructure", app.Name), values, derived)
+		return repo.InstallApp(app, filepath.Join("/infrastructure", app.Name()), values, derived)
 	}
 	appsToInstall := []string{
 		"resource-renderer-controller",
@@ -489,8 +489,8 @@
 	if err != nil {
 		return err
 	}
-	namespaces := make([]string, len(app.Namespaces))
-	for i, n := range app.Namespaces {
+	namespaces := make([]string, len(app.Namespaces()))
+	for i, n := range app.Namespaces() {
 		namespaces[i], err = nsGen.Generate(n)
 		if err != nil {
 			return err
@@ -515,7 +515,7 @@
 	if len(namespaces) > 0 {
 		derived.Release.Namespace = namespaces[0]
 	}
-	return repo.InstallApp(*app, filepath.Join("/infrastructure", app.Name), derived.Values, derived)
+	return repo.InstallApp(app, filepath.Join("/infrastructure", app.Name()), derived.Values, derived)
 }
 
 func (b Bootstrapper) installDNSZoneManager(ss *soft.Client, repo RepoIO, nsGen NamespaceGenerator, nsCreator NamespaceCreator, env EnvConfig) error {
@@ -552,7 +552,7 @@
 				Namespace: ns,
 			},
 		}
-		if err := repo.InstallApp(*app, filepath.Join("/infrastructure", app.Name), derived.Values, derived); err != nil {
+		if err := repo.InstallApp(app, filepath.Join("/infrastructure", app.Name()), derived.Values, derived); err != nil {
 			return err
 		}
 	}
@@ -565,7 +565,7 @@
 	if err != nil {
 		return err
 	}
-	ns, err := nsGen.Generate(app.Namespaces[0])
+	ns, err := nsGen.Generate(app.Namespaces()[0])
 	if err != nil {
 		return err
 	}
@@ -581,7 +581,7 @@
 			Namespace: ns,
 		},
 	}
-	if err := repo.InstallApp(*app, filepath.Join("/infrastructure", app.Name), derived.Values, derived); err != nil {
+	if err := repo.InstallApp(app, filepath.Join("/infrastructure", app.Name()), derived.Values, derived); err != nil {
 		return err
 	}
 	return nil