cmd/hypercloud-installer: add air traffic control
Signed-off-by: Xe Iaso <me@xeiaso.net>
@@ -15,4 +15,8 @@ create: truesources:- crd- ingress- extraArgs: []+ extraArgs: []++atc:+ version: "0.9.0"+ port: 3000
MODIFIED
cmd/hypercloud-installer/main.go
MODIFIED
cmd/hypercloud-installer/main.go
@@ -10,6 +10,7 @@ "io""log""os"+ atcinstaller "github.com/yokecd/yoke/cmd/atc-installer/installer""github.com/yokecd/yoke/pkg/flight"externaldns "go.techaro.lol/hypercloud/helm/external-dns""k8s.io/apimachinery/pkg/util/yaml"@@ -23,9 +24,10 @@ "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured")type Config struct {- ACME *ACME `json:"acme"`- ExternalDNS map[string]any `json:"externalDNS"`- ExternalIP IP `json:"externalIP"`+ ACME *ACME `json:"acme"`+ ATC atcinstaller.Config `json:"atc"`+ ExternalDNS map[string]any `json:"externalDNS"`+ ExternalIP IP `json:"externalIP"`}type IP struct {@@ -219,16 +221,6 @@ }result = append(result, extDNSCRD)- result = append(result, []any{corev1.Namespace{- TypeMeta: metav1.TypeMeta{- APIVersion: "v1",- Kind: "Namespace",- },- ObjectMeta: metav1.ObjectMeta{- Name: "external-dns",- },- }})-extraArgs, ok := cfg.ExternalDNS["extraArgs"].([]any)if !ok {return fmt.Errorf("externalDNS.extraArgs must be a list of something")@@ -247,7 +239,7 @@ }cfg.ExternalDNS["extraArgs"] = extraArgs- externalDNS, err := externaldns.RenderChart(flight.Release(), "external-dns", cfg.ExternalDNS)+ externalDNS, err := externaldns.RenderChart(flight.Release(), flight.Namespace(), cfg.ExternalDNS)if err != nil {return fmt.Errorf("failed to render external-dns chart: %w", err)}@@ -263,6 +255,15 @@ filteredExternalDNS = append(filteredExternalDNS, obj)}result = append(result, filteredExternalDNS)++ stages, err := atcinstaller.Run(cfg.ATC)+ if err != nil {+ return fmt.Errorf("failed to run atc installer: %w", err)+ }++ for _, stage := range stages {+ result = append(result, stage)+ }return json.NewEncoder(os.Stdout).Encode(result)}
MODIFIED
go.mod
MODIFIED
go.mod
@@ -44,6 +44,7 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirectgithub.com/pkg/errors v0.9.1 // indirectgithub.com/shopspring/decimal v1.4.0 // indirectgithub.com/spf13/cast v1.7.1 // indirect+ github.com/tetratelabs/wazero v1.6.0 // indirectgithub.com/x448/float16 v0.8.4 // indirectgithub.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirectgithub.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
MODIFIED
go.sum
MODIFIED
go.sum
@@ -102,6 +102,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=+github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g=+github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A=github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=