Skip to content
New issue

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

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(delete): Refactor input handling & output display on resource deletion #323

Merged
merged 4 commits into from
Jun 24, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions pkg/kor/clusterroles.go
Original file line number Diff line number Diff line change
Expand Up @@ -191,18 +191,18 @@ func GetUnusedClusterRoles(filterOpts *filters.Options, clientset kubernetes.Int
if err != nil {
fmt.Fprintf(os.Stderr, "Failed to process cluster role : %v\n", err)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, "", "ClusterRole", opts.NoInteractive); err != nil {
doronkg marked this conversation as resolved.
Show resolved Hide resolved
fmt.Fprintf(os.Stderr, "Failed to delete clusterRole %s : %v\n", diff, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[""] = make(map[string][]ResourceInfo)
resources[""]["ClusterRole"] = diff
case "resource":
appendResources(resources, "ClusterRole", "", diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, "", "ClusterRole", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete clusterRole %s : %v\n", diff, err)
}
}

var outputBuffer bytes.Buffer
var jsonResponse []byte
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/configmaps.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,18 +166,18 @@ func GetUnusedConfigmaps(filterOpts *filters.Options, clientset kubernetes.Inter
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "ConfigMap", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete ConfigMap %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["ConfigMap"] = diff
case "resource":
appendResources(resources, "ConfigMap", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "ConfigMap", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete ConfigMap %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/daemonsets.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,18 +67,18 @@ func GetUnusedDaemonSets(filterOpts *filters.Options, clientset kubernetes.Inter
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "DaemonSet", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete DaemonSet %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["DaemonSet"] = diff
case "resource":
appendResources(resources, "DaemonSet", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "DaemonSet", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete DaemonSet %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
4 changes: 2 additions & 2 deletions pkg/kor/delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ func DeleteResource2(diff []ResourceInfo, clientset kubernetes.Interface, namesp
if !noInteractive {
fmt.Printf("Do you want to delete %s %s in namespace %s? (Y/N): ", resourceType, resource.Name, namespace)
var confirmation string
_, err := fmt.Scanf("%s", &confirmation)
_, err := fmt.Scanf("%s\n", &confirmation)
if err != nil {
fmt.Fprintf(os.Stderr, "Failed to read input: %v\n", err)
continue
Expand All @@ -345,7 +345,7 @@ func DeleteResource2(diff []ResourceInfo, clientset kubernetes.Interface, namesp

fmt.Printf("Do you want flag the resource %s %s in namespace %s as In Use? (Y/N): ", resourceType, resource.Name, namespace)
var inUse string
_, err := fmt.Scanf("%s", &inUse)
_, err := fmt.Scanf("%s\n", &inUse)
if err != nil {
fmt.Fprintf(os.Stderr, "Failed to read input: %v\n", err)
continue
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/deployments.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,18 +49,18 @@ func GetUnusedDeployments(filterOpts *filters.Options, clientset kubernetes.Inte
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Deployment", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Deployment %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["Deployment"] = diff
case "resource":
appendResources(resources, "Deployment", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Deployment", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Deployment %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/hpas.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,18 +88,18 @@ func GetUnusedHpas(filterOpts *filters.Options, clientset kubernetes.Interface,
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "HPA", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete HPA %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["Hpa"] = diff
case "resource":
appendResources(resources, "Hpa", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "HPA", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete HPA %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/ingresses.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,18 +124,18 @@ func GetUnusedIngresses(filterOpts *filters.Options, clientset kubernetes.Interf
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Ingress", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Ingress %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["Ingress"] = diff
case "resource":
appendResources(resources, "Ingress", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Ingress", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Ingress %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/jobs.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,18 +73,18 @@ func GetUnusedJobs(filterOpts *filters.Options, clientset kubernetes.Interface,
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Job", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Job %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["Job"] = diff
case "resource":
appendResources(resources, "Job", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Job", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Job %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
12 changes: 5 additions & 7 deletions pkg/kor/networkpolicies.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,20 +62,18 @@ func GetUnusedNetworkPolicies(filterOpts *filters.Options, clientset kubernetes.
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}

if opts.DeleteFlag {
if diff, err := DeleteResource2(diff, clientset, namespace, "NetworkPolicy", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete NetworkPolicy %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["NetworkPolicy"] = diff
case "resource":
appendResources(resources, "NetworkPolicy", namespace, diff)
}

if opts.DeleteFlag {
if diff, err := DeleteResource2(diff, clientset, namespace, "NetworkPolicy", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete NetworkPolicy %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/pdbs.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,18 +89,18 @@ func GetUnusedPdbs(filterOpts *filters.Options, clientset kubernetes.Interface,
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "PDB", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete PDB %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["Pdb"] = diff
case "resource":
appendResources(resources, "Pdb", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "PDB", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete PDB %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/pods.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,18 @@ func GetUnusedPods(filterOpts *filters.Options, clientset kubernetes.Interface,
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Pod", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Pod %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["Pod"] = diff
case "resource":
appendResources(resources, "Pod", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Pod", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Pod %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/pv.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,18 +50,18 @@ func GetUnusedPvs(filterOpts *filters.Options, clientset kubernetes.Interface, o
if err != nil {
fmt.Fprintf(os.Stderr, "Failed to process pvs: %v\n", err)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, "", "PV", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete PV %s: %v\n", diff, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[""] = make(map[string][]ResourceInfo)
resources[""]["Pv"] = diff
case "resource":
appendResources(resources, "Pv", "", diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, "", "PV", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete PV %s: %v\n", diff, err)
}
}

var outputBuffer bytes.Buffer
var jsonResponse []byte
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/pvc.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,18 @@ func GetUnusedPvcs(filterOpts *filters.Options, clientset kubernetes.Interface,
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "PVC", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete PVC %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["Pvc"] = diff
case "resource":
appendResources(resources, "Pvc", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "PVC", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete PVC %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/replicaset.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,18 @@ func GetUnusedReplicaSets(filterOpts *filters.Options, clientset kubernetes.Inte
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "ReplicaSet", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete ReplicaSet %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["ReplicaSet"] = diff
case "resource":
appendResources(resources, "ReplicaSet", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "ReplicaSet", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete ReplicaSet %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/roles.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,18 +113,18 @@ func GetUnusedRoles(filterOpts *filters.Options, clientset kubernetes.Interface,
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Role", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Role %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["Role"] = diff
case "resource":
appendResources(resources, "Role", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Role", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Role %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
10 changes: 5 additions & 5 deletions pkg/kor/secrets.go
Original file line number Diff line number Diff line change
Expand Up @@ -203,18 +203,18 @@ func GetUnusedSecrets(filterOpts *filters.Options, clientset kubernetes.Interfac
fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
continue
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Secret", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Secret %s in namespace %s: %v\n", diff, namespace, err)
}
}
switch opts.GroupBy {
case "namespace":
resources[namespace] = make(map[string][]ResourceInfo)
resources[namespace]["Secret"] = diff
case "resource":
appendResources(resources, "Secret", namespace, diff)
}
if opts.DeleteFlag {
if diff, err = DeleteResource2(diff, clientset, namespace, "Secret", opts.NoInteractive); err != nil {
fmt.Fprintf(os.Stderr, "Failed to delete Secret %s in namespace %s: %v\n", diff, namespace, err)
}
}
}

var outputBuffer bytes.Buffer
Expand Down
Loading
Loading