package k8s import ( "reflect" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "sigs.k8s.io/controller-runtime/pkg/client" ) // ConfigMap is a helper for creating corev1.ConfigMap resources func ConfigMap(k client.ObjectKey, data map[string]string) *corev1.ConfigMap { return &corev1.ConfigMap{ TypeMeta: metav1.TypeMeta{ Kind: reflect.TypeOf(corev1.ConfigMap{}).Name(), APIVersion: metav1.Unversioned.String(), }, ObjectMeta: metav1.ObjectMeta{ Name: k.Name, Namespace: k.Namespace, }, Data: data, } } func Secret(k client.ObjectKey, data map[string]string) *corev1.Secret { return &corev1.Secret{ TypeMeta: metav1.TypeMeta{ Kind: reflect.TypeOf(corev1.Secret{}).Name(), APIVersion: metav1.Unversioned.String(), }, ObjectMeta: metav1.ObjectMeta{ Name: k.Name, Namespace: k.Namespace, }, StringData: data, } } func Namespace(name string) *corev1.Namespace { return &corev1.Namespace{ TypeMeta: metav1.TypeMeta{ Kind: reflect.TypeOf(corev1.Namespace{}).Name(), APIVersion: metav1.Unversioned.String(), }, ObjectMeta: metav1.ObjectMeta{ Name: name, }, } }