• 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
..
cmd Loading commit data...
metricsutil Loading commit data...
resource Loading commit data...
testing Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
apply.go Loading commit data...
autoscale.go Loading commit data...
bash_comp_utils.go Loading commit data...
cluster.go Loading commit data...
cluster_test.go Loading commit data...
configmap.go Loading commit data...
configmap_test.go Loading commit data...
custom_column_printer.go Loading commit data...
custom_column_printer_test.go Loading commit data...
deployment.go Loading commit data...
deployment_test.go Loading commit data...
describe.go Loading commit data...
describe_test.go Loading commit data...
doc.go Loading commit data...
explain.go Loading commit data...
generate.go Loading commit data...
generate_test.go Loading commit data...
history.go Loading commit data...
interfaces.go Loading commit data...
kubectl.go Loading commit data...
kubectl_test.go Loading commit data...
namespace.go Loading commit data...
namespace_test.go Loading commit data...
proxy_server.go Loading commit data...
proxy_server_test.go Loading commit data...
quota.go Loading commit data...
quota_test.go Loading commit data...
resource_filter.go Loading commit data...
resource_printer.go Loading commit data...
resource_printer_test.go Loading commit data...
rollback.go Loading commit data...
rolling_updater.go Loading commit data...
rolling_updater_test.go Loading commit data...
rollout_status.go Loading commit data...
rollout_status_test.go Loading commit data...
run.go Loading commit data...
run_test.go Loading commit data...
scale.go Loading commit data...
scale_test.go Loading commit data...
secret.go Loading commit data...
secret_for_docker_registry.go Loading commit data...
secret_for_docker_registry_test.go Loading commit data...
secret_for_tls.go Loading commit data...
secret_for_tls_test.go Loading commit data...
secret_test.go Loading commit data...
service.go Loading commit data...
service_basic.go Loading commit data...
service_basic_test.go Loading commit data...
service_test.go Loading commit data...
serviceaccount.go Loading commit data...
serviceaccount_test.go Loading commit data...
sorted_resource_name_list.go Loading commit data...
sorted_resource_name_list_test.go Loading commit data...
sorting_printer.go Loading commit data...
sorting_printer_test.go Loading commit data...
stop.go Loading commit data...
stop_test.go Loading commit data...
version.go Loading commit data...