podman

Форк
0
/
register_secrets.go 
242 строки · 7.2 Кб
1
package server
2

3
import (
4
	"net/http"
5

6
	"github.com/containers/podman/v5/pkg/api/handlers/compat"
7
	"github.com/containers/podman/v5/pkg/api/handlers/libpod"
8
	"github.com/gorilla/mux"
9
)
10

11
func (s *APIServer) registerSecretHandlers(r *mux.Router) error {
12
	// swagger:operation POST /libpod/secrets/create libpod SecretCreateLibpod
13
	// ---
14
	// tags:
15
	//  - secrets
16
	// summary: Create a secret
17
	// parameters:
18
	//   - in: query
19
	//     name: name
20
	//     type: string
21
	//     description: User-defined name of the secret.
22
	//     required: true
23
	//   - in: query
24
	//     name: driver
25
	//     type: string
26
	//     description: Secret driver
27
	//     default: "file"
28
	//   - in: query
29
	//     name: driveropts
30
	//     type: string
31
	//     description: Secret driver options
32
	//   - in: query
33
	//     name: labels
34
	//     type: string
35
	//     description: Labels on the secret
36
	//   - in: body
37
	//     name: request
38
	//     description: Secret
39
	//     schema:
40
	//       type: string
41
	// produces:
42
	// - application/json
43
	// responses:
44
	//   '201':
45
	//     $ref: "#/responses/SecretCreateResponse"
46
	//   '500':
47
	//      "$ref": "#/responses/internalError"
48
	r.Handle(VersionedPath("/libpod/secrets/create"), s.APIHandler(libpod.CreateSecret)).Methods(http.MethodPost)
49
	// swagger:operation GET /libpod/secrets/json libpod SecretListLibpod
50
	// ---
51
	// tags:
52
	//  - secrets
53
	// summary: List secrets
54
	// description: Returns a list of secrets
55
	// parameters:
56
	//  - in: query
57
	//    name: filters
58
	//    type: string
59
	//    description: |
60
	//      JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Currently available filters:
61
	//        - `name=[name]` Matches secrets name (accepts regex).
62
	//        - `id=[id]` Matches for full or partial ID.
63
	// produces:
64
	// - application/json
65
	// responses:
66
	//   '200':
67
	//     "$ref": "#/responses/SecretListResponse"
68
	//   '500':
69
	//      "$ref": "#/responses/internalError"
70
	r.Handle(VersionedPath("/libpod/secrets/json"), s.APIHandler(compat.ListSecrets)).Methods(http.MethodGet)
71
	// swagger:operation GET /libpod/secrets/{name}/json libpod SecretInspectLibpod
72
	// ---
73
	// tags:
74
	//  - secrets
75
	// summary: Inspect secret
76
	// parameters:
77
	//  - in: path
78
	//    name: name
79
	//    type: string
80
	//    required: true
81
	//    description: the name or ID of the secret
82
	//  - in: query
83
	//    name: showsecret
84
	//    type: boolean
85
	//    description: Display Secret
86
	//    default: false
87
	// produces:
88
	// - application/json
89
	// responses:
90
	//   '200':
91
	//     "$ref": "#/responses/SecretInspectResponse"
92
	//   '404':
93
	//     "$ref": "#/responses/NoSuchSecret"
94
	//   '500':
95
	//     "$ref": "#/responses/internalError"
96
	r.Handle(VersionedPath("/libpod/secrets/{name}/json"), s.APIHandler(compat.InspectSecret)).Methods(http.MethodGet)
97
	// swagger:operation GET /libpod/secrets/{name}/exists libpod SecretExistsLibpod
98
	// ---
99
	// tags:
100
	//  - secrets
101
	// summary: Secret exists
102
	// parameters:
103
	//  - in: path
104
	//    name: name
105
	//    type: string
106
	//    required: true
107
	//    description: the name or ID of the secret
108
	// produces:
109
	// - application/json
110
	// responses:
111
	//   204:
112
	//     description: secret exists
113
	//   404:
114
	//     $ref: '#/responses/NoSuchSecret'
115
	//   '500':
116
	//     "$ref": "#/responses/internalError"
117
	r.Handle(VersionedPath("/libpod/secrets/{name}/exists"), s.APIHandler(libpod.SecretExists)).Methods(http.MethodGet)
118
	// swagger:operation DELETE /libpod/secrets/{name} libpod SecretDeleteLibpod
119
	// ---
120
	// tags:
121
	//  - secrets
122
	// summary: Remove secret
123
	// parameters:
124
	//  - in: path
125
	//    name: name
126
	//    type: string
127
	//    required: true
128
	//    description: the name or ID of the secret
129
	//  - in: query
130
	//    name: all
131
	//    type: boolean
132
	//    description: Remove all secrets
133
	//    default: false
134
	// produces:
135
	// - application/json
136
	// responses:
137
	//   '204':
138
	//     description: no error
139
	//   '404':
140
	//     "$ref": "#/responses/NoSuchSecret"
141
	//   '500':
142
	//     "$ref": "#/responses/internalError"
143
	r.Handle(VersionedPath("/libpod/secrets/{name}"), s.APIHandler(compat.RemoveSecret)).Methods(http.MethodDelete)
144

145
	/*
146
	 * Docker compatibility endpoints
147
	 */
148
	// swagger:operation GET /secrets compat SecretList
149
	// ---
150
	// tags:
151
	//  - secrets (compat)
152
	// summary: List secrets
153
	// description: Returns a list of secrets
154
	// parameters:
155
	//  - in: query
156
	//    name: filters
157
	//    type: string
158
	//    description: |
159
	//      JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Currently available filters:
160
	//        - `name=[name]` Matches secrets name (accepts regex).
161
	//        - `id=[id]` Matches for full or partial ID.
162
	// produces:
163
	// - application/json
164
	// responses:
165
	//   '200':
166
	//     "$ref": "#/responses/SecretListCompatResponse"
167
	//   '500':
168
	//      "$ref": "#/responses/internalError"
169
	r.Handle(VersionedPath("/secrets"), s.APIHandler(compat.ListSecrets)).Methods(http.MethodGet)
170
	r.Handle("/secrets", s.APIHandler(compat.ListSecrets)).Methods(http.MethodGet)
171
	// swagger:operation POST /secrets/create compat SecretCreate
172
	// ---
173
	// tags:
174
	//  - secrets (compat)
175
	// summary: Create a secret
176
	// parameters:
177
	//  - in: body
178
	//    name: create
179
	//    description: |
180
	//      attributes for creating a secret
181
	//    schema:
182
	//      $ref: "#/definitions/SecretCreate"
183
	// produces:
184
	// - application/json
185
	// responses:
186
	//   '201':
187
	//     $ref: "#/responses/SecretCreateResponse"
188
	//   '409':
189
	//     "$ref": "#/responses/SecretInUse"
190
	//   '500':
191
	//      "$ref": "#/responses/internalError"
192
	r.Handle(VersionedPath("/secrets/create"), s.APIHandler(compat.CreateSecret)).Methods(http.MethodPost)
193
	r.Handle("/secrets/create", s.APIHandler(compat.CreateSecret)).Methods(http.MethodPost)
194
	// swagger:operation GET /secrets/{name} compat SecretInspect
195
	// ---
196
	// tags:
197
	//  - secrets (compat)
198
	// summary: Inspect secret
199
	// parameters:
200
	//  - in: path
201
	//    name: name
202
	//    type: string
203
	//    required: true
204
	//    description: the name or ID of the secret
205
	// produces:
206
	// - application/json
207
	// responses:
208
	//   '200':
209
	//     "$ref": "#/responses/SecretInspectCompatResponse"
210
	//   '404':
211
	//     "$ref": "#/responses/NoSuchSecret"
212
	//   '500':
213
	//     "$ref": "#/responses/internalError"
214
	r.Handle(VersionedPath("/secrets/{name}"), s.APIHandler(compat.InspectSecret)).Methods(http.MethodGet)
215
	r.Handle("/secrets/{name}", s.APIHandler(compat.InspectSecret)).Methods(http.MethodGet)
216
	// swagger:operation DELETE /secrets/{name} compat SecretDelete
217
	// ---
218
	// tags:
219
	//  - secrets (compat)
220
	// summary: Remove secret
221
	// parameters:
222
	//  - in: path
223
	//    name: name
224
	//    type: string
225
	//    required: true
226
	//    description: the name or ID of the secret
227
	// produces:
228
	// - application/json
229
	// responses:
230
	//   '204':
231
	//     description: no error
232
	//   '404':
233
	//     "$ref": "#/responses/NoSuchSecret"
234
	//   '500':
235
	//     "$ref": "#/responses/internalError"
236
	r.Handle(VersionedPath("/secrets/{name}"), s.APIHandler(compat.RemoveSecret)).Methods(http.MethodDelete)
237
	r.Handle("/secret/{name}", s.APIHandler(compat.RemoveSecret)).Methods(http.MethodDelete)
238

239
	r.Handle(VersionedPath("/secrets/{name}/update"), s.APIHandler(compat.UpdateSecret)).Methods(http.MethodPost)
240
	r.Handle("/secrets/{name}/update", s.APIHandler(compat.UpdateSecret)).Methods(http.MethodPost)
241
	return nil
242
}
243

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.