in internal/controller/processor.go [309:358]
func (processor *AppConfigurationProviderProcessor) Finish() (ctrl.Result, error) {
processor.ReconciliationState.Generation = processor.Provider.Generation
processor.ReconciliationState.Annotations = processor.Provider.Annotations
if processor.RefreshOptions.SecretSettingPopulated {
processor.ReconciliationState.ExistingK8sSecrets = processor.Settings.K8sSecrets
}
if processor.RefreshOptions.updatedKeyValueETags != nil {
processor.ReconciliationState.KeyValueETags = processor.RefreshOptions.updatedKeyValueETags
}
if processor.RefreshOptions.updatedFeatureFlagETags != nil {
processor.ReconciliationState.FeatureFlagETags = processor.RefreshOptions.updatedFeatureFlagETags
}
if processor.ShouldReconcile {
processor.ReconciliationState.SentinelETags = processor.RefreshOptions.updatedSentinelETags
}
if !processor.RefreshOptions.secretReferenceRefreshEnabled &&
!processor.RefreshOptions.keyValueRefreshEnabled &&
!processor.RefreshOptions.featureFlagRefreshEnabled {
// Do nothing, just complete the reconcile
klog.V(1).Infof("Complete reconcile AzureAppConfigurationProvider %q in %q namespace", processor.Provider.Name, processor.Provider.Namespace)
return reconcile.Result{}, nil
} else {
// Update the sentinel ETags and last sentinel refresh time
if processor.RefreshOptions.sentinelChanged {
processor.ReconciliationState.SentinelETags = processor.RefreshOptions.updatedSentinelETags
processor.Provider.Status.RefreshStatus.LastKeyValueRefreshTime = processor.CurrentTime
}
if processor.RefreshOptions.keyValuePageETagsChanged {
processor.Provider.Status.RefreshStatus.LastKeyValueRefreshTime = processor.CurrentTime
}
// Update provider last key vault refresh time
if processor.RefreshOptions.secretReferenceRefreshNeeded {
processor.Provider.Status.RefreshStatus.LastKeyVaultReferenceRefreshTime = processor.CurrentTime
}
// Update provider last feature flag refresh time
if processor.RefreshOptions.featureFlagRefreshNeeded {
processor.Provider.Status.RefreshStatus.LastFeatureFlagRefreshTime = processor.CurrentTime
}
// At least one dynamic feature is enabled, requeueAfterInterval need be recalculated
requeueAfterInterval := processor.calculateRequeueAfterInterval()
klog.V(3).Infof("Revisit AzureAppConfigurationProvider %q in %q namespace after %s",
processor.Provider.Name, processor.Provider.Namespace, requeueAfterInterval.String())
return reconcile.Result{Requeue: true, RequeueAfter: requeueAfterInterval}, nil
}
}