docs: add specification for in-process flagd provider implementations#848
Conversation
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
✅ Deploy Preview for polite-licorice-3db33c canceled.
|
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
docs/other_resources/in-process-providers/evaluators/fractional_evaluation.md
Outdated
Show resolved
Hide resolved
|
Thanks @bacherfl, I'll review this first thing tomorrow! |
|
Overal looks really good 🙌 One suggestion, IMO it is good to add a section explaining what in-memory flagd provider is and why it is useful. For example - flagd by default is a remote deployment (sidecar injection) where as the in-memory provider is designed to be embedded into the application. And given the embedded nature, the evaluations do not require communication outside of the process, which is desired by some architectures. |
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
…l_evaluation.md Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Co-authored-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Co-authored-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
good suggestion, will add that to the document :) |
… and flagd Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
docs/other_resources/in-process-providers/evaluators/fractional_evaluation.md
Outdated
Show resolved
Hide resolved
docs/other_resources/in-process-providers/evaluators/semver_evaluation.md
Outdated
Show resolved
Hide resolved
docs/other_resources/in-process-providers/evaluators/semver_evaluation.md
Show resolved
Hide resolved
docs/other_resources/in-process-providers/evaluators/string_comparison_evaluation.md
Show resolved
Hide resolved
…aluation.md Co-authored-by: Todd Baert <todd.baert@dynatrace.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
…mparison_evaluation.md Co-authored-by: Todd Baert <todd.baert@dynatrace.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
docs/other_resources/in-process-providers/evaluators/fractional_evaluation.md
Outdated
Show resolved
Hide resolved
toddbaert
left a comment
There was a problem hiding this comment.
Approved pending #848 (comment)
docs/other_resources/in-process-providers/evaluators/fractional_evaluation.md
Outdated
Show resolved
Hide resolved
…l_evaluation.md Co-authored-by: Todd Baert <todd.baert@dynatrace.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Co-authored-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com> Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->
## This PR
<!-- add the description of the PR here -->
This PR adds the ability to use nested properties for the bucket key in
fractional evaluation. It is a breaking change from the current
behaviour. If the bucket key is not provided it will default to `{"cat":
[{"var":"$flagd.flagKey"}, {"var":"targetingKey"}]}`.
@toddbaert I am not sure that my approach to the missing bucket key is
the best. I would have preferred to add `{"cat":
[{"var":"$flagd.flagKey"}, {"var":"targetingKey"}]}` to the targeting
object and let JsonLogic handle it, but it would be a bit clumsy and
involve string manipulation. I don't think there is a nice way to do it,
but I'll play around a bit more.
### Related Issues
<!-- add here the GitHub issue that this PR resolves if applicable -->
See #848.
Closes #843.
### Notes
<!-- any additional notes for this PR -->
### Follow-up Tasks
<!-- anything that is related to this PR but not done here should be
noted under this section -->
<!-- if there is a need for a new issue, please link it here -->
### How to test
<!-- if applicable, add testing instructions under this section -->
---------
Signed-off-by: Craig Pastro <pastro.craig@gmail.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
Closes #842
This PR adds the specification for in-process flagd providers. For now I have added this to the
other_ressourcessection of the docs, but please let me know if another directory would be more fitting for this document