open-feature / open-feature/flagd

[FEATURE] Scoped, Multi-project Support

Open
#1,671 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Needs Triage
Dominant language
Go
Stars
997
Forks
136
Avg merge
4d 8h
Merged PRs (30d)
11

Description

[FEATURE] Scoped, Multi-project Support

Background

Especially when deployed as a central service (as opposed to a sidecar) flagd might be used by multiple teams and workloads. These workloads often have completely unrelated sets of flags. It's desirable for these teams to be able to manage their sets of flags independently, and without concern for that of other teams. It's also desirable for these teams' workloads to only receive flags relevant to them. This presents two challenges with respect to flagd's current implementation:

  • The selector functionality can only select sources; if all flags are sourced from the same sync-source, there's no way for clients to only receive the set of flags of interest to them.
  • The schema and sources do not support multiple flags with the same key - this it's impractical for organizations' with want to use a single sync-source for delivery all their flags (ie: for multiple projects).

Proposed solutions are described in the below ADRs:

https://github.com/open-feature/flagd/blob/main/docs/architecture-decisions/duplicate-flag-keys.md

https://github.com/open-feature/flagd/blob/main/docs/architecture-decisions/decouple-flag-source-and-set.md

We need to implement these in the below issues:

Duplicate flag key support and flagSetId scoping

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 reading docs/architecture-decisions/duplicate-flag-keys.md and docs/architecture-decisions/decouple-flag-source-and-set.md. Then inspect the current selector, schema, and source behavior described in the issue. Done means supporting duplicate flag keys and flagSetId scoping so independent projects can manage and receive only their relevant flags.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
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.