INNER CODE UNIT · Go
continuouslySyncConfigChanges
NVIDIA/k8s-device-plugin · cmd/config-manager/main.go:258
func continuouslySyncConfigChanges(clientset *kubernetes.Clientset, config *SyncableConfig, f *Flags) chan struct{} {
listWatch := cache.NewListWatchFromClient(
clientset.CoreV1().RESTClient(),
ResourceNodes,
v1.NamespaceAll,
fields.OneTermEqualSelector("metadata.name", f.NodeName),
)
_, controller := cache.NewInformerWithOptions(
cache.InformerOptions{
ListerWatcher: listWatch,
ObjectType: &v1.Node{},
Handler: cache.ResourceEventHandlerFuncs{
AddFunc: func(obj any) {
config.Set(obj.(*v1.Node).Labels[f.NodeLabel])
},
UpdateFunc: func(oldObj, newObj any) {
oldLabel := oldObj.(*v1.Node).Labels[f.NodeLabel]