package client import ( "context" appPkg "coopcloud.tech/abra/pkg/app" "github.com/docker/docker/api/types/filters" "github.com/docker/docker/api/types/swarm" "github.com/docker/docker/client" ) func StoreSecret(cl *client.Client, secretName, secretValue string) error { ann := swarm.Annotations{Name: secretName} spec := swarm.SecretSpec{Annotations: ann, Data: []byte(secretValue)} if _, err := cl.SecretCreate(context.Background(), spec); err != nil { return err } return nil } func GetSecretNamesForStack(cl *client.Client, app appPkg.App) ([]string, error) { filters, err := app.Filters(false, false) if err != nil { return nil, err } secretList, err := cl.SecretList(context.Background(), swarm.SecretListOptions{Filters: filters}) if err != nil { return nil, err } return GetSecretNames(secretList), nil } func GetSecretNames(secrets []swarm.Secret) []string { var secretNames []string for _, secret := range secrets { secretNames = append(secretNames, secret.Spec.Name) } return secretNames }