Skip to content

Guard eager OpenFeature init and add detailed /ffe/evaluate for Go agentless configuration contract - #7580

Draft
pavlokhrebto wants to merge 1 commit into
mainfrom
pavlo.khrebto/FFL-2695/go-agentless-configuration
Draft

Guard eager OpenFeature init and add detailed /ffe/evaluate for Go agentless configuration contract#7580
pavlokhrebto wants to merge 1 commit into
mainfrom
pavlo.khrebto/FFL-2695/go-agentless-configuration

Conversation

@pavlokhrebto

@pavlokhrebto pavlokhrebto commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Motivation

FFL-2695 tracks the Go agentless configuration-source implementation in dd-trace-go. Until that lands, the parametric app's /ffe/start and /ffe/evaluate contract must match the one already implemented for Python (#7411), so tests/parametric/test_ffe/test_configuration_sources.py can run against a dev build of dd-trace-go and fail for the right reason.

Changes

  • main.go: skip eager OpenFeature provider init when any DD_FEATURE_FLAGS_* config env var is set. Leave setup to /ffe/start.
  • ffe.go: /ffe/start builds and sets the provider once, guarded by sync.Once. It returns 500 with an error body on failure. /ffe/evaluate uses the *ValueDetails APIs per variationType. It returns {value, reason, errorCode}. On error it falls back to {value: default, reason: "ERROR"}.

Workflow

  1. ⚠️ Create your PR as draft ⚠️
  2. Work on you PR until the CI passes
  3. Mark it as ready for review
    • Test logic is modified? -> Get a review from RFC owner.
    • Framework is modified, or non obvious usage of it -> get a review from R&P team

🚀 Once your PR is reviewed and the CI green, you can merge it!

🛟 #apm-shared-testing 🛟

Reviewer checklist

  • Anything but tests/ or manifests/ is modified ? I have the approval from R&P team
  • A docker base image is modified?
    • the relevant build-XXX-image label is present
  • A scenario is added, removed or renamed?

@github-actions

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

utils/build/docker/golang/parametric/ffe.go                             @DataDog/system-tests-reviewers
utils/build/docker/golang/parametric/main.go                            @DataDog/system-tests-reviewers

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