Skip to content

Commit

Permalink
Feature gate introduction
Browse files Browse the repository at this point in the history
Signed-off-by: Itamar Holder <[email protected]>
  • Loading branch information
iholder101 committed Jun 26, 2022
1 parent 6eec525 commit d1a88e4
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions docs/deprecation.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,20 @@ be a "live document" which updates and refines itself over time.
## Process

### Feature Gates
#### Introduction
A feature gate should be introduced for every new feature, capability, configuration or any other change that
is not yet stable and can jeopardize the cluster.

A feature gate serves as:
* A way to warn the user about a possible danger that could be caused by an unstable logic.
* A way for the users to explicitly state that they would like to take the risk and enable the feature.
* A way for the user to explicitly confirm that some feature / HW is available on the cluster.

Over time the new features would stabilize and graduate their API versions (i.e. from alpha, to beta to stable). When
that happens, and therefore the risk of jeopardizing the user decreases significantly, the feature should be enabled
by default and the feature gate should be deprecated (see section below).

#### Deprecation
A feature gate should be deprecated for one of the following reasons:
* When a feature stabilizes and there is no need to guard it by a feature gate.
* When a feature (that's guarded with a feature gate) did not show as useful, therefore is deprecated.
Expand Down

0 comments on commit d1a88e4

Please sign in to comment.