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