Skip to content

Commit 4710ce0

Browse files
author
firgavin
committed
Add flag to skip checking resource when fully deleting app
1 parent e7d9e9f commit 4710ce0

File tree

5 files changed

+26
-5
lines changed

5 files changed

+26
-5
lines changed

pkg/kapp/app/interfaces.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ type App interface {
2424

2525
CreateOrUpdate(map[string]string, bool) error
2626
Exists() (bool, string, error)
27-
Delete() error
27+
Delete(bool) error
2828
Rename(string, string) error
2929
RenamePrevApp(string, map[string]string, bool) error
3030

pkg/kapp/app/labeled_app.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,16 @@ func (a *LabeledApp) UpdateUsedGVsAndGKs([]schema.GroupVersion, []schema.GroupKi
4747
func (a *LabeledApp) CreateOrUpdate(labels map[string]string, isDiffRun bool) error { return nil }
4848
func (a *LabeledApp) Exists() (bool, string, error) { return true, "", nil }
4949

50-
func (a *LabeledApp) Delete() error {
50+
func (a *LabeledApp) Delete(checkResourcesDeleted bool) error {
5151
labelSelector, err := a.LabelSelector()
5252
if err != nil {
5353
return err
5454
}
5555

56+
if !checkResourcesDeleted {
57+
return nil
58+
}
59+
5660
rs, err := a.identifiedResources.List(labelSelector, nil, ctlres.IdentifiedResourcesListOpts{IgnoreCachedResTypes: true})
5761
if err != nil {
5862
return fmt.Errorf("Relisting app resources: %w", err)

pkg/kapp/app/recorded_app.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ func (a *RecordedApp) Exists() (bool, string, error) {
353353
return true, "", nil
354354
}
355355

356-
func (a *RecordedApp) Delete() error {
356+
func (a *RecordedApp) Delete(checkResourcesDeleted bool) error {
357357
app, err := a.labeledApp()
358358
if err != nil {
359359
return err
@@ -364,7 +364,7 @@ func (a *RecordedApp) Delete() error {
364364
return fmt.Errorf("Deleting app changes: %w", err)
365365
}
366366

367-
err = app.Delete()
367+
err = app.Delete(checkResourcesDeleted)
368368
if err != nil {
369369
return err
370370
}

pkg/kapp/cmd/app/delete.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ type DeleteOptions struct {
2929
ApplyFlags ApplyFlags
3030
ResourceTypesFlags ResourceTypesFlags
3131
PrevAppFlags PrevAppFlags
32+
DeleteFlags DeleteFlags
3233
}
3334

3435
type changesSummary struct {
@@ -56,6 +57,7 @@ func NewDeleteCmd(o *DeleteOptions, flagsFactory cmdcore.FlagsFactory) *cobra.Co
5657
o.ApplyFlags.SetWithDefaults("", ApplyFlagsDeleteDefaults, cmd)
5758
o.ResourceTypesFlags.Set(cmd)
5859
o.PrevAppFlags.Set(cmd)
60+
o.DeleteFlags.Set(cmd)
5961
return cmd
6062
}
6163

@@ -157,7 +159,7 @@ func (o *DeleteOptions) Run() error {
157159
return err
158160
}
159161
if shouldFullyDeleteApp {
160-
return app.Delete()
162+
return app.Delete(o.DeleteFlags.DisableCheckingResourceDeletion)
161163
}
162164
return nil
163165
})

pkg/kapp/cmd/app/delete_flags.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Copyright 2022 VMware, Inc.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package app
5+
6+
import "github.com/spf13/cobra"
7+
8+
type DeleteFlags struct {
9+
DisableCheckingResourceDeletion bool
10+
}
11+
12+
func (s *DeleteFlags) Set(cmd *cobra.Command) {
13+
cmd.Flags().BoolVar(&s.DisableCheckingResourceDeletion, "dangerous-disable-checking-resource-deletion",
14+
false, "Skip checking resource deletion when fully deleting app")
15+
}

0 commit comments

Comments
 (0)