felix: FeatureGate - to dis/enable features
Sometimes we want to be able to include code that may not be finished yet or 100% tested and we want to keep that code disabled in normal production environments but we want to have it enabled in tests or in specific user environments. Or we have a fix that breaks other things but works for a particular corner case usecase without troubles.
In such cases we want to have the flexibility to configure felix easily without introducing new config parameters that may disappear soon etc.
FeatureGate workis similar to FeatureDetectOverride which we previously overloaded for this functionality. However, FeatureDetectOverride is specifically used to overriding environment feature detection in cases where the automatic detection mechanism is not perfect and configures felix in a troublesome way.
Description
Related issues/PRs
Todos
- [ ] Tests
- [ ] Documentation
- [ ] Release note
Release Note
TBD
Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.
docs-pr-required: This change requires a change to the documentation that has not been completed yet.docs-completed: This change has all necessary documentation completed.docs-not-required: This change has no user-facing impact and requires no docs.
Every PR needs one release-note-* label.
release-note-required: This PR has user-facing changes. Most PRs should have this label.release-note-not-required: This PR has no user-facing changes.
Other optional labels:
cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.