func()

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
	}
}