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

Already on GitHub? Sign in to your account

Take kubectl apply out of Alpha and into Beta #34274

mikedanese opened this Issue Oct 6, 2016 · 9 comments



mikedanese commented Oct 6, 2016 edited

  • Fully document behavior
  • Prune all restmappings, not just those provided

cc @pwittrock


MrHohn commented Oct 19, 2016 edited

Sorry to bother, I want to know what is the plan for "Prune all restmappings"? I think addon-manager will need this feature (at least need to also prune given additional restmappings?).


mikedanese commented Oct 19, 2016

I have not started working on it. I can take a look or you can if you want.

@mikedanese mikedanese self-assigned this Oct 19, 2016


MrHohn commented Oct 19, 2016

Sure, I can take a look at this if it is not complicated.

I wanna follow the plan you proposed before: add a --type flag to modified the visitedRESTMappings

k8s-merge-robot added a commit that referenced this issue Nov 4, 2016

Merge pull request #35220 from MrHohn/kubectl-apply-type
Automatic merge from submit-queue

Implement --prune-whitelist(-w) flag to overwrite default whitelist for --prune

From #34274.


As suggested, the new commits implement a default whitelist for `kubectl apply --prune`, which could be overwritten by using `--prune-whitelist`or `-w` flag. The default whitelist and example as below.

Also supports `--dry-run` for `--prune` to fix #35222.


type pruneResource struct {
    group      string
    version    string
    kind       string
    namespaced bool

*pruneResources = []pruneResource{
    {"", "v1", "ConfigMap", true},
    {"", "v1", "Endpoints", true},
    {"", "v1", "Namespace", false},
    {"", "v1", "PersistentVolumeClaim", true},
    {"", "v1", "PersistentVolume", false},
    {"", "v1", "Pod", true},
    {"", "v1", "ReplicationController", true},
    {"", "v1", "Secret", true},
    {"", "v1", "Service", true},
    {"batch", "v1", "Job", true},
    {"extensions", "v1beta1", "DaemonSet", true},
    {"extensions", "v1beta1", "Deployment", true},
    {"extensions", "v1beta1", "HorizontalPodAutoscaler", true},
    {"extensions", "v1beta1", "Ingress", true},
    {"extensions", "v1beta1", "ReplicaSet", true},
    {"apps", "v1beta1", "StatefulSet", true},


$ kubectl apply -f /path/to/file --prune -l test=true \
      -w core/v1/Pod \
      -w core/v1/Service \
      -w extensions/v1beta1/Deployment 


bgrant0607 commented Nov 17, 2016

cc @ymqytw @pwittrock


pwittrock commented Nov 17, 2016

@MrHohn Can we close this issue?


MrHohn commented Nov 17, 2016

@pwittrock Sure. --prune is not well documented yet, but I think #35234 is also tracking this.

@pwittrock pwittrock referenced this issue Nov 17, 2016


kubectl apply umbrella issue tracker #35234

15 of 32 tasks complete

MrHohn commented Nov 23, 2016

Actually I think we might want to keep this issue open. There is an Alpha Disclaimer comment in the code, which has a pointer to this issue.
Plus this --prune feature indeed needs to be refined, see comments here and here.

Could we update the contents on top and keep it open?

@pwittrock @mikedanese

@pwittrock pwittrock changed the title from Polish outstanding issues with kubeclt apply --prune to Take kubectl apply out of Alpha and into Beta Nov 23, 2016


pwittrock commented Nov 23, 2016



xiangpengzhao commented Jun 24, 2017

/sig cli

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment