diff --git a/cmd/control/service.go b/cmd/control/service.go index 67c0b2f1..0925f2aa 100644 --- a/cmd/control/service.go +++ b/cmd/control/service.go @@ -26,6 +26,11 @@ func serviceSubCommands() []cli.Command { Usage: "list services and state", Action: list, }, + { + Name: "delete", + Usage: "delete a service", + Action: del, + }, } } @@ -52,6 +57,28 @@ func disable(c *cli.Context) { } } +func del(c *cli.Context) { + changed := false + cfg, err := config.LoadConfig() + if err != nil { + log.Fatal(err) + } + + for _, service := range c.Args() { + if _, ok := cfg.ServicesInclude[service]; !ok { + continue + } + delete(cfg.ServicesInclude, service) + changed = true + } + + if changed { + if err = cfg.Set("services_include", cfg.ServicesInclude); err != nil { + log.Fatal(err) + } + } +} + func enable(c *cli.Context) { changed := false cfg, err := config.LoadConfig()