-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsecret.go
129 lines (108 loc) · 2.61 KB
/
secret.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// Code generated by lesiw.io/ctrctl. DO NOT EDIT.
package ctrctl
import (
"fmt"
"os/exec"
)
type SecretCreateOpts struct {
// Base exec.Cmd.
Cmd *exec.Cmd
// Secret driver.
Driver string
// Print usage.
Help bool
// Secret labels.
Label []string
// Template driver.
TemplateDriver string
}
// Create a secret from a file or STDIN as content.
func SecretCreate(opts *SecretCreateOpts, secret string, file string) (string, error) {
if err := findCli(); err != nil {
return "", err
}
return runCtrCmd(
[]string{"secret", "create"},
[]string{secret, file},
opts,
0,
)
}
type SecretInspectOpts struct {
// Base exec.Cmd.
Cmd *exec.Cmd
// Format output using a custom template:
// 'json': Print in JSON format.
// 'TEMPLATE': Print output using the given Go template.
// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
Format string
// Print usage.
Help bool
// Print the information in a human friendly format.
Pretty bool
}
// Display detailed information on one or more secrets.
func SecretInspect(opts *SecretInspectOpts, secret ...string) (string, error) {
if err := findCli(); err != nil {
return "", err
}
if len(secret) == 0 {
return "", fmt.Errorf("secret must have at least one value")
}
return runCtrCmd(
[]string{"secret", "inspect"},
secret,
opts,
0,
)
}
type SecretLsOpts struct {
// Base exec.Cmd.
Cmd *exec.Cmd
// Filter output based on conditions provided.
Filter string
// Format output using a custom template:
// 'table': Print output in table format with column headers (default).
// 'table TEMPLATE': Print output in table format using the given Go template.
// 'json': Print in JSON format.
// 'TEMPLATE': Print output using the given Go template.
// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
Format string
// Print usage.
Help bool
// Only display IDs.
Quiet bool
}
// List secrets.
func SecretLs(opts *SecretLsOpts) (string, error) {
if err := findCli(); err != nil {
return "", err
}
return runCtrCmd(
[]string{"secret", "ls"},
[]string{},
opts,
0,
)
}
type SecretRmOpts struct {
// Base exec.Cmd.
Cmd *exec.Cmd
// Print usage.
Help bool
}
// Remove one or more secrets.
func SecretRm(opts *SecretRmOpts, secret ...string) (string, error) {
if err := findCli(); err != nil {
return "", err
}
if len(secret) == 0 {
return "", fmt.Errorf("secret must have at least one value")
}
return runCtrCmd(
[]string{"secret", "rm"},
secret,
opts,
-1,
)
}