feat: remove old app configs
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
See #577
This commit is contained in:
38
pkg/client/configs.go
Normal file
38
pkg/client/configs.go
Normal file
@ -0,0 +1,38 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/docker/docker/api/types/filters"
|
||||
"github.com/docker/docker/api/types/swarm"
|
||||
"github.com/docker/docker/client"
|
||||
)
|
||||
|
||||
func GetConfigs(cl *client.Client, ctx context.Context, server string, fs filters.Args) ([]swarm.Config, error) {
|
||||
configList, err := cl.ConfigList(ctx, swarm.ConfigListOptions{Filters: fs})
|
||||
if err != nil {
|
||||
return configList, err
|
||||
}
|
||||
|
||||
return configList, nil
|
||||
}
|
||||
|
||||
func GetConfigNames(configs []swarm.Config) []string {
|
||||
var confNames []string
|
||||
|
||||
for _, conf := range configs {
|
||||
confNames = append(confNames, conf.Spec.Name)
|
||||
}
|
||||
|
||||
return confNames
|
||||
}
|
||||
|
||||
func RemoveConfigs(cl *client.Client, ctx context.Context, configNames []string, force bool) error {
|
||||
for _, confName := range configNames {
|
||||
if err := cl.ConfigRemove(context.Background(), confName); err != nil {
|
||||
return fmt.Errorf("conf %s: %s", confName, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user