package transfer import ( "context" "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" "time" ) type CwK8sClient struct { K8sClient *kubernetes.Clientset InformerSharedfactory informers.SharedInformerFactory ctx context.Context } func NewCwK8sClient(ctx context.Context, client *kubernetes.Clientset) *CwK8sClient { sharedInformer := informers.NewSharedInformerFactory(client, 30*time.Second) sharedInformer.Core().V1().Pods().Informer() sharedInformer.Core().V1().Nodes().Informer() sharedInformer.Core().V1().Namespaces().Informer() sharedInformer.Apps().V1().StatefulSets().Informer() sharedInformer.Apps().V1().DaemonSets().Informer() sharedInformer.Apps().V1().Deployments().Informer() sharedInformer.Apps().V1().ReplicaSets().Informer() return &CwK8sClient{ K8sClient: client, ctx: ctx, InformerSharedfactory: sharedInformer, } }