bootstrap: use retry to wait for soft serve to come up
diff --git a/core/installer/cmd/bootstrap.go b/core/installer/cmd/bootstrap.go
index 805a5a0..9cd0a4c 100644
--- a/core/installer/cmd/bootstrap.go
+++ b/core/installer/cmd/bootstrap.go
@@ -9,6 +9,7 @@
"path/filepath"
"time"
+ "github.com/cenkalti/backoff/v4"
"github.com/spf13/cobra"
"helm.sh/helm/v3/pkg/action"
"helm.sh/helm/v3/pkg/chart/loader"
@@ -90,8 +91,12 @@
if err := installSoftServe(bootstrapJobKeys.Public); err != nil {
return err
}
- time.Sleep(1 * time.Minute) // TODO(giolekva): implement proper wait
- ss, err := soft.NewClient(bootstrapFlags.softServeIP, 22, []byte(bootstrapJobKeys.Private), log.Default())
+ var ss *soft.Client
+ err = backoff.Retry(func() error {
+ var err error
+ ss, err = soft.NewClient(bootstrapFlags.softServeIP, 22, []byte(bootstrapJobKeys.Private), log.Default())
+ return err
+ }, backoff.NewConstantBackOff(5*time.Second))
if err != nil {
return err
}
@@ -357,7 +362,12 @@
if err != nil {
return err
}
- values := map[string]interface{}{
+ values := map[string]any{
+ "image": map[string]any{
+ "repository": "giolekva/flux",
+ "tag": "2.0.0",
+ "pullPolicy": "IfNotPresent",
+ },
"repositoryAddress": repoAddr,
"repositoryHost": repoHost,
"repositoryHostPublicKey": repoHostPubKey,