ApplySet : kubectl apply --prune
redesign and graduation strategy #3659
Open
Description
Enhancement Description
- One-line enhancement description (can be used as a release note): This KEP proposes a safer and more performant implementation for
kubectl apply
's pruning feature, which enables cleanup of previously applied objects that have been removed from desired state provided to the currentapply
. - Kubernetes Enhancement Proposal: https://github.com/kubernetes/enhancements/tree/master/keps/sig-cli/3659-kubectl-apply-prune
- Discussion Link: The SIG CLI maintainer track talk at Kubecon NA 2021 included a segment on the problem. Most recently, this was discussed in a Contributor Summit unconference session at Kubecon NA 2022 as well as async in this background doc, which was also raised in this SIG CLI meeting. In these recent conversations, there has been consensus that we need to finally do something to move this perma-alpha forward for 1.27; hence the creation of this KEP.
- Primary contact (assignee): @KnVerey
- Responsible SIGs: CLI
- Enhancement target (which target equals to which milestone):
- Alpha release target (x.y): 1.27
- Beta release target (x.y): TBD
- Stable release target (x.y): TBD
- Alpha
- KEP (
k/enhancements
) update PR(s): - Code (
k/k
) update PR(s):- Introduce CLI for ApplySet-based pruning kubernetes#115979
- prunev2: Basic pruning logic kubernetes#116205
- ApplySet: allow custom resources to be parent objects kubernetes#116353
- Applyset dry run tests + ID value kubernetes#116265
- Create and update the ApplySet parent object kubernetes#116243
- kubectl diff: refactor tracker into a separate type kubernetes#116579
- kubectl prunev2: simple e2e/integration test kubernetes#116599
- kubectl prunev2: Refactor the applyset to be more reusable kubernetes#116580
- kubectl prunev2: issue discovery requests in parallel kubernetes#116584
- Docs (
k/website
) update PR(s):
- KEP (
Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
/sig cli
Metadata
Labels
Type
Projects
Status
Tracked
Status
In Progress