Skip to content

feat(ffe): add configuration resolution and agentless endpoints - #4195

Draft
pavlokhrebto wants to merge 1 commit into
masterfrom
pavlo.khrebto/FFL-2705/settings-and-endpoint
Draft

pavlokhrebto wants to merge 1 commit into
masterfrom
pavlo.khrebto/FFL-2705/settings-and-endpoint

Conversation

@pavlokhrebto

@pavlokhrebto pavlokhrebto commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Description

This is the first change in the stacked implementation of agentless Feature Flag Evaluation delivery.

It:

  • registers the stable Feature Flags configuration surface, DD_SITE, and the initialization timeout
  • retains and marks DD_EXPERIMENTAL_FLAGGING_PROVIDER_ENABLED as deprecated
  • implements the cross-SDK source precedence rules, including explicit-value tracking and fail-closed handling for invalid sources
  • adds a typed settings snapshot with validated polling, request, and initialization timeouts
  • derives managed and custom agentless endpoints while preserving custom non-root URLs
  • prevents custom endpoints from carrying the Datadog API key and redacts potentially credential-bearing URLs
  • adds unit coverage for precedence, fallback validation, endpoint construction, hostile sites, and credential redaction

Scope of this PR

This PR adds configuration and endpoint foundations only. It does not start polling, wire source selection into tracer startup, or change evaluation behavior yet. Those pieces follow in subsequent PRs in the stack, so this PR should not be merged independently from the completed stack.

The currently supported OpenFeature PHP SDK does not expose provider initialization, shutdown, status, or event APIs. This does not affect this foundational PR, but later integration will use the documented first-evaluation compatibility path until upstream lifecycle support exists.

Validation

  • cargo fmt --package datadog-php -- --check
  • ./tooling/generate-supported-configurations.sh
  • git diff --check
  • cargo check --locked --lib
  • cargo clippy --locked --lib -- -D warnings
  • cargo test --locked --lib ffe::settings
  • make -j8

Reviewer checklist

  • Test coverage seems ok.
  • Appropriate labels assigned.

Relates to FFL-2705.

@datadog-prod-us1-4

datadog-prod-us1-4 Bot commented Sep 15, 2026

Copy link
Copy Markdown

Pipelines  Tests

Unblock PR with BitsAI

⚠️ Warnings

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 234 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-php | Extension Tea Tests: [7.0, debug-zts] — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/apm-reliability/dd-trace-php | Extension Tea Tests: [7.0, debug] — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/apm-reliability/dd-trace-php | Extension Tea Tests: [7.0, nts] — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

View all 234 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 55.75% (-10.99%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: f1a45f8 | Docs | View more details | Give us feedback!

@pavlokhrebto pavlokhrebto changed the title feat(ffe): add settings and agentless endpoint resolution feat(ffe): add configuration resolution and agentless endpoints Sep 15, 2026
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.

1 participant