@@ -7,15 +7,18 @@ import (
77 "github.com/k0sproject/k0s/pkg/apis/k0s/v1beta1"
88 "github.com/replicatedhq/troubleshoot/pkg/apis/troubleshoot/v1beta2"
99 "gopkg.in/yaml.v2"
10+ corev1 "k8s.io/api/core/v1"
11+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1012 "sigs.k8s.io/controller-runtime/pkg/client"
1113
1214 "github.com/replicatedhq/embedded-cluster/pkg/kubeutils"
1315 "github.com/replicatedhq/embedded-cluster/pkg/spinner"
1416)
1517
1618const (
17- releaseName = "velero"
18- namespace = "velero"
19+ releaseName = "velero"
20+ namespace = "velero"
21+ credentialsSecretName = "cloud-credentials"
1922)
2023
2124// Overwritten by -ldflags in Makefile
@@ -51,6 +54,9 @@ var helmValues = map[string]interface{}{
5154 },
5255 },
5356 },
57+ "credentials" : map [string ]interface {}{
58+ "existingSecret" : credentialsSecretName ,
59+ },
5460}
5561
5662// Velero manages the installation of the Velero helm chart.
@@ -121,6 +127,27 @@ func (o *Velero) Outro(ctx context.Context, cli client.Client) error {
121127 loading := spinner .Start ()
122128 loading .Infof ("Waiting for Velero to be ready" )
123129
130+ if err := kubeutils .WaitForNamespace (ctx , cli , namespace ); err != nil {
131+ loading .Close ()
132+ return err
133+ }
134+
135+ credentialsSecret := corev1.Secret {
136+ TypeMeta : metav1.TypeMeta {
137+ Kind : "Secret" ,
138+ APIVersion : "v1" ,
139+ },
140+ ObjectMeta : metav1.ObjectMeta {
141+ Name : credentialsSecretName ,
142+ Namespace : namespace ,
143+ },
144+ Type : "Opaque" ,
145+ }
146+ if err := cli .Create (ctx , & credentialsSecret ); err != nil {
147+ loading .Close ()
148+ return fmt .Errorf ("unable to create %s secret: %w" , credentialsSecretName , err )
149+ }
150+
124151 if err := kubeutils .WaitForDeployment (ctx , cli , namespace , "velero" ); err != nil {
125152 loading .Close ()
126153 return fmt .Errorf ("timed out waiting for Velero to deploy: %v" , err )
0 commit comments