MCPcopy Create free account
hub / github.com/docker/cli / runSecretCreate

Function runSecretCreate

cli/command/secret/create.go:71–113  ·  view source on GitHub ↗
(ctx context.Context, dockerCLI command.Cli, options createOptions)

Source from the content-addressed store, hash-verified

69}
70
71func runSecretCreate(ctx context.Context, dockerCLI command.Cli, options createOptions) error {
72 apiClient := dockerCLI.Client()
73
74 var secretData []byte
75 if options.driver != "" {
76 if options.file != "" {
77 return errors.New("when using secret driver secret data must be empty")
78 }
79 } else {
80 var err error
81 secretData, err = readSecretData(dockerCLI.In(), options.file)
82 if err != nil {
83 return err
84 }
85 }
86
87 spec := swarm.SecretSpec{
88 Annotations: swarm.Annotations{
89 Name: options.name,
90 Labels: opts.ConvertKVStringsToMap(options.labels.GetSlice()),
91 },
92 Data: secretData,
93 }
94 if options.driver != "" {
95 spec.Driver = &swarm.Driver{
96 Name: options.driver,
97 }
98 }
99 if options.templateDriver != "" {
100 spec.Templating = &swarm.Driver{
101 Name: options.templateDriver,
102 }
103 }
104 r, err := apiClient.SecretCreate(ctx, client.SecretCreateOptions{
105 Spec: spec,
106 })
107 if err != nil {
108 return err
109 }
110
111 _, _ = fmt.Fprintln(dockerCLI.Out(), r.ID)
112 return nil
113}
114
115// maxSecretSize is the maximum byte length of the [swarm.SecretSpec.Data] field,
116// as defined by [MaxSecretSize] in SwarmKit.

Callers 1

newSecretCreateCommandFunction · 0.85

Calls 6

readSecretDataFunction · 0.85
GetSliceMethod · 0.80
ClientMethod · 0.65
InMethod · 0.65
OutMethod · 0.65
SecretCreateMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…