open-feature / open-feature/spec

Multi Provider for OpenFeature

Open
#255 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

specification
Dominant language
Python
Stars
1.3k
Forks
58
Avg merge
2d 18h
Merged PRs (30d)
2

Description

Overview

A multi provider acts as a unified abstraction layer, allowing developers to consolidate feature flag access through a single API. With a multi provider, developers can simultaneously support multiple providers, making it easier to migrate between them.

Requirements

### Tasks
- [ ] Define a name for the provider
- [ ] Document supported scenarios
- [ ] Create a sequence diagram describing the data flow of each scenario
- [ ] Implement the provider in multiple languages
- [ ] Document the requirements in the OpenFeature spec

Resources

Ideas

  • Flag metadata could be used to understand what provider was used to resolve the flag value
  • Debug logging could be offloaded to an optional hook
  • Extend appendix-a to include a section on the meta provider
  • Leverage the evaluation details returned by the provider.
Pseudo code
OpenFeature.setProvider(
  new MetaProvider([
    new EnvVarProvider(),
    new DbProvider(),
    new NextGenProvider3000(),
  ])
)

Questions

  • Should the meta provider live in the SDK or the contribs repo?
  • Can the meta provider support provider hooks?
  • What strategies should be supported out of the box?
  • How should we handle provider events?

Prior art

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing appendix-a, the evaluation details section, and the prior-art pull requests in the issue. Clarify the provider name, supported scenarios, strategies, hooks, and event behavior before defining the sequence diagrams and implementation scope. Done means the requirements are documented in the OpenFeature spec and the provider is implemented in the required languages.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.