github.com/olli-ai/jx/v2@v2.0.400-0.20210921045218-14731b4dd448/pkg/cmd/step/verify/common.go (about) 1 package verify 2 3 import ( 4 "github.com/jenkins-x/jx-logging/pkg/log" 5 "github.com/olli-ai/jx/v2/pkg/kube" 6 "github.com/olli-ai/jx/v2/pkg/util" 7 "github.com/pkg/errors" 8 corev1 "k8s.io/api/core/v1" 9 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 10 ) 11 12 func (o *StepVerifyOptions) validateKaniko(ns string) error { 13 kubeClient, _, err := o.KubeClientAndDevNamespace() 14 if err != nil { 15 return err 16 } 17 return kube.ValidateSecret(kubeClient, kube.SecretKaniko, kube.SecretKaniko, ns) 18 } 19 20 func (o *StepVerifyOptions) validateVelero(ns string) error { 21 kubeClient, _, err := o.KubeClientAndDevNamespace() 22 if err != nil { 23 return err 24 } 25 return kube.ValidateSecret(kubeClient, kube.SecretVelero, "cloud", ns) 26 } 27 28 func (o *StepVerifyOptions) createSecret(ns string, name, key, data string) error { 29 kubeClient, _, err := o.KubeClientAndDevNamespace() 30 if err != nil { 31 return err 32 } 33 34 err = kube.EnsureNamespaceCreated(kubeClient, ns, map[string]string{ 35 kube.LabelCreatedBy: "jx-boot", 36 }, nil) 37 if err != nil { 38 return err 39 } 40 41 secret := &corev1.Secret{ 42 ObjectMeta: metav1.ObjectMeta{ 43 Name: name, 44 }, 45 Type: corev1.SecretTypeOpaque, 46 Data: map[string][]byte{ 47 key: []byte(data), 48 }, 49 } 50 51 _, err = kubeClient.CoreV1().Secrets(ns).Create(secret) 52 if err != nil { 53 return errors.Wrapf(err, "could not create the Secret %s in the namespace: %s", name, ns) 54 } 55 log.Logger().Infof("created Secret: %s in namespace: %s\n", util.ColorInfo(name), util.ColorInfo(ns)) 56 return nil 57 58 }