Skip to content
This repository was archived by the owner on Dec 11, 2023. It is now read-only.

Commit 7ee9b75

Browse files
authored
Brokers switch and deletion logic update (#79)
* Brokers switch and deletion clarified
1 parent e26bf6e commit 7ee9b75

2 files changed

Lines changed: 17 additions & 10 deletions

File tree

cmd/brokers/brokers.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,17 @@ import (
2929
const manifestFile = "manifest.yaml"
3030

3131
func NewCmd() *cobra.Command {
32-
return &cobra.Command{
33-
Use: "brokers",
34-
Aliases: []string{"list"},
35-
Short: "Show the list of brokers",
32+
var broker string
33+
brokersCmd := &cobra.Command{
34+
Use: "brokers [--set <broker>]",
35+
Short: "Show the list of brokers",
3636
RunE: func(cmd *cobra.Command, args []string) error {
37+
if broker != "" {
38+
viper.Set("context", broker)
39+
if err := viper.WriteConfig(); err != nil {
40+
return err
41+
}
42+
}
3743
list, err := List(path.Dir(viper.ConfigFileUsed()), viper.GetString("context"))
3844
if err != nil {
3945
return err
@@ -45,6 +51,8 @@ func NewCmd() *cobra.Command {
4551
return nil
4652
},
4753
}
54+
brokersCmd.Flags().StringVar(&broker, "set", "", "Change the current broker")
55+
return brokersCmd
4856
}
4957

5058
func List(configDir, currentContext string) ([]string, error) {

cmd/delete/delete.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func NewCmd() *cobra.Command {
5353
if deleteBroker != "" {
5454
return o.deleteBroker(deleteBroker)
5555
}
56-
return o.deleteComponents(args)
56+
return o.deleteComponents(args, false)
5757
},
5858
}
5959
deleteCmd.Flags().StringVar(&deleteBroker, "broker", "", "Delete the broker")
@@ -63,7 +63,7 @@ func NewCmd() *cobra.Command {
6363
func (o *DeleteOptions) deleteBroker(broker string) error {
6464
oo := *o
6565
oo.Context = broker
66-
if err := oo.deleteComponents([]string{}); err != nil {
66+
if err := oo.deleteComponents([]string{}, true); err != nil {
6767
return fmt.Errorf("deleting component: %w", err)
6868
}
6969
if err := os.RemoveAll(path.Join(o.ConfigDir, broker)); err != nil {
@@ -75,7 +75,7 @@ func (o *DeleteOptions) deleteBroker(broker string) error {
7575
return nil
7676
}
7777

78-
func (o *DeleteOptions) deleteComponents(components []string) error {
78+
func (o *DeleteOptions) deleteComponents(components []string, force bool) error {
7979
ctx := context.Background()
8080
client, err := docker.NewClient()
8181
if err != nil {
@@ -99,14 +99,13 @@ func (o *DeleteOptions) deleteComponents(components []string) error {
9999
if skip {
100100
continue
101101
}
102-
log.Printf("Deleting %q %s", object.Metadata.Name, strings.ToLower(object.Kind))
103102
if object.Kind == "Broker" {
104-
if len(components) > 0 {
105-
log.Printf("skipping %q, use \"--broker <name>\" to delete the broker", object.Metadata.Name)
103+
if !force {
106104
continue
107105
}
108106
object.Metadata.Name += "-broker"
109107
}
108+
log.Printf("Deleting %q %s", object.Metadata.Name, strings.ToLower(object.Kind))
110109
o.stopContainer(ctx, object.Metadata.Name, client)
111110
o.removeObject(object.Metadata.Name, currentManifest)
112111
o.cleanupTriggers(object.Metadata.Name, currentManifest)

0 commit comments

Comments
 (0)