refactor: add server auto-complete & cosmetics

This commit is contained in:
decentral1se 2023-02-17 10:12:46 +01:00
parent 9754c1b2d1
commit 1a72e27045
Signed by: decentral1se
GPG Key ID: 03789458B3D0C410
1 changed files with 10 additions and 2 deletions

View File

@ -4,6 +4,7 @@ import (
"context"
"coopcloud.tech/abra/cli/internal"
"coopcloud.tech/abra/pkg/autocomplete"
"coopcloud.tech/abra/pkg/client"
"github.com/docker/docker/api/types/filters"
"github.com/sirupsen/logrus"
@ -37,37 +38,43 @@ var serverPruneCommand = cli.Command{
volumesFilterFlag,
internal.DebugFlag,
},
Before: internal.SubCommandBefore,
Before: internal.SubCommandBefore,
BashComplete: autocomplete.ServerNameComplete,
Action: func(c *cli.Context) error {
// Leaving filters empty for now
var args filters.Args
serverName := internal.ValidateServer(c)
cl, err := client.New(serverName)
if err != nil {
logrus.Fatal(err)
}
ctx := context.Background()
cr, err := cl.ContainersPrune(ctx, args)
if err != nil {
logrus.Fatal(err)
}
logrus.Infof("Containers deleted: %s; Space reclaimed: %v", cr.ContainersDeleted, cr.SpaceReclaimed)
nr, err := cl.NetworksPrune(ctx, args)
if err != nil {
logrus.Fatal(err)
}
logrus.Infof("Networks deleted %s", nr.NetworksDeleted)
pruneFilters := filters.NewArgs()
if allFilter {
pruneFilters.Add("dangling", "false")
}
ir, err := cl.ImagesPrune(ctx, pruneFilters)
if err != nil {
logrus.Fatal(err)
}
logrus.Infof("Images deleted: %s; Space reclaimed: %v", ir.ImagesDeleted, ir.SpaceReclaimed)
if volunesFilter {
@ -75,6 +82,7 @@ var serverPruneCommand = cli.Command{
if err != nil {
logrus.Fatal(err)
}
logrus.Infof("Volumes deleted: %s; Space reclaimed: %v", vr.VolumesDeleted, vr.SpaceReclaimed)
}