Skip to content

Conversation

@zhiyuanliang-ms
Copy link
Member

@zhiyuanliang-ms zhiyuanliang-ms commented Sep 7, 2025

Why this PR?

Introduce a new API: loadFromAzureFrontDoor which takes the Azure Front Door endpoint as parameter. The configuration provider will load configuration settings from the Azure Front Door.

Behavior change

When loadFromAzureFrontDoor is used:

  1. replica discovery and load balancing features will be disabled.
  2. watch request (for refresh) will not be conditional request.
  3. authorization header will be removed from the request
  4. sync-token will not be attached to the request.
  5. Registering watched settings(sentinel key) for refresh is forbidden when connecting to Azure Front Door. With the consistency model of CDN, Sentinel key based refresh may not meet expectation of customers. Only allow collection monitoring based refresh for CDN scenario.

Refresh logic

  • Use "x-ms-date response header from AppConfig - this is the time when server generated the response

  • The provider will now track the page etags and the x-ms-date of each page response.

  • A refresh is triggered only when the refresh engine detects that the page’s ETag has changed and the accompanying x-ms-date is later than the previous server response time. Once a refresh occurs, the system simply reloads whatever content is currently available from the CDN. This means it may temporarily load outdated pages, but because the provider serving the outdated content will still show a detectable change during subsequent refresh checks, the system will eventually update all pages. The underlying philosophy is that a refresh should, at minimum, achieve what an application restart would. Therefore, our refresh mechanism effectively reloads all configuration settings.

@zhiyuanliang-ms zhiyuanliang-ms force-pushed the zhiyuanliang/afd-support branch from f081ea1 to 4480562 Compare October 14, 2025 09:08
@zhiyuanliang-ms zhiyuanliang-ms force-pushed the zhiyuanliang/afd-support branch from 0d167c6 to 564f16a Compare November 6, 2025 07:57
@zhiyuanliang-ms zhiyuanliang-ms merged commit 470a3f3 into preview Nov 10, 2025
4 checks passed
@zhiyuanliang-ms zhiyuanliang-ms deleted the zhiyuanliang/afd-support branch November 10, 2025 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants