-
Notifications
You must be signed in to change notification settings - Fork 0
/
statefulset.go
33 lines (30 loc) · 943 Bytes
/
statefulset.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
package kubeclient
import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
func (c *Clients) CreateStatefulSet(sfs *appsv1.StatefulSet) *appsv1.StatefulSet {
if sfs.Namespace == "" {
sfs.Namespace = corev1.NamespaceDefault
}
sfsClient := c.KubeClient.AppsV1().StatefulSets(sfs.Namespace)
newSfs, err := sfsClient.Create(sfs)
if err != nil {
logger.Errorf(err.Error())
}
logger.Infof("Created deployment %q \n", newSfs.GetObjectMeta().GetName())
return newSfs
}
func (c *Clients) DeleteStatefulSet(sfs *appsv1.StatefulSet, ops *metav1.DeleteOptions) error {
if sfs.Namespace == "" {
sfs.Namespace = corev1.NamespaceDefault
}
sfsClient := c.KubeClient.AppsV1().StatefulSets(sfs.Namespace)
err := sfsClient.Delete(sfs.Name, ops)
if err != nil {
logger.Errorf(err.Error())
}
logger.Infof("Created deployment %q \n", sfs.GetObjectMeta().GetName())
return err
}