add ssh user CA support

This commit is contained in:
Mikaël Cluseau
2025-06-28 11:04:44 +02:00
parent 4b05458cec
commit af41df6ab4
7 changed files with 172 additions and 77 deletions

View File

@ -86,8 +86,9 @@ func registerWS(rest *restful.Container) {
Doc("Delete a host template instance"))
const (
GET = http.MethodGet
PUT = http.MethodPut
GET = http.MethodGet
PUT = http.MethodPut
POST = http.MethodPost
)
cluster := func(method, subPath string) *restful.RouteBuilder {
@ -126,6 +127,13 @@ func registerWS(rest *restful.Container) {
Produces(mime.CERT).
Param(ws.QueryParameter("name", "signed reference name").Required(true)).
Doc("Get cluster's certificate signed by the CA"),
cluster(GET, "/ssh/user-ca").To(wsClusterSSHUserCAPubKey).
Produces(mime.OCTET).
Doc("User CA public key for this cluster"),
cluster(POST, "/ssh/user-ca/sign").To(wsClusterSSHUserCASign).
Produces(mime.OCTET).
Doc("Sign a user's SSH public key for this cluster"),
} {
ws.Route(builder)
}