From 21393f1b1d859cecdcc9aeee01f7dbf9aab71120 Mon Sep 17 00:00:00 2001 From: Sean Sullivan Date: Tue, 25 Oct 2022 21:59:31 +0000 Subject: [PATCH] Fixes prune for server-side applied objects --- staging/src/k8s.io/kubectl/pkg/cmd/apply/apply.go | 5 +++++ staging/src/k8s.io/kubectl/pkg/cmd/apply/apply_test.go | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/apply/apply.go b/staging/src/k8s.io/kubectl/pkg/cmd/apply/apply.go index ac42ef7da48..dd0c0d8e7a0 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/apply/apply.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/apply/apply.go @@ -384,6 +384,11 @@ func (o *ApplyOptions) Validate() error { return fmt.Errorf("--force cannot be used with --prune") } + // Currently do not support pruning objects which are server-side applied. + if o.Prune && o.ServerSideApply { + return fmt.Errorf("--prune is in alpha and doesn't currently work on objects created by server-side apply") + } + return nil } diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/apply/apply_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/apply/apply_test.go index 1ffcbf965ef..88a04afbf4c 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/apply/apply_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/apply/apply_test.go @@ -147,6 +147,14 @@ func TestApplyFlagValidation(t *testing.T) { }, expectedErr: "--force cannot be used with --prune", }, + { + args: [][]string{ + {"server-side", "true"}, + {"prune", "true"}, + {"all", "true"}, + }, + expectedErr: "--prune is in alpha and doesn't currently work on objects created by server-side apply", + }, } for _, test := range tests {