installer: create namespaces with kube client
diff --git a/core/installer/cmd/app_manager.go b/core/installer/cmd/app_manager.go
index 73e2311..cff270e 100644
--- a/core/installer/cmd/app_manager.go
+++ b/core/installer/cmd/app_manager.go
@@ -68,7 +68,14 @@
if err != nil {
return err
}
- m, err := installer.NewAppManager(installer.NewRepoIO(repo, signer))
+ kube, err := installer.NewOutOfClusterNamespaceCreator(rootFlags.kubeConfig)
+ if err != nil {
+ return err
+ }
+ m, err := installer.NewAppManager(
+ installer.NewRepoIO(repo, signer),
+ kube,
+ )
if err != nil {
return err
}
@@ -173,7 +180,7 @@
}
var resp rendered
resp.Readme = readme.String()
- for _, tmpl := range a.Templates {
+ for _, tmpl := range a.Templates { // TODO(giolekva): deduplicate with Install
var f bytes.Buffer
if err := tmpl.Execute(&f, all); err != nil {
fmt.Printf("%+v\n", all)
@@ -207,7 +214,15 @@
if err != nil {
return err
}
- if err := s.m.Install(*a, values); err != nil {
+ config, err := s.m.Config()
+ if err != nil {
+ return err
+ }
+ nsGen := installer.NewCombine(
+ installer.NewPrefixGenerator(config.Values.Id+"-"),
+ installer.NewRandomSuffixGenerator(3),
+ )
+ if err := s.m.Install(*a, nsGen, values); err != nil {
return err
}
return c.String(http.StatusOK, "Installed")