Skip to content

Commit

Permalink
updated & added files
Browse files Browse the repository at this point in the history
Signed-off-by: bishal7679 <bishalhnj127@gmail.com>
  • Loading branch information
bishal7679 committed May 7, 2023
1 parent 50c5f86 commit 113cb2e
Show file tree
Hide file tree
Showing 5 changed files with 184 additions and 2 deletions.
11 changes: 10 additions & 1 deletion apis/api/apis.go
Original file line number Diff line number Diff line change
Expand Up @@ -655,7 +655,7 @@ func Declarative(filename string, Delete bool) {

func AllObject(Clusterns string) {
OutsideClusterConfig()

countobj := 0
clientset := Kconfig
ctx := context.Background()
ns, _ = CurrentNs(Clusterns)
Expand All @@ -668,6 +668,7 @@ func AllObject(Clusterns string) {
logging.Print("pod/" + pods.Items[i].Name)
}
fmt.Printf("\n")
countobj += 1
}

// service names
Expand All @@ -679,6 +680,7 @@ func AllObject(Clusterns string) {
logging.Print("service/" + svc.Items[i].Name)
}
fmt.Printf("\n")
countobj += 1
}

// daemonsetnames
Expand All @@ -690,6 +692,7 @@ func AllObject(Clusterns string) {
logging.Print("daemonset.apps/" + daemonsets.Items[i].Name)
}
fmt.Printf("\n")
countobj += 1
}

// deployment name
Expand All @@ -701,6 +704,7 @@ func AllObject(Clusterns string) {
logging.Print("deployment.apps/" + deployments.Items[i].Name)
}
fmt.Printf("\n")
countobj += 1
}

// replicaset name
Expand All @@ -711,6 +715,11 @@ func AllObject(Clusterns string) {
for i := 0; i < len(replicasets.Items); i++ {
logging.Print("replicaset.apps/" + replicasets.Items[i].Name)
}
countobj += 1
}

if countobj == 0 {
logging.Print("No resources found in " + ns + " namespace")
}

}
Expand Down
116 changes: 116 additions & 0 deletions apis/api/createDeleteObject.go
Original file line number Diff line number Diff line change
Expand Up @@ -267,3 +267,119 @@ func DeleteNamespace(Namespacename string) {
}
logging.Print("namespace " + "\"" + Namespacename + "\"" + " deleted 🎉")
}

func DeleteAllObject(Clusterns string) {
clientset := Kconfig
ctx := context.Background()
ns, _ = CurrentNs(Clusterns)
pods, err := clientset.CoreV1().Pods(ns).List(ctx, metav1.ListOptions{})
if err != nil {
logging.Err(err.Error())
return
}
for i := 0; i < len(pods.Items); i++ {
err := clientset.CoreV1().Pods(ns).Delete(ctx, pods.Items[i].Name, metav1.DeleteOptions{})
if err != nil {
logging.Err(err.Error())
return
}
}
deployments, err := clientset.AppsV1().Deployments(ns).List(ctx, metav1.ListOptions{})
if err != nil {
logging.Err(err.Error())
return
}
for i := 0; i < len(deployments.Items); i++ {
err := clientset.AppsV1().Deployments(ns).Delete(ctx, deployments.Items[i].Name, metav1.DeleteOptions{})
if err != nil {
logging.Err(err.Error())
return
}
}
events, err := clientset.CoreV1().Events(ns).List(ctx, metav1.ListOptions{})
if err != nil {
logging.Err(err.Error())
return
}
for i := 0; i < len(events.Items); i++ {
err := clientset.CoreV1().Events(ns).Delete(ctx, events.Items[i].Name, metav1.DeleteOptions{})
if err != nil {
logging.Err(err.Error())
return
}
}
services, err := clientset.CoreV1().Services(ns).List(ctx, metav1.ListOptions{})
if err != nil {
logging.Err(err.Error())
return
}
for i := 0; i < len(services.Items); i++ {
err := clientset.CoreV1().Services(ns).Delete(ctx, services.Items[i].Name, metav1.DeleteOptions{})
if err != nil {
logging.Err(err.Error())
return
}
}
configmaps, err := clientset.CoreV1().ConfigMaps(ns).List(ctx, metav1.ListOptions{})
if err != nil {
logging.Err(err.Error())
return
}
for i := 0; i < len(configmaps.Items); i++ {
err := clientset.CoreV1().ConfigMaps(ns).Delete(ctx, configmaps.Items[i].Name, metav1.DeleteOptions{})
if err != nil {
logging.Err(err.Error())
return
}
}
secrets, err := clientset.CoreV1().Secrets(ns).List(ctx, metav1.ListOptions{})
if err != nil {
logging.Err(err.Error())
return
}
for i := 0; i < len(secrets.Items); i++ {
err := clientset.CoreV1().Secrets(ns).Delete(ctx, secrets.Items[i].Name, metav1.DeleteOptions{})
if err != nil {
logging.Err(err.Error())
return
}
}
replicationcontrollers, err := clientset.CoreV1().ReplicationControllers(ns).List(ctx, metav1.ListOptions{})
if err != nil {
logging.Err(err.Error())
return
}
for i := 0; i < len(replicationcontrollers.Items); i++ {
err := clientset.CoreV1().ReplicationControllers(ns).Delete(ctx, replicationcontrollers.Items[i].Name, metav1.DeleteOptions{})
if err != nil {
logging.Err(err.Error())
return
}
}
replicasets, err := clientset.AppsV1().ReplicaSets(ns).List(ctx, metav1.ListOptions{})
if err != nil {
logging.Err(err.Error())
return
}
for i := 0; i < len(replicasets.Items); i++ {
err := clientset.AppsV1().ReplicaSets(ns).Delete(ctx, replicasets.Items[i].Name, metav1.DeleteOptions{})
if err != nil {
logging.Err(err.Error())
return
}
}
daemonsets, err := clientset.AppsV1().DaemonSets(ns).List(context.Background(), metav1.ListOptions{})
if err != nil {
logging.Err(err.Error())
return
}
for i := 0; i < len(daemonsets.Items); i++ {
err := clientset.AppsV1().DaemonSets(ns).Delete(context.Background(), daemonsets.Items[i].Name, metav1.DeleteOptions{})
if err != nil {
logging.Err(err.Error())
return
}
}

logging.Print("All resources in " + "\"" + ns + "\"" + " deleted 🎉")
}
27 changes: 27 additions & 0 deletions cli/cmd/delete/deleteObjectAll.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
Copyright © 2023 NAME HERE <EMAIL ADDRESS>
*/
package delete

import (
"github.com/bishal7679/ksapify/apis/api"
"github.com/spf13/cobra"
)

// deleteObjectAllCmd represents the deleteObjectAll command
var deleteObjectAllCmd = &cobra.Command{
Use: "all",
Short: "Use to delete all k8s object",
Long: `It is used to delete all objects of a namespace inside the Cluster. For example:
ksapify delete all <use available flags>`,
Run: func(cmd *cobra.Command, args []string) {
api.OutsideClusterConfig()
api.DeleteAllObject(GetClusterns)
},
}

func init() {
deleteObjectAllCmd.Flags().StringVarP(&GetClusterns, "namespace", "n", "", "Namespace name")
DeleteobjectCmd.AddCommand(deleteObjectAllCmd)
}
29 changes: 29 additions & 0 deletions cli/cmd/delete/deleteObjectService.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
Copyright © 2023 NAME HERE <EMAIL ADDRESS>
*/
package delete

import (
"github.com/bishal7679/ksapify/apis/api"
"github.com/spf13/cobra"
)

// deleteObjectServiceCmd represents the deleteObjectService command
var deleteObjectServiceCmd = &cobra.Command{
Use: "service",
Short: "Use to delete a Service",
Long: `It is used to delete a service inside the Cluster. For example:
ksapify delete service <use available flags>`,
Run: func(cmd *cobra.Command, args []string) {
api.OutsideClusterConfig()
api.DeleteService(GetClusterns, Name)
},
}

func init() {
deleteObjectServiceCmd.Flags().StringVarP(&GetClusterns, "namespace", "n", "", "Namespace name")
deleteObjectServiceCmd.Flags().StringVarP(&Name, "name", "N", "", "Service name")
DeleteobjectCmd.AddCommand(deleteObjectServiceCmd)
deleteObjectServiceCmd.MarkFlagRequired("name")
}
3 changes: 2 additions & 1 deletion test/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: bishal
labels:
app: nginx
spec:
Expand All @@ -24,7 +25,7 @@ apiVersion: v1
kind: Service
metadata:
name: nginx-service
namespace: default
namespace: bishal
spec:
selector:
app: nginx
Expand Down

0 comments on commit 113cb2e

Please sign in to comment.