...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package controller
16
17 import (
18 "context"
19 "log"
20
21 "github.com/GoogleCloudPlatform/k8s-config-connector/operator/pkg/k8s"
22
23 corev1 "k8s.io/api/core/v1"
24 "k8s.io/apimachinery/pkg/api/errors"
25 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
26 "sigs.k8s.io/controller-runtime/pkg/client"
27 )
28
29 func EnsureNamespaceExists(c client.Client, name string) {
30 ns := &corev1.Namespace{}
31 ns.SetName(name)
32 if err := c.Create(context.Background(), ns); err != nil {
33 if !errors.IsAlreadyExists(err) {
34 log.Fatalf("error creating namespace %v: %v", name, err)
35 }
36 }
37 }
38
39 func HasOperatorFinalizer(o metav1.Object) bool {
40 for _, f := range o.GetFinalizers() {
41 if f == k8s.OperatorFinalizer {
42 return true
43 }
44 }
45 return false
46 }
47
View as plain text