Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit db6652ca71c60c1ff3ac274968876c88eb7146ad)
Signed-off-by: Victor Vieux <vieux@docker.com>
| ... | ... |
@@ -27,17 +27,17 @@ func newSecretCreateCommand(dockerCli *command.DockerCli) *cobra.Command {
|
| 27 | 27 |
} |
| 28 | 28 |
|
| 29 | 29 |
cmd := &cobra.Command{
|
| 30 |
- Use: "create [OPTIONS] SECRET", |
|
| 30 |
+ Use: "create [OPTIONS] SECRET file|-", |
|
| 31 | 31 |
Short: "Create a secret from a file or STDIN as content", |
| 32 |
- Args: cli.ExactArgs(1), |
|
| 32 |
+ Args: cli.ExactArgs(2), |
|
| 33 | 33 |
RunE: func(cmd *cobra.Command, args []string) error {
|
| 34 | 34 |
createOpts.name = args[0] |
| 35 |
+ createOpts.file = args[1] |
|
| 35 | 36 |
return runSecretCreate(dockerCli, createOpts) |
| 36 | 37 |
}, |
| 37 | 38 |
} |
| 38 | 39 |
flags := cmd.Flags() |
| 39 | 40 |
flags.VarP(&createOpts.labels, "label", "l", "Secret labels") |
| 40 |
- flags.StringVarP(&createOpts.file, "file", "f", "", "Read from a file or STDIN ('-')")
|
|
| 41 | 41 |
|
| 42 | 42 |
return cmd |
| 43 | 43 |
} |
| ... | ... |
@@ -46,10 +46,6 @@ func runSecretCreate(dockerCli *command.DockerCli, options createOptions) error |
| 46 | 46 |
client := dockerCli.Client() |
| 47 | 47 |
ctx := context.Background() |
| 48 | 48 |
|
| 49 |
- if options.file == "" {
|
|
| 50 |
- return fmt.Errorf("Please specify either a file name or STDIN ('-') with --file")
|
|
| 51 |
- } |
|
| 52 |
- |
|
| 53 | 49 |
var in io.Reader = dockerCli.In() |
| 54 | 50 |
if options.file != "-" {
|
| 55 | 51 |
file, err := system.OpenSequential(options.file) |
| ... | ... |
@@ -16,12 +16,11 @@ keywords: ["secret, create"] |
| 16 | 16 |
# secret create |
| 17 | 17 |
|
| 18 | 18 |
```Markdown |
| 19 |
-Usage: docker secret create [OPTIONS] SECRET |
|
| 19 |
+Usage: docker secret create [OPTIONS] SECRET file|- |
|
| 20 | 20 |
|
| 21 | 21 |
Create a secret from a file or STDIN as content |
| 22 | 22 |
|
| 23 | 23 |
Options: |
| 24 |
- -f, --file string Read from a file or STDIN ('-')
|
|
| 25 | 24 |
--help Print usage |
| 26 | 25 |
-l, --label list Secret labels (default []) |
| 27 | 26 |
``` |
| ... | ... |
@@ -34,7 +33,7 @@ command on a manager node. |
| 34 | 34 |
### Create a secret |
| 35 | 35 |
|
| 36 | 36 |
```bash |
| 37 |
-$ echo <secret> | docker secret create -f - my_secret |
|
| 37 |
+$ echo <secret> | docker secret create my_secret - |
|
| 38 | 38 |
mhv17xfe3gh6xc4rij5orpfds |
| 39 | 39 |
|
| 40 | 40 |
$ docker secret ls |
| ... | ... |
@@ -45,7 +44,7 @@ mhv17xfe3gh6xc4rij5orpfds my_secret 2016-10-27 23:25:43.90918108 |
| 45 | 45 |
### Create a secret with a file |
| 46 | 46 |
|
| 47 | 47 |
```bash |
| 48 |
-$ docker secret create -f secret.json my_secret |
|
| 48 |
+$ docker secret create my_secret ./secret.json |
|
| 49 | 49 |
mhv17xfe3gh6xc4rij5orpfds |
| 50 | 50 |
|
| 51 | 51 |
$ docker secret ls |
| ... | ... |
@@ -56,7 +55,7 @@ mhv17xfe3gh6xc4rij5orpfds my_secret 2016-10-27 23:25:43.90918108 |
| 56 | 56 |
### Create a secret with labels |
| 57 | 57 |
|
| 58 | 58 |
```bash |
| 59 |
-$ docker secret create -f secret.json --label env=dev --label rev=20161102 my_secret |
|
| 59 |
+$ docker secret create --label env=dev --label rev=20161102 my_secret ./secret.json |
|
| 60 | 60 |
jtn7g6aukl5ky7nr9gvwafoxh |
| 61 | 61 |
|
| 62 | 62 |
$ docker secret inspect my_secret |
| ... | ... |
@@ -121,20 +121,11 @@ func (s *DockerSwarmSuite) TestSecretCreateWithFile(c *check.C) {
|
| 121 | 121 |
c.Assert(err, checker.IsNil, check.Commentf("failed to write to temporary file"))
|
| 122 | 122 |
|
| 123 | 123 |
testName := "test_secret" |
| 124 |
- out, err := d.Cmd("secret", "create", "--file", testFile.Name(), testName)
|
|
| 124 |
+ out, err := d.Cmd("secret", "create", testName, testFile.Name())
|
|
| 125 | 125 |
c.Assert(err, checker.IsNil) |
| 126 | 126 |
c.Assert(strings.TrimSpace(out), checker.Not(checker.Equals), "", check.Commentf(out)) |
| 127 | 127 |
|
| 128 | 128 |
id := strings.TrimSpace(out) |
| 129 | 129 |
secret := d.getSecret(c, id) |
| 130 | 130 |
c.Assert(secret.Spec.Name, checker.Equals, testName) |
| 131 |
- |
|
| 132 |
- testName = "test_secret_2" |
|
| 133 |
- out, err = d.Cmd("secret", "create", testName, "-f", testFile.Name())
|
|
| 134 |
- c.Assert(err, checker.IsNil) |
|
| 135 |
- c.Assert(strings.TrimSpace(out), checker.Not(checker.Equals), "", check.Commentf(out)) |
|
| 136 |
- |
|
| 137 |
- id = strings.TrimSpace(out) |
|
| 138 |
- secret = d.getSecret(c, id) |
|
| 139 |
- c.Assert(secret.Spec.Name, checker.Equals, testName) |
|
| 140 | 131 |
} |