chart: extract hydra maester chart out of auth/charts/hydra.tar.gz (#96)
* chart: extract hydra maester chart out of auth/charts/hydra.tar.gz
* auth: install shared hydra maester during bootstrap
* hydra-maester: fix chart name typo
* hydra-maester: fix charts repo namespace
---------
Co-authored-by: Giorgi Lekveishvili <lekva@gl-mbp-m1-max.local>
diff --git a/core/installer/bootstrapper.go b/core/installer/bootstrapper.go
index c5de23d..e496709 100644
--- a/core/installer/bootstrapper.go
+++ b/core/installer/bootstrapper.go
@@ -97,6 +97,10 @@
if err := b.installEnvManager(ss, repoIO, nsGen, b.ns, env); err != nil {
return err
}
+ fmt.Println("Installing Ory Hydra Maester")
+ if err := b.installOryHydraMaester(ss, repoIO, nsGen, b.ns, env); err != nil {
+ return err
+ }
fmt.Println("Environment ready to use")
return nil
}
@@ -521,6 +525,36 @@
return repo.InstallApp(app, filepath.Join("/infrastructure", app.Name()), derived.Values, derived)
}
+func (b Bootstrapper) installOryHydraMaester(ss *soft.Client, repo RepoIO, nsGen NamespaceGenerator, nsCreator NamespaceCreator, env EnvConfig) error {
+ appRepo := NewInMemoryAppRepository(CreateAllApps())
+ app, err := appRepo.Find("hydra-maester")
+ if err != nil {
+ return err
+ }
+ namespaces := make([]string, len(app.Namespaces()))
+ for i, n := range app.Namespaces() {
+ namespaces[i], err = nsGen.Generate(n)
+ if err != nil {
+ return err
+ }
+ }
+ for _, n := range namespaces {
+ if err := nsCreator.Create(n); err != nil {
+ return err
+ }
+ }
+ derived := Derived{
+ Global: Values{
+ PCloudEnvName: env.Name,
+ },
+ Values: map[string]any{},
+ }
+ if len(namespaces) > 0 {
+ derived.Release.Namespace = namespaces[0]
+ }
+ 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 {
const (
volumeClaimName = "dns-zone-configs"