Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Gates #849

Open
erictune opened this issue Jul 9, 2019 · 3 comments
Open

Feature Gates #849

erictune opened this issue Jul 9, 2019 · 3 comments
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/backlog Higher priority than priority/awaiting-more-evidence.
Milestone

Comments

@erictune
Copy link

erictune commented Jul 9, 2019

Core Kubernetes types have Feature Gates.
They are documented here: https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/

This is a good practice for anyone, whether they are building a CRD as part of the K8s org, or their own API.

Sadly, CRDs don't have feature gate support built into them.

KubeBuilder could close this gap. It could provide a feature-gate feature.
It might work like this:

  • Developer tags a field in an API as belonging to a feature gate, like `// +feature-gate the-new-hotness
  • KB (or controller-runtime or controller-tools) makes your controller binary have a --feature-gates flag.
  • all "gate names" mentioned in tags are added as valid comma-separated arguments to --feature-gates flag.
  • When installing the CRD, controller-tools will blank out disabled parts of the schema. This causes pruning to prune them.
  • Generated documentation lists the supported feature gate strings.

/kind feature

@erictune erictune added the kind/feature Categorizes issue or PR as related to a new feature. label Jul 9, 2019
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@DirectXMan12
Copy link
Contributor

/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added the lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. label Oct 11, 2019
@camilamacedo86 camilamacedo86 added this to the next milestone Nov 17, 2020
@camilamacedo86 camilamacedo86 added help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. and removed help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. labels Sep 11, 2022
@camilamacedo86 camilamacedo86 self-assigned this Feb 11, 2023
@camilamacedo86 camilamacedo86 added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Feb 19, 2023
@camilamacedo86 camilamacedo86 removed their assignment Feb 19, 2023
@camilamacedo86
Copy link
Member

It is related to: kubernetes-sigs/controller-tools#600
Also, if you would like to understand more about the use cases see: https://www.youtube.com/watch?v=AJa2B-twtG4

@camilamacedo86 camilamacedo86 added the priority/backlog Higher priority than priority/awaiting-more-evidence. label Dec 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/backlog Higher priority than priority/awaiting-more-evidence.
Projects
None yet
Development

No branches or pull requests

5 participants