kaniko-job-test/testJob.go
2023-08-26 17:24:47 +08:00

36 lines
910 B
Go

package main
import (
"context"
"fmt"
"log"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/kubernetes"
)
type WatchEvent struct {
Type string `json:"type" protobuf:"bytes,1,opt,name=type"`
// Object is:
// * If Type is Added or Modified: the new state of the object.
// * If Type is Deleted: the state of the object immediately before deletion.
// * If Type is Error: *Status is recommended; other types may make sense
// depending on context.
Object runtime.RawExtension `json:"object" protobuf:"bytes,2,opt,name=object"`
}
func watchEvents(clientset *kubernetes.Clientset, namespace string) chan WatchEvent {
for {
watch, err := clientset.BatchV1().Jobs(namespace).Watch(context.TODO(), metav1.ListOptions{})
if err != nil {
log.Fatal(err)
}
watch.ResultChan()
fmt.Println("ResultChan closed, restarting watch")
}
}