* request a port when not port given * make context an interface, for easy testing (#380)
27 lines
527 B
Go
27 lines
527 B
Go
package handlers
|
|
|
|
import (
|
|
"github.com/metrue/fx/context"
|
|
"github.com/metrue/fx/deploy"
|
|
"github.com/metrue/fx/pkg/spinner"
|
|
)
|
|
|
|
// Down command handle
|
|
func Down(ctx context.Contexter) (err error) {
|
|
const task = "destroying"
|
|
spinner.Start(task)
|
|
defer func() {
|
|
spinner.Stop(task, err)
|
|
}()
|
|
|
|
cli := ctx.GetCliContext()
|
|
services := cli.Args()
|
|
runner := ctx.Get("deployer").(deploy.Deployer)
|
|
for _, svc := range services {
|
|
if err := runner.Destroy(ctx.GetContext(), svc); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|