Skip to content

Commit bfe1b33

Browse files
author
Oleg Sucharevich
authored
allow passing flag --revert-to to change the runtime to other deletion (#23)
1 parent de11810 commit bfe1b33

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "venona",
3-
"version": "0.13.0",
3+
"version": "0.14.0",
44
"description": "Codefresh agent to run on Codefresh's runtime environment and execute pipeline",
55
"main": "index.js",
66
"scripts": {

venonactl/cmd/delete.go

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ limitations under the License.
1818

1919
import (
2020
"errors"
21+
"fmt"
2122
"os"
2223

2324
"github.com/codefresh-io/venona/venonactl/pkg/store"
@@ -33,6 +34,10 @@ type DeletionError struct {
3334
name string
3435
}
3536

37+
var (
38+
revertTo string
39+
)
40+
3641
// deleteCmd represents the status command
3742
var deleteCmd = &cobra.Command{
3843
Use: "delete [names]",
@@ -53,24 +58,14 @@ var deleteCmd = &cobra.Command{
5358
}
5459
for _, name := range args {
5560
re, err := s.CodefreshAPI.Client.RuntimeEnvironments().Get(name)
56-
if err != nil {
57-
errors = append(errors, DeletionError{
58-
err: err,
59-
name: name,
60-
operation: "Get Runtime-Environment from Codefresh",
61-
})
62-
continue
63-
}
64-
deleted, err := s.CodefreshAPI.Client.RuntimeEnvironments().Delete(name)
61+
errors = collectError(errors, err, name, "Get Runtime-Environment from Codefresh")
6562

66-
if err != nil {
67-
errors = append(errors, DeletionError{
68-
err: err,
69-
name: name,
70-
operation: "Delete Runtime-Environment from Codefresh",
71-
})
72-
continue
63+
if revertTo != "" {
64+
_, err := s.CodefreshAPI.Client.RuntimeEnvironments().Default(revertTo)
65+
errors = collectError(errors, err, name, fmt.Sprintf("Revert Runtime-Environment to: %s", revertTo))
7366
}
67+
deleted, err := s.CodefreshAPI.Client.RuntimeEnvironments().Delete(name)
68+
errors = collectError(errors, err, name, "Delete Runtime-Environment from Codefresh")
7469

7570
if deleted {
7671
if contextName == "" {
@@ -118,4 +113,16 @@ var deleteCmd = &cobra.Command{
118113
func init() {
119114
rootCmd.AddCommand(deleteCmd)
120115
deleteCmd.Flags().String("kube-context-name", "", "Set name to overwrite the context name saved in Codefresh")
116+
deleteCmd.Flags().StringVar(&revertTo, "revert-to", "", "Set to the name of the runtime-environment to set as default")
117+
}
118+
119+
func collectError(errors []DeletionError, err error, reName string, op string) []DeletionError {
120+
if err == nil {
121+
return errors
122+
}
123+
return append(errors, DeletionError{
124+
err: err,
125+
name: reName,
126+
operation: op,
127+
})
121128
}

0 commit comments

Comments
 (0)