@@ -34,9 +34,13 @@ type DeletionError struct {
34
34
name string
35
35
}
36
36
37
- var (
37
+ var deleteCmdOptions struct {
38
+ kube struct {
39
+ inCluster bool
40
+ context string
41
+ }
38
42
revertTo string
39
- )
43
+ }
40
44
41
45
// deleteCmd represents the status command
42
46
var deleteCmd = & cobra.Command {
@@ -50,27 +54,27 @@ var deleteCmd = &cobra.Command{
50
54
},
51
55
Run : func (cmd * cobra.Command , args []string ) {
52
56
s := store .GetStore ()
57
+ prepareLogger ()
58
+ buildBasicStore ()
59
+ extendStoreWithCodefershClient ()
60
+ extendStoreWithKubeClient ()
53
61
var errors []DeletionError
54
- contextName := ""
55
- kubeContextFlag := cmd .Flag ("kube-context-name" )
56
- if kubeContextFlag != nil {
57
- contextName = kubeContextFlag .Value .String ()
58
- }
59
- s .KubernetesAPI .InCluster = inCluster
62
+ s .KubernetesAPI .InCluster = deleteCmdOptions .kube .inCluster
60
63
for _ , name := range args {
61
64
re , err := s .CodefreshAPI .Client .RuntimeEnvironments ().Get (name )
62
65
errors = collectError (errors , err , name , "Get Runtime-Environment from Codefresh" )
63
66
64
- if revertTo != "" {
65
- _ , err := s .CodefreshAPI .Client .RuntimeEnvironments ().Default (revertTo )
66
- errors = collectError (errors , err , name , fmt .Sprintf ("Revert Runtime-Environment to: %s" , revertTo ))
67
+ if deleteCmdOptions . revertTo != "" {
68
+ _ , err := s .CodefreshAPI .Client .RuntimeEnvironments ().Default (deleteCmdOptions . revertTo )
69
+ errors = collectError (errors , err , name , fmt .Sprintf ("Revert Runtime-Environment to: %s" , deleteCmdOptions . revertTo ))
67
70
}
68
71
deleted , err := s .CodefreshAPI .Client .RuntimeEnvironments ().Delete (name )
69
72
errors = collectError (errors , err , name , "Delete Runtime-Environment from Codefresh" )
70
73
71
74
if deleted {
72
- if contextName == "" {
73
- contextName = re .RuntimeScheduler .Cluster .ClusterProvider .Selector
75
+ contextName := re .RuntimeScheduler .Cluster .ClusterProvider .Selector
76
+ if contextName != "" {
77
+ contextName = deleteCmdOptions .kube .context
74
78
}
75
79
s .KubernetesAPI .ContextName = contextName
76
80
s .KubernetesAPI .Namespace = re .RuntimeScheduler .Cluster .Namespace
@@ -83,6 +87,18 @@ var deleteCmd = &cobra.Command{
83
87
})
84
88
continue
85
89
}
90
+ if isUsingDefaultStorageClass (re .RuntimeScheduler .Pvcs .Dind .StorageClassName ) {
91
+ err = runtimectl .GetOperator (runtimectl .VolumeProvisionerOperatorType ).Delete ()
92
+ if err != nil {
93
+ errors = append (errors , DeletionError {
94
+ err : err ,
95
+ name : name ,
96
+ operation : "Delete volume provisioner related components" ,
97
+ })
98
+ continue
99
+ }
100
+ }
101
+
86
102
if re .Metadata .Agent {
87
103
err = runtimectl .GetOperator (runtimectl .VenonaOperatorType ).Delete ()
88
104
if err != nil {
@@ -94,6 +110,7 @@ var deleteCmd = &cobra.Command{
94
110
continue
95
111
}
96
112
}
113
+
97
114
logrus .Infof ("Deleted %s" , name )
98
115
}
99
116
@@ -113,9 +130,9 @@ var deleteCmd = &cobra.Command{
113
130
114
131
func init () {
115
132
rootCmd .AddCommand (deleteCmd )
116
- deleteCmd .Flags ().String ( "kube-context-name" , "" , "Set name to overwrite the context name saved in Codefresh" )
117
- deleteCmd .Flags ().StringVar (& revertTo , "revert-to" , "" , "Set to the name of the runtime-environment to set as default" )
118
- deleteCmd .Flags ().BoolVar (& inCluster , "in-cluster" , false , "Set flag if venona is been installed from inside a cluster" )
133
+ deleteCmd .Flags ().StringVar ( & deleteCmdOptions . kube . context , "kube-context-name" , "" , "Set name to overwrite the context name saved in Codefresh" )
134
+ deleteCmd .Flags ().StringVar (& deleteCmdOptions . revertTo , "revert-to" , "" , "Set to the name of the runtime-environment to set as default" )
135
+ deleteCmd .Flags ().BoolVar (& deleteCmdOptions . kube . inCluster , "in-cluster" , false , "Set flag if venona is been installed from inside a cluster" )
119
136
}
120
137
121
138
func collectError (errors []DeletionError , err error , reName string , op string ) []DeletionError {
0 commit comments