in pkg/fsnotify/fsnotify.go [85:116]
func (fs *fsWatchProvider) SyncSecrets() (bool, error) {
fs.Lock()
defer fs.Unlock()
existingState, err := fs.secretPersistence.Load()
if err != nil {
klog.Errorf("failed to load Kubernetes secret due to %v", err)
return false, nil
}
newState, err := fs.fsPersistence.Load()
if err != nil {
klog.Errorf("failed to load agent's local file due to %v", err)
return false, nil
}
if existingState[state.FileRegistrationKey] == newState[state.FileRegistrationKey] {
// if K8s secrets and file content are same then don't perform any operation
klog.Infof("Skip updating k8s secrets since key-pair did not change.")
return true, nil
}
mergeState(existingState, newState)
if err = fs.secretPersistence.Save(newState); err != nil {
klog.Errorf("failed to save secret due to %v", err)
return false, nil
}
klog.Infof("Updated kubernetes secrets with new key-pair")
return true, nil
}