Skip to content

Commit

Permalink
add precision static vs dynamic
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Poignant <[email protected]>
  • Loading branch information
thomaspoignant committed Dec 18, 2024
1 parent 3b7b4cb commit d06ea52
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion website/src/pages/specification/20241027-flagsets.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ In both cases having a flag set could be beneficial, for **performance reasons**
- In the providers, we should be able to specify the flag set to evaluate directly in the constructor _(by providing an API Key, or the name of the flag set)_.
- Admin API Keys, should be able to evaluate all the flag sets _(to be able to see all the flags available in the project)_. If none specified in the request, the default flag set should be evaluated.


## Out of scope for now
- Dynamic flag sets based on the evaluation context _([as mentioned in this slack message](https://gophers.slack.com/archives/C029TH8KDFG/p1732703075509229))_.
- Single retrievers for multiple flag sets _(as proposed in https://github.com/thomaspoignant/go-feature-flag/issues/2314)_.
Expand Down Expand Up @@ -180,6 +179,10 @@ In this solution the flag set could be defined:
1. In the retriever configuration _(like in solution 2)_.
2. And in the flag configuration file with a specific format.

This 2 ways of defining a flag set can lead to 2 concepts:
- **static flag set**: the flag set is defined in the retriever configuration, we know in advance that this flag set exists.
- **dynamic flag set**: the flag set is defined in the flag configuration file, we don't know in advance which flag sets exist.

#### example: In the retriever configuration

The relay proxy configuration will look like this:
Expand Down Expand Up @@ -252,6 +255,7 @@ flagSets:
**CON**
- If we configure a flag set name both in the retriever and in the flag configuration file, we need to decide which one to use _(most likely the one in the file)._
- It is a bit more complex to implement than the other solutions.
- It will not be possible to attach a specific `notifier` or `exporter` to a dynamic flag set.

## Decision

Expand Down

0 comments on commit d06ea52

Please sign in to comment.