The ADR proposes a different approach to solve the problems stated in
https://github.com/open-feature/flagd/pull/1634.
It's quite concise and simple at the point, assuming the reviewers
already have the context from the original discussions.
Will add more details after the initial feedback and inputs.
---------
Signed-off-by: Hugo Huang <lorqor@gmail.com>
Intent of this PR is to add the first draft of the multi-synch-sources
ADR, this is a docs-only change
---------
Signed-off-by: Dave Josephsen <dave.josephsen@gmail.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
The goal of this decision document is to establish flag sets as a first
class concept in `flagd`, and support the dynamic
addition/update/removal of flag sets at runtime.
See document for all justifications and background.
@dominikhaska @tangenti @cupofcat
Alternative proposal here:
https://github.com/open-feature/flagd/pull/1644#discussion_r2149723952
---------
Signed-off-by: Alexandra Oberaigner <alexandra.oberaigner@dynatrace.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Alexandra Oberaigner <alexandra.oberaigner@dynatrace.com>
Co-authored-by: Simon Schrottner <simon.schrottner@dynatrace.com>
This is proposal for support flags with duplicate keys, as a follow up
of the discussion on #1634 and #1644.
The selector semantics change proposed in #1644 will be addressed in a
separate ADR.
---------
Signed-off-by: Hugo Huang <lorqor@gmail.com>
Adds ADR for fractional.
_As written_ this is historical, however, we can modify this one in this
PR if you would like. I know @tangenti @dominikhaska @cupofcat are
interested in some changes here. Feel free to suggest them and if we
have a consensus we can turn the changes into roadmap items.
---------
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
Another "retrospective" ADR, like the cucumber one.
This explains our JSONLogic choice, shared `$evaluators`, as well as the
the semantics of flagd's use of OpenFeature's [resolution
reasons](https://openfeature.dev/specification/types#resolution-reason).
---------
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
## This PR
- updates the code default ADR to use `FLAG_NOT_FOUND` errors codes
instead of an undefined value.
### Notes
This update will have nearly identical end results but will be easier to
implement and more consistent. Core to this change is switching from
using an empty value as the indicator to using the `FLAG_NOT_FOUND`
error code. While this may seem odd at first, it's in line with the
behavior a user sees when first releasing a disabled flag. This will
allow users to `create a new disabled flag` -> `enable the flag for a
subset of users without impacting others` -> `enable the flag for
everyone` -> `deprecate the flag`.
---------
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
## This PR
- ADR to add support for explicitly deferring to the code default.
### Notes
This has been a challenge for users because enabling a feature for
targeting requires a default variant to be used, which may not match the
default used in code.
---------
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
Adds an ADR based on the new template, explaining the reasoning behind
the use of cucumber/gherkin.
---------
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: André Silva <2493377+askpt@users.noreply.github.com>