Load feature flags from new endpoint - #190
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds support for loading “enhanced” feature flags from the dedicated Azure App Configuration feature-flag endpoint, merges them with classic feature flags (with enhanced taking precedence), and propagates the new refresh/ETag tracking through the controller reconciliation flow.
Changes:
- Introduces an
AppConfigurationClientabstraction that wraps both key-value and feature-flag endpoint clients. - Adds enhanced feature-flag loading + ETag change detection, and merges enhanced/classic feature flags into the existing feature management output.
- Extends tracing/telemetry plumbing and controller refresh state to account for enhanced feature flags.
Reviewed changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| internal/loader/settings_client.go | Adds enhanced feature-flag settings + ETag-check clients using the dedicated feature-flag pager. |
| internal/loader/request_tracing.go | Adds correlation-context telemetry flag for enhanced feature flags. |
| internal/loader/mocks/mock_configuration_settings_retriever.go | Extends retriever mock with enhanced feature-flag change-check method. |
| internal/loader/feature_flag_converter.go | Converts enhanced endpoint schema into Microsoft feature management schema (snake_case). |
| internal/loader/feature_flag_converter_test.go | Adds unit tests for schema conversion and enhanced endpoint paging/ETag behavior. |
| internal/loader/configuration_setting_loader.go | Loads classic + enhanced feature flags, merges/deduplicates them, and tracks enhanced ETags. |
| internal/loader/configuration_client_manager.go | Switches client wrapper to use AppConfigurationClient and new constructors. |
| internal/loader/configuraiton_setting_loader_test.go | Updates tests/mocks to new client wrapper and additional enhanced calls. |
| internal/loader/app_configuration_client.go | New wrapper that creates/holds both azappconfig.Client and FeatureFlagClient. |
| internal/controller/suite_test.go | Stubs enhanced change check in controller test suite defaults. |
| internal/controller/processor.go | Adds refresh-state plumbing for enhanced feature flags during feature-flag refresh. |
| internal/controller/processor_test.go | Stubs enhanced change check in processor tests. |
| internal/controller/appconfigurationprovider_controller.go | Extends reconciliation state with enhanced feature-flag ETags. |
Files not reviewed (1)
- internal/loader/mocks/mock_configuration_settings_retriever.go: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Zhiyuan Liang (zhiyuanliang-ms)
approved these changes
Aug 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.