Skip to content

Commit 19f26a8

Browse files
authored
(fix) exit gracefully if bootstrap secrets exist (#1091)
1 parent da10b08 commit 19f26a8

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

cmd/gen_secrets.go

+17-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import (
66
"github.com/spf13/cobra"
77
"github.com/spf13/pflag"
88
"github.com/spf13/viper"
9+
corev1 "k8s.io/api/core/v1"
10+
apierrors "k8s.io/apimachinery/pkg/api/errors"
911
runtime_ctrl "sigs.k8s.io/controller-runtime"
1012
"sigs.k8s.io/controller-runtime/pkg/client"
1113

@@ -82,10 +84,24 @@ func (s *genSecretsCmd) exec(*cobra.Command, []string) error {
8284
return fmt.Errorf("client: %w", err)
8385
}
8486

87+
// Check if secret already exists
88+
existing := &corev1.Secret{}
89+
err = c.Get(ctx, *name, existing)
90+
if err == nil {
91+
// Secret already exists, exit gracefully
92+
return nil
93+
}
94+
if !apierrors.IsNotFound(err) {
95+
return fmt.Errorf("check existing secret: %w", err)
96+
}
97+
8598
secret, err := util.NewBootstrapSecrets(*name)
8699
if err != nil {
87100
return fmt.Errorf("generate secrets: %w", err)
88101
}
89102

90-
return c.Create(ctx, secret)
103+
if err := c.Create(ctx, secret); err != nil {
104+
return fmt.Errorf("create secret: %w", err)
105+
}
106+
return nil
91107
}

0 commit comments

Comments
 (0)