• Kubernetes Submit Queue's avatar
    Merge pull request #35220 from MrHohn/kubectl-apply-type · e4edd817
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue
    
    Implement --prune-whitelist(-w) flag to overwrite default whitelist for --prune
    
    From #34274.
    
    Updates:
    
    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.
    
    whitelist:
    
    ```
    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},
    }
    ```
    
    example:
    
    ```
    $ kubectl apply -f /path/to/file --prune -l test=true \
          -w core/v1/Pod \
          -w core/v1/Service \
          -w extensions/v1beta1/Deployment 
    ```
    
    @mikedanese
    e4edd817
Name
Last commit
Last update
..
boilerplate Loading commit data...
cmd/teststale Loading commit data...
e2e-internal Loading commit data...
gen-swagger-doc Loading commit data...
jenkins Loading commit data...
lib Loading commit data...
make-rules Loading commit data...
testdata Loading commit data...
verify-flags Loading commit data...
.linted_packages Loading commit data...
OWNERS Loading commit data...
autogenerated_placeholder.txt Loading commit data...
benchmark-go.sh Loading commit data...
benchmark-integration.sh Loading commit data...
build-cross.sh Loading commit data...
build-go.sh Loading commit data...
build-ui.sh Loading commit data...
cherry_pick_pull.sh Loading commit data...
dev-build-and-push.sh Loading commit data...
dev-build-and-up.sh Loading commit data...
dev-push-hyperkube.sh Loading commit data...
e2e-node-test.sh Loading commit data...
e2e.go Loading commit data...
federated-ginkgo-e2e.sh Loading commit data...
generate-docs.sh Loading commit data...
get-build.sh Loading commit data...
ginkgo-e2e.sh Loading commit data...
godep-save.sh Loading commit data...
grab-profiles.sh Loading commit data...
install-etcd.sh Loading commit data...
list-feature-tests.sh Loading commit data...
local-up-cluster.sh Loading commit data...
lookup_pull.py Loading commit data...
run-in-gopath.sh Loading commit data...
test-cmd.sh Loading commit data...
test-go.sh Loading commit data...
test-integration.sh Loading commit data...
test-update-storage-objects.sh Loading commit data...
update-all.sh Loading commit data...
update-api-reference-docs.sh Loading commit data...
update-bazel.sh Loading commit data...
update-bindata.sh Loading commit data...
update-codecgen.sh Loading commit data...
update-codegen.sh Loading commit data...
update-federation-api-reference-docs.sh Loading commit data...
update-federation-generated-swagger-docs.sh Loading commit data...
update-federation-openapi-spec.sh Loading commit data...
update-federation-swagger-spec.sh Loading commit data...
update-generated-docs.sh Loading commit data...
update-generated-protobuf-dockerized.sh Loading commit data...
update-generated-protobuf.sh Loading commit data...
update-generated-runtime-dockerized.sh Loading commit data...
update-generated-runtime.sh Loading commit data...
update-generated-swagger-docs.sh Loading commit data...
update-godep-licenses.sh Loading commit data...
update-gofmt.sh Loading commit data...
update-munge-docs.sh Loading commit data...
update-openapi-spec.sh Loading commit data...
update-staging-client-go.sh Loading commit data...
update-swagger-spec.sh Loading commit data...
update_owners.py Loading commit data...
verify-all.sh Loading commit data...
verify-api-reference-docs.sh Loading commit data...
verify-bazel.sh Loading commit data...
verify-boilerplate.sh Loading commit data...
verify-cli-conventions.sh Loading commit data...
verify-codecgen.sh Loading commit data...
verify-codegen.sh Loading commit data...
verify-description.sh Loading commit data...
verify-flags-underscore.py Loading commit data...
verify-generated-docs.sh Loading commit data...
verify-generated-protobuf.sh Loading commit data...
verify-generated-runtime.sh Loading commit data...
verify-generated-swagger-docs.sh Loading commit data...
verify-godep-licenses.sh Loading commit data...
verify-godeps.sh Loading commit data...
verify-gofmt.sh Loading commit data...
verify-golint.sh Loading commit data...
verify-govet.sh Loading commit data...
verify-import-boss.sh Loading commit data...
verify-linkcheck.sh Loading commit data...
verify-munge-docs.sh Loading commit data...
verify-openapi-spec.sh Loading commit data...
verify-staging-client-go.sh Loading commit data...
verify-swagger-spec.sh Loading commit data...
verify-symbols.sh Loading commit data...
verify-test-images.sh Loading commit data...
verify-test-owners.sh Loading commit data...