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"
11
func (s *APIServer) registerSecretHandlers(r *mux.Router) error {
12
// swagger:operation POST /libpod/secrets/create libpod SecretCreateLibpod
16
// summary: Create a secret
21
// description: User-defined name of the secret.
26
// description: Secret driver
31
// description: Secret driver options
35
// description: Labels on the secret
38
// description: Secret
45
// $ref: "#/responses/SecretCreateResponse"
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
53
// summary: List secrets
54
// description: Returns a list of secrets
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.
67
// "$ref": "#/responses/SecretListResponse"
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
75
// summary: Inspect secret
81
// description: the name or ID of the secret
85
// description: Display Secret
91
// "$ref": "#/responses/SecretInspectResponse"
93
// "$ref": "#/responses/NoSuchSecret"
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
101
// summary: Secret exists
107
// description: the name or ID of the secret
109
// - application/json
112
// description: secret exists
114
// $ref: '#/responses/NoSuchSecret'
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
122
// summary: Remove secret
128
// description: the name or ID of the secret
132
// description: Remove all secrets
135
// - application/json
138
// description: no error
140
// "$ref": "#/responses/NoSuchSecret"
142
// "$ref": "#/responses/internalError"
143
r.Handle(VersionedPath("/libpod/secrets/{name}"), s.APIHandler(compat.RemoveSecret)).Methods(http.MethodDelete)
146
* Docker compatibility endpoints
148
// swagger:operation GET /secrets compat SecretList
151
// - secrets (compat)
152
// summary: List secrets
153
// description: Returns a list of secrets
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.
163
// - application/json
166
// "$ref": "#/responses/SecretListCompatResponse"
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
174
// - secrets (compat)
175
// summary: Create a secret
180
// attributes for creating a secret
182
// $ref: "#/definitions/SecretCreate"
184
// - application/json
187
// $ref: "#/responses/SecretCreateResponse"
189
// "$ref": "#/responses/SecretInUse"
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
197
// - secrets (compat)
198
// summary: Inspect secret
204
// description: the name or ID of the secret
206
// - application/json
209
// "$ref": "#/responses/SecretInspectCompatResponse"
211
// "$ref": "#/responses/NoSuchSecret"
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
219
// - secrets (compat)
220
// summary: Remove secret
226
// description: the name or ID of the secret
228
// - application/json
231
// description: no error
233
// "$ref": "#/responses/NoSuchSecret"
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)
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)