Skip to content

Commit b077a88

Browse files
author
Gabriel Monroy
committed
allow install/uninstall of specific targets
1 parent f575607 commit b077a88

3 files changed

Lines changed: 56 additions & 5 deletions

File tree

cmd/cmd.go

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,34 @@ func Status(c client.Client, targets []string) error {
5757
return nil
5858
}
5959

60-
func Install(c client.Client) error {
60+
func Install(c client.Client, targets []string) error {
61+
// if targets, install all services
62+
if len(targets) == 0 {
63+
err := installDataContainers(c)
64+
if err != nil {
65+
return err
66+
}
67+
err = installDefaultServices(c)
68+
if err != nil {
69+
return err
70+
}
71+
} else {
72+
// otherwise create and start the specific targets
73+
for _, target := range targets {
74+
err := c.Create(target, false)
75+
if err != nil {
76+
return err
77+
}
78+
err = c.Start(target, false)
79+
if err != nil {
80+
return err
81+
}
82+
}
83+
}
84+
return nil
85+
}
86+
87+
func installDataContainers(c client.Client) error {
6188
// data containers
6289
dataContainers := []string{
6390
"database-data",
@@ -79,6 +106,10 @@ func Install(c client.Client) error {
79106
// return err
80107
// }
81108
}
109+
return nil
110+
}
111+
112+
func installDefaultServices(c client.Client) error {
82113
// start service containers
83114
targets := []string{
84115
"database=1",
@@ -108,10 +139,30 @@ func Install(c client.Client) error {
108139
return err
109140
}
110141
fmt.Println("Done.")
111-
return err
142+
return nil
143+
}
144+
145+
func Uninstall(c client.Client, targets []string) error {
146+
// if targets, uninstall all services
147+
if len(targets) == 0 {
148+
err := uninstallAllServices(c)
149+
if err != nil {
150+
return err
151+
}
152+
153+
} else {
154+
// uninstall the specific target
155+
for _, target := range targets {
156+
err := c.Destroy(target)
157+
if err != nil {
158+
return err
159+
}
160+
}
161+
}
162+
return nil
112163
}
113164

114-
func Uninstall(c client.Client) error {
165+
func uninstallAllServices(c client.Client) error {
115166
targets := []string{
116167
"database=0",
117168
"cache=0",

deisctl

9.59 MB
Binary file not shown.

deisctl.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@ Options:
8383
case "status":
8484
err = cmd.Status(c, targets)
8585
case "install":
86-
err = cmd.Install(c)
86+
err = cmd.Install(c, targets)
8787
case "uninstall":
88-
err = cmd.Uninstall(c)
88+
err = cmd.Uninstall(c, targets)
8989
case "update":
9090
updatectl.Update(os.Args)
9191
default:

0 commit comments

Comments
 (0)