MCPcopy Index your code
hub / github.com/docker/cli / createSecrets

Function createSecrets

cli/command/stack/deploy_composefile.go:110–139  ·  view source on GitHub ↗
(ctx context.Context, dockerCLI command.Cli, secrets []swarm.SecretSpec)

Source from the content-addressed store, hash-verified

108}
109
110func createSecrets(ctx context.Context, dockerCLI command.Cli, secrets []swarm.SecretSpec) error {
111 apiClient := dockerCLI.Client()
112
113 for _, secretSpec := range secrets {
114 res, err := apiClient.SecretInspect(ctx, secretSpec.Name, client.SecretInspectOptions{})
115 switch {
116 case err == nil:
117 // secret already exists, then we update that
118 _, err := apiClient.SecretUpdate(ctx, res.Secret.ID, client.SecretUpdateOptions{
119 Version: res.Secret.Meta.Version,
120 Spec: secretSpec,
121 })
122 if err != nil {
123 return fmt.Errorf("failed to update secret %s: %w", secretSpec.Name, err)
124 }
125 case errdefs.IsNotFound(err):
126 // secret does not exist, then we create a new one.
127 _, _ = fmt.Fprintln(dockerCLI.Out(), "Creating secret", secretSpec.Name)
128 _, err := apiClient.SecretCreate(ctx, client.SecretCreateOptions{
129 Spec: secretSpec,
130 })
131 if err != nil {
132 return fmt.Errorf("failed to create secret %s: %w", secretSpec.Name, err)
133 }
134 default:
135 return err
136 }
137 }
138 return nil
139}
140
141func createConfigs(ctx context.Context, dockerCLI command.Cli, configs []swarm.ConfigSpec) error {
142 apiClient := dockerCLI.Client()

Callers 1

deployComposeFunction · 0.85

Calls 5

SecretUpdateMethod · 0.80
ClientMethod · 0.65
OutMethod · 0.65
SecretInspectMethod · 0.45
SecretCreateMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…