github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/pkg/kubernetes/resources/namespace/adapt.go (about) 1 package namespace 2 3 import ( 4 "github.com/caos/orbos/pkg/kubernetes" 5 "github.com/caos/orbos/pkg/kubernetes/resources" 6 corev1 "k8s.io/api/core/v1" 7 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 8 ) 9 10 func AdaptFuncToEnsure(namespace string) (resources.QueryFunc, error) { 11 ns := &corev1.Namespace{ 12 ObjectMeta: metav1.ObjectMeta{ 13 Name: namespace, 14 }, 15 } 16 return func(_ kubernetes.ClientInt, _ map[string]interface{}) (resources.EnsureFunc, error) { 17 return func(k8sClient kubernetes.ClientInt) error { 18 return k8sClient.ApplyNamespace(ns) 19 }, nil 20 }, nil 21 } 22 23 func AdaptFuncToDestroy(namespace string) (resources.DestroyFunc, error) { 24 return func(client kubernetes.ClientInt) error { 25 return client.DeleteNamespace(namespace) 26 }, nil 27 }