diff --git a/api/design/api.go b/api/design/api.go index 93c104092..d1438c37e 100644 --- a/api/design/api.go +++ b/api/design/api.go @@ -25,7 +25,7 @@ import ( var _ = API("hub", func() { Title("Tekton Hub") Description("HTTP services for managing Tekton Hub") - Version("0.1") + Version("1.0") Meta("swagger:example", "false") Server("hub", func() { Host("production", func() { diff --git a/api/design/category.go b/api/design/category.go index 0c0bed91d..dc75ee2a0 100644 --- a/api/design/category.go +++ b/api/design/category.go @@ -21,10 +21,6 @@ import ( var _ = Service("category", func() { Description("The category service provides details about category") - HTTP(func() { - Path("/categories") - }) - Error("internal-error", ErrorResult, "Internal Server Error") Method("list", func() { @@ -34,7 +30,8 @@ var _ = Service("category", func() { }) HTTP(func() { - GET("/") + GET("/categories") + GET("/v1/categories") Response(StatusOK) Response("internal-error", StatusInternalServerError) diff --git a/api/design/resource.go b/api/design/resource.go index be07d7b9e..bf4213eac 100644 --- a/api/design/resource.go +++ b/api/design/resource.go @@ -54,6 +54,8 @@ var _ = Service("resource", func() { HTTP(func() { GET("/query") + GET("/v1/query") + Param("name") Param("kinds") Param("tags") @@ -79,6 +81,8 @@ var _ = Service("resource", func() { HTTP(func() { GET("/resources") + GET("/v1/resources") + Param("limit") Response(StatusOK) @@ -98,6 +102,7 @@ var _ = Service("resource", func() { HTTP(func() { GET("/resource/{id}/versions") + GET("/v1/resource/{id}/versions") Response(StatusOK) Response("internal-error", StatusInternalServerError) @@ -127,6 +132,7 @@ var _ = Service("resource", func() { HTTP(func() { GET("/resource/{catalog}/{kind}/{name}/{version}") + GET("/v1/resource/{catalog}/{kind}/{name}/{version}") Response(StatusOK) Response("internal-error", StatusInternalServerError) @@ -146,6 +152,7 @@ var _ = Service("resource", func() { HTTP(func() { GET("/resource/version/{versionID}") + GET("/v1/resource/version/{versionID}") Response(StatusOK) Response("internal-error", StatusInternalServerError) @@ -171,6 +178,7 @@ var _ = Service("resource", func() { HTTP(func() { GET("/resource/{catalog}/{kind}/{name}") + GET("/v1/resource/{catalog}/{kind}/{name}") Response(StatusOK) Response("internal-error", StatusInternalServerError) @@ -190,6 +198,7 @@ var _ = Service("resource", func() { HTTP(func() { GET("/resource/{id}") + GET("/v1/resource/{id}") Response(StatusOK) Response("internal-error", StatusInternalServerError) diff --git a/api/gen/http/category/client/paths.go b/api/gen/http/category/client/paths.go index cf97b6cb1..00f32c188 100644 --- a/api/gen/http/category/client/paths.go +++ b/api/gen/http/category/client/paths.go @@ -11,3 +11,8 @@ package client func ListCategoryPath() string { return "/categories" } + +// ListCategoryPath2 returns the URL path to the category service list HTTP endpoint. +func ListCategoryPath2() string { + return "/v1/categories" +} diff --git a/api/gen/http/category/server/paths.go b/api/gen/http/category/server/paths.go index bd4eaac64..cf7c17ab1 100644 --- a/api/gen/http/category/server/paths.go +++ b/api/gen/http/category/server/paths.go @@ -11,3 +11,8 @@ package server func ListCategoryPath() string { return "/categories" } + +// ListCategoryPath2 returns the URL path to the category service list HTTP endpoint. +func ListCategoryPath2() string { + return "/v1/categories" +} diff --git a/api/gen/http/category/server/server.go b/api/gen/http/category/server/server.go index 244e3658e..66cd9ffb9 100644 --- a/api/gen/http/category/server/server.go +++ b/api/gen/http/category/server/server.go @@ -58,7 +58,9 @@ func New( return &Server{ Mounts: []*MountPoint{ {"List", "GET", "/categories"}, + {"List", "GET", "/v1/categories"}, {"CORS", "OPTIONS", "/categories"}, + {"CORS", "OPTIONS", "/v1/categories"}, }, List: NewListHandler(e.List, mux, decoder, encoder, errhandler, formatter), CORS: NewCORSHandler(), @@ -90,6 +92,7 @@ func MountListHandler(mux goahttp.Muxer, h http.Handler) { } } mux.Handle("GET", "/categories", f) + mux.Handle("GET", "/v1/categories", f) } // NewListHandler creates a HTTP handler which loads the HTTP request and calls @@ -135,6 +138,7 @@ func MountCORSHandler(mux goahttp.Muxer, h http.Handler) { } } mux.Handle("OPTIONS", "/categories", f) + mux.Handle("OPTIONS", "/v1/categories", f) } // NewCORSHandler creates a HTTP handler which returns a simple 200 response. diff --git a/api/gen/http/cli/hub/cli.go b/api/gen/http/cli/hub/cli.go index 2cf89d1dc..f6a11da4a 100644 --- a/api/gen/http/cli/hub/cli.go +++ b/api/gen/http/cli/hub/cli.go @@ -637,7 +637,7 @@ Find resources using name of catalog, resource name and kind of resource -name STRING: Name of resource Example: - `+os.Args[0]+` resource by-catalog-kind-name --catalog "tektoncd" --kind "task" --name "buildah" + `+os.Args[0]+` resource by-catalog-kind-name --catalog "tektoncd" --kind "pipeline" --name "buildah" `, os.Args[0]) } diff --git a/api/gen/http/openapi.json b/api/gen/http/openapi.json index dd2905e18..6fb80d1f0 100644 --- a/api/gen/http/openapi.json +++ b/api/gen/http/openapi.json @@ -1 +1 @@ -{"swagger":"2.0","info":{"title":"Tekton Hub","description":"HTTP services for managing Tekton Hub","version":"0.1"},"host":"api.hub.tekton.dev","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/StatusStatusResponseBody"}}},"schemes":["http"]}},"/auth/login":{"post":{"tags":["auth"],"summary":"Authenticate auth","description":"Authenticates users against GitHub OAuth","operationId":"auth#Authenticate","parameters":[{"name":"code","in":"query","description":"OAuth Authorization code of User","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AuthAuthenticateResponseBody","required":["data"]}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidCodeResponseBody"}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AuthAuthenticateInternalErrorResponseBody"}}},"schemes":["http"]}},"/catalog/refresh":{"post":{"tags":["catalog"],"summary":"Refresh catalog","description":"Refreshes Tekton Catalog\n\n**Required security scopes for jwt**:\n * `catalog:refresh`","operationId":"catalog#Refresh","parameters":[{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CatalogRefreshResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/CatalogRefreshNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CatalogRefreshInternalErrorResponseBody"}}},"schemes":["http"],"security":[{"jwt_header_Authorization":[]}]}},"/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CategoryListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CategoryListInternalErrorResponseBody"}}},"schemes":["http"]}},"/query":{"get":{"tags":["resource"],"summary":"Query resource","description":"Find resources by a combination of name, kind and tags","operationId":"resource#Query","parameters":[{"name":"name","in":"query","description":"Name of resource","required":false,"type":"string","default":""},{"name":"kinds","in":"query","description":"Kinds of resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"tags","in":"query","description":"Tags associated with a resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"limit","in":"query","description":"Maximum number of resources to be returned","required":false,"type":"integer","default":1000},{"name":"match","in":"query","description":"Strategy used to find matching resources","required":false,"type":"string","default":"contains","enum":["exact","contains"]}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceQueryResponseBody"}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/ResourceQueryInvalidKindResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceQueryNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceQueryInternalErrorResponseBody"}}},"schemes":["http"]}},"/resource/version/{versionID}":{"get":{"tags":["resource"],"summary":"ByVersionId resource","description":"Find a resource using its version's id","operationId":"resource#ByVersionId","parameters":[{"name":"versionID","in":"path","description":"Version ID of a resource's version","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByVersionIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByVersionIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByVersionIDInternalErrorResponseBody"}}},"schemes":["http"]}},"/resource/{catalog}/{kind}/{name}":{"get":{"tags":["resource"],"summary":"ByCatalogKindName resource","description":"Find resources using name of catalog, resource name and kind of resource","operationId":"resource#ByCatalogKindName","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"type":"string"},{"name":"kind","in":"path","description":"kind of resource","required":true,"type":"string","enum":["task","pipeline"]},{"name":"name","in":"path","description":"Name of resource","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameInternalErrorResponseBody"}}},"schemes":["http"]}},"/resource/{catalog}/{kind}/{name}/{version}":{"get":{"tags":["resource"],"summary":"ByCatalogKindNameVersion resource","description":"Find resource using name of catalog \u0026 name, kind and version of resource","operationId":"resource#ByCatalogKindNameVersion","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"type":"string"},{"name":"kind","in":"path","description":"kind of resource","required":true,"type":"string","enum":["task","pipeline"]},{"name":"name","in":"path","description":"name of resource","required":true,"type":"string"},{"name":"version","in":"path","description":"version of resource","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionInternalErrorResponseBody"}}},"schemes":["http"]}},"/resource/{id}":{"get":{"tags":["resource"],"summary":"ById resource","description":"Find a resource using it's id","operationId":"resource#ById","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByIDInternalErrorResponseBody"}}},"schemes":["http"]}},"/resource/{id}/rating":{"get":{"tags":["rating"],"summary":"Get rating","description":"Find user's rating for a resource\n\n**Required security scopes for jwt**:\n * `rating:read`","operationId":"rating#Get","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/RatingGetResponseBody","required":["rating"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/RatingGetInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/RatingGetInvalidScopesResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/RatingGetNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/RatingGetInternalErrorResponseBody"}}},"schemes":["http"],"security":[{"jwt_header_Authorization":[]}]},"put":{"tags":["rating"],"summary":"Update rating","description":"Update user's rating for a resource\n\n**Required security scopes for jwt**:\n * `rating:write`","operationId":"rating#Update","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"},{"name":"UpdateRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/RatingUpdateRequestBody","required":["rating"]}}],"responses":{"200":{"description":"OK response."},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/RatingUpdateInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/RatingUpdateInvalidScopesResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/RatingUpdateNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/RatingUpdateInternalErrorResponseBody"}}},"schemes":["http"],"security":[{"jwt_header_Authorization":[]}]}},"/resource/{id}/versions":{"get":{"tags":["resource"],"summary":"VersionsByID resource","description":"Find all versions of a resource by its id","operationId":"resource#VersionsByID","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDInternalErrorResponseBody"}}},"schemes":["http"]}},"/resources":{"get":{"tags":["resource"],"summary":"List resource","description":"List all resources sorted by rating and name","operationId":"resource#List","parameters":[{"name":"limit","in":"query","description":"Maximum number of resources to be returned","required":false,"type":"integer","default":1000}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceListInternalErrorResponseBody"}}},"schemes":["http"]}},"/schema/swagger.json":{"get":{"tags":["swagger"],"summary":"Download gen/http/openapi3.yaml","description":"JSON document containing the API swagger definition","operationId":"swagger#/schema/swagger.json","responses":{"200":{"description":"File downloaded","schema":{"type":"file"}}},"schemes":["http"]}},"/system/config/refresh":{"post":{"tags":["admin"],"summary":"RefreshConfig admin","description":"Refresh the changes in config file\n\n**Required security scopes for jwt**:\n * `config:refresh`","operationId":"admin#RefreshConfig","parameters":[{"name":"Authorization","in":"header","description":"User JWT","required":true,"type":"string"},{"name":"RefreshConfigRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/AdminRefreshConfigRequestBody","required":["force"]}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AdminRefreshConfigResponseBody","required":["checksum"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInternalErrorResponseBody"}}},"schemes":["http"],"security":[{"jwt_header_Authorization":[]}]}},"/system/user/agent":{"put":{"tags":["admin"],"summary":"UpdateAgent admin","description":"Create or Update an agent user with required scopes\n\n**Required security scopes for jwt**:\n * `agent:create`","operationId":"admin#UpdateAgent","parameters":[{"name":"Authorization","in":"header","description":"User JWT","required":true,"type":"string"},{"name":"UpdateAgentRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/AdminUpdateAgentRequestBody","required":["name","scopes"]}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AdminUpdateAgentResponseBody","required":["token"]}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidPayloadResponseBody"}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInternalErrorResponseBody"}}},"schemes":["http"],"security":[{"jwt_header_Authorization":[]}]}}},"definitions":{"AdminRefreshConfigInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid Token scopes (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigRequestBody":{"title":"AdminRefreshConfigRequestBody","type":"object","properties":{"force":{"type":"boolean","description":"Force Refresh the config file","example":false}},"example":{"force":true},"required":["force"]},"AdminRefreshConfigResponseBody":{"title":"AdminRefreshConfigResponseBody","type":"object","properties":{"checksum":{"type":"string","description":"Config file checksum","example":"Eveniet nihil et beatae ex voluptas voluptas."}},"example":{"checksum":"Non molestiae illo aut numquam."},"required":["checksum"]},"AdminUpdateAgentInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidPayloadResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid request body (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid Token scopes (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentRequestBody":{"title":"AdminUpdateAgentRequestBody","type":"object","properties":{"name":{"type":"string","description":"Name of Agent","example":"Architecto rerum id quia."},"scopes":{"type":"array","items":{"type":"string","example":"Molestiae eaque."},"description":"Scopes required for Agent","example":["Quia illum perferendis suscipit voluptatem est quae.","Autem dolores at."]}},"example":{"name":"Aliquam voluptates illo.","scopes":["Et ut pariatur similique ullam laudantium nostrum.","Totam magni reprehenderit maxime et velit.","Dolores dolor esse officia velit aliquid praesentium.","Sed optio ab beatae est."]},"required":["name","scopes"]},"AdminUpdateAgentResponseBody":{"title":"AdminUpdateAgentResponseBody","type":"object","properties":{"token":{"type":"string","description":"Agent JWT","example":"Voluptatem deleniti eum minus."}},"example":{"token":"Nulla quasi."},"required":["token"]},"AuthAuthenticateInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidCodeResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid Authorization code (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateResponseBody":{"title":"AuthAuthenticateResponseBody","type":"object","properties":{"data":{"$ref":"#/definitions/AuthTokensResponseBody"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"AuthTokensResponseBody":{"title":"AuthTokensResponseBody","type":"object","properties":{"access":{"$ref":"#/definitions/TokenResponseBody"},"refresh":{"$ref":"#/definitions/TokenResponseBody"}},"description":"Auth tokens have access and refresh token for user","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"CatalogRefreshInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"CatalogRefreshNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"CatalogRefreshResponseBody":{"title":"Mediatype identifier: application/vnd.hub.job; view=default","type":"object","properties":{"id":{"type":"integer","description":"id of the job","example":13400849950444021740,"format":"int64"},"status":{"type":"string","description":"status of the job","example":"Quas laborum odit iure optio ab magnam."}},"description":"RefreshResponseBody result type (default view)","example":{"id":6506561379957542045,"status":"Fugiat quae numquam."},"required":["id","status"]},"CatalogResponseBody":{"title":"CatalogResponseBody","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the catalog","example":1,"format":"int64"},"name":{"type":"string","description":"Name of catalog","example":"Tekton"},"type":{"type":"string","description":"Type of catalog","example":"community","enum":["official","community"]}},"example":{"id":1,"name":"Tekton","type":"community"},"required":["id","name","type"]},"CategoryListInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"CategoryListResponseBody":{"title":"CategoryListResponseBody","type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/CategoryResponseBody"},"example":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"CategoryResponseBody":{"title":"CategoryResponseBody","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the category","example":1,"format":"int64"},"name":{"type":"string","description":"Name of category","example":"Image Builder"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"List of tags associated with the category","example":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}},"example":{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},"required":["id","name","tags"]},"HubServiceResponseBody":{"title":"HubServiceResponseBody","type":"object","properties":{"error":{"type":"string","description":"Details of the error if any","example":"unable to reach db"},"name":{"type":"string","description":"Name of the service","example":"api"},"status":{"type":"string","description":"Status of the service","example":"ok","enum":["ok","error"]}},"description":"Describes the services and their status","example":{"error":"unable to reach db","name":"api","status":"ok"},"required":["name","status"]},"RatingGetInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal server error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetResponseBody":{"title":"RatingGetResponseBody","type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":4,"format":"int64"}},"example":{"rating":4},"required":["rating"]},"RatingUpdateInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateRequestBody":{"title":"RatingUpdateRequestBody","type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":3,"minimum":0,"maximum":5}},"example":{"rating":2},"required":["rating"]},"ResourceByCatalogKindNameInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBody"}},"description":"ByCatalogKindNameResponseBody result type (default view)","example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceByCatalogKindNameVersionInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameVersionNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameVersionResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceVersionDataResponseBody"}},"description":"ByCatalogKindNameVersionResponseBody result type (default view)","example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceByIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBody"}},"description":"ByIdResponseBody result type (default view)","example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceByVersionIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByVersionIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByVersionIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceVersionDataResponseBody"}},"description":"ByVersionIdResponseBody result type (default view)","example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceDataResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBody"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/definitions/ResourceVersionDataResponseBodyWithoutResource"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]},"versions":{"type":"array","items":{"$ref":"#/definitions/ResourceVersionDataResponseBodyTiny"},"description":"List of all versions of a resource","example":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"description":"The resource type describes resource information.","example":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating","versions"]},"ResourceDataResponseBodyInfo":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBody"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]}},"description":"The resource type describes resource information. (default view)","example":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"required":["id","name","catalog","kind","tags","rating"]},"ResourceDataResponseBodyWithoutVersion":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBody"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/definitions/ResourceVersionDataResponseBodyWithoutResource"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]}},"description":"The resource type describes resource information. (withoutVersion view) (default view)","example":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating"]},"ResourceDataResponseBodyWithoutVersionCollection":{"title":"Mediatype identifier: application/vnd.hub.resource.data; type=collection; view=default","type":"array","items":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersion"},"description":"ResourceDataResponseBodyWithoutVersionCollection is the result type for an array of ResourceDataResponseBodyWithoutVersion (default view)","example":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"ResourceListInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceListResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resources; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersionCollection"}},"description":"ListResponseBody result type (default view)","example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]}]},"required":["data"]},"ResourceQueryInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryInvalidKindResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid Resource Kind (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resources; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersionCollection"}},"description":"QueryResponseBody result type (default view)","example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]}]},"required":["data"]},"ResourceVersionDataResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","format":"uri"},"resource":{"$ref":"#/definitions/ResourceDataResponseBodyInfo"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information.","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt","resource"]},"ResourceVersionDataResponseBodyMin":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","format":"uri"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information. (default view)","example":{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"required":["id","version","rawURL","webURL"]},"ResourceVersionDataResponseBodyTiny":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"version":{"type":"string","description":"Version of resource","example":"0.1"}},"description":"The Version result type describes resource's version information. (default view)","example":{"id":1,"version":"0.1"},"required":["id","version"]},"ResourceVersionDataResponseBodyWithoutResource":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","format":"uri"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information. (default view)","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt"]},"ResourceVersionsByIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceVersionsByIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceVersionsByIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.versions; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/VersionsResponseBody"}},"description":"VersionsByIDResponseBody result type (default view)","example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}},"required":["data"]},"StatusStatusResponseBody":{"title":"StatusStatusResponseBody","type":"object","properties":{"services":{"type":"array","items":{"$ref":"#/definitions/HubServiceResponseBody"},"description":"List of services and their status","example":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"TagResponseBody":{"title":"TagResponseBody","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of tag","example":1,"format":"int64"},"name":{"type":"string","description":"Name of tag","example":"image-build"}},"example":{"id":1,"name":"image-build"},"required":["id","name"]},"TokenResponseBody":{"title":"TokenResponseBody","type":"object","properties":{"expiresAt":{"type":"integer","description":"Time the token will expires at","example":0,"format":"int64"},"refreshInterval":{"type":"string","description":"Duration the token will Expire In","example":"1h30m"},"token":{"type":"string","description":"JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"description":"Token includes the JWT, Expire Duration \u0026 Time","example":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token","refreshInterval","expiresAt"]},"VersionsResponseBody":{"title":"Mediatype identifier: application/vnd.hub.versions; view=default","type":"object","properties":{"latest":{"$ref":"#/definitions/ResourceVersionDataResponseBodyMin"},"versions":{"type":"array","items":{"$ref":"#/definitions/ResourceVersionDataResponseBodyMin"},"description":"List of all versions of resource","example":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}},"description":"The Versions type describes response for versions by resource id API.","example":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]},"required":["latest","versions"]}},"securityDefinitions":{"jwt_header_Authorization":{"type":"apiKey","description":"Secures endpoint by requiring a valid JWT retrieved via the /auth/login endpoint.\n\n**Security Scopes**:\n * `rating:read`: Read-only access to rating\n * `rating:write`: Read and write access to rating\n * `agent:create`: Access to create or update an agent\n * `catalog:refresh`: Access to refresh catalog\n * `config:refresh`: Access to refresh config file","name":"Authorization","in":"header"}}} \ No newline at end of file +{"swagger":"2.0","info":{"title":"Tekton Hub","description":"HTTP services for managing Tekton Hub","version":"1.0"},"host":"api.hub.tekton.dev","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/StatusStatusResponseBody"}}},"schemes":["http"]}},"/auth/login":{"post":{"tags":["auth"],"summary":"Authenticate auth","description":"Authenticates users against GitHub OAuth","operationId":"auth#Authenticate","parameters":[{"name":"code","in":"query","description":"OAuth Authorization code of User","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AuthAuthenticateResponseBody","required":["data"]}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidCodeResponseBody"}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AuthAuthenticateInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AuthAuthenticateInternalErrorResponseBody"}}},"schemes":["http"]}},"/catalog/refresh":{"post":{"tags":["catalog"],"summary":"Refresh catalog","description":"Refreshes Tekton Catalog\n\n**Required security scopes for jwt**:\n * `catalog:refresh`","operationId":"catalog#Refresh","parameters":[{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CatalogRefreshResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/CatalogRefreshNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CatalogRefreshInternalErrorResponseBody"}}},"schemes":["http"],"security":[{"jwt_header_Authorization":[]}]}},"/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CategoryListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CategoryListInternalErrorResponseBody"}}},"schemes":["http"]}},"/query":{"get":{"tags":["resource"],"summary":"Query resource","description":"Find resources by a combination of name, kind and tags","operationId":"resource#Query","parameters":[{"name":"name","in":"query","description":"Name of resource","required":false,"type":"string","default":""},{"name":"kinds","in":"query","description":"Kinds of resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"tags","in":"query","description":"Tags associated with a resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"limit","in":"query","description":"Maximum number of resources to be returned","required":false,"type":"integer","default":1000},{"name":"match","in":"query","description":"Strategy used to find matching resources","required":false,"type":"string","default":"contains","enum":["exact","contains"]}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceQueryResponseBody"}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/ResourceQueryInvalidKindResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceQueryNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceQueryInternalErrorResponseBody"}}},"schemes":["http"]}},"/resource/version/{versionID}":{"get":{"tags":["resource"],"summary":"ByVersionId resource","description":"Find a resource using its version's id","operationId":"resource#ByVersionId","parameters":[{"name":"versionID","in":"path","description":"Version ID of a resource's version","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByVersionIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByVersionIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByVersionIDInternalErrorResponseBody"}}},"schemes":["http"]}},"/resource/{catalog}/{kind}/{name}":{"get":{"tags":["resource"],"summary":"ByCatalogKindName resource","description":"Find resources using name of catalog, resource name and kind of resource","operationId":"resource#ByCatalogKindName","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"type":"string"},{"name":"kind","in":"path","description":"kind of resource","required":true,"type":"string","enum":["task","pipeline"]},{"name":"name","in":"path","description":"Name of resource","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameInternalErrorResponseBody"}}},"schemes":["http"]}},"/resource/{catalog}/{kind}/{name}/{version}":{"get":{"tags":["resource"],"summary":"ByCatalogKindNameVersion resource","description":"Find resource using name of catalog \u0026 name, kind and version of resource","operationId":"resource#ByCatalogKindNameVersion","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"type":"string"},{"name":"kind","in":"path","description":"kind of resource","required":true,"type":"string","enum":["task","pipeline"]},{"name":"name","in":"path","description":"name of resource","required":true,"type":"string"},{"name":"version","in":"path","description":"version of resource","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionInternalErrorResponseBody"}}},"schemes":["http"]}},"/resource/{id}":{"get":{"tags":["resource"],"summary":"ById resource","description":"Find a resource using it's id","operationId":"resource#ById","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByIDInternalErrorResponseBody"}}},"schemes":["http"]}},"/resource/{id}/rating":{"get":{"tags":["rating"],"summary":"Get rating","description":"Find user's rating for a resource\n\n**Required security scopes for jwt**:\n * `rating:read`","operationId":"rating#Get","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/RatingGetResponseBody","required":["rating"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/RatingGetInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/RatingGetInvalidScopesResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/RatingGetNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/RatingGetInternalErrorResponseBody"}}},"schemes":["http"],"security":[{"jwt_header_Authorization":[]}]},"put":{"tags":["rating"],"summary":"Update rating","description":"Update user's rating for a resource\n\n**Required security scopes for jwt**:\n * `rating:write`","operationId":"rating#Update","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"},{"name":"Authorization","in":"header","description":"JWT","required":true,"type":"string"},{"name":"UpdateRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/RatingUpdateRequestBody","required":["rating"]}}],"responses":{"200":{"description":"OK response."},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/RatingUpdateInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/RatingUpdateInvalidScopesResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/RatingUpdateNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/RatingUpdateInternalErrorResponseBody"}}},"schemes":["http"],"security":[{"jwt_header_Authorization":[]}]}},"/resource/{id}/versions":{"get":{"tags":["resource"],"summary":"VersionsByID resource","description":"Find all versions of a resource by its id","operationId":"resource#VersionsByID","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDInternalErrorResponseBody"}}},"schemes":["http"]}},"/resources":{"get":{"tags":["resource"],"summary":"List resource","description":"List all resources sorted by rating and name","operationId":"resource#List","parameters":[{"name":"limit","in":"query","description":"Maximum number of resources to be returned","required":false,"type":"integer","default":1000}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceListInternalErrorResponseBody"}}},"schemes":["http"]}},"/schema/swagger.json":{"get":{"tags":["swagger"],"summary":"Download gen/http/openapi3.yaml","description":"JSON document containing the API swagger definition","operationId":"swagger#/schema/swagger.json","responses":{"200":{"description":"File downloaded","schema":{"type":"file"}}},"schemes":["http"]}},"/system/config/refresh":{"post":{"tags":["admin"],"summary":"RefreshConfig admin","description":"Refresh the changes in config file\n\n**Required security scopes for jwt**:\n * `config:refresh`","operationId":"admin#RefreshConfig","parameters":[{"name":"Authorization","in":"header","description":"User JWT","required":true,"type":"string"},{"name":"RefreshConfigRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/AdminRefreshConfigRequestBody","required":["force"]}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AdminRefreshConfigResponseBody","required":["checksum"]}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AdminRefreshConfigInternalErrorResponseBody"}}},"schemes":["http"],"security":[{"jwt_header_Authorization":[]}]}},"/system/user/agent":{"put":{"tags":["admin"],"summary":"UpdateAgent admin","description":"Create or Update an agent user with required scopes\n\n**Required security scopes for jwt**:\n * `agent:create`","operationId":"admin#UpdateAgent","parameters":[{"name":"Authorization","in":"header","description":"User JWT","required":true,"type":"string"},{"name":"UpdateAgentRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/AdminUpdateAgentRequestBody","required":["name","scopes"]}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/AdminUpdateAgentResponseBody","required":["token"]}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidPayloadResponseBody"}},"401":{"description":"Unauthorized response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidTokenResponseBody"}},"403":{"description":"Forbidden response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInvalidScopesResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/AdminUpdateAgentInternalErrorResponseBody"}}},"schemes":["http"],"security":[{"jwt_header_Authorization":[]}]}},"/v1/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list#1","responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/CategoryListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/CategoryListInternalErrorResponseBody"}}},"schemes":["http"]}},"/v1/query":{"get":{"tags":["resource"],"summary":"Query resource","description":"Find resources by a combination of name, kind and tags","operationId":"resource#Query#1","parameters":[{"name":"name","in":"query","description":"Name of resource","required":false,"type":"string","default":""},{"name":"kinds","in":"query","description":"Kinds of resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"tags","in":"query","description":"Tags associated with a resource to filter by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"limit","in":"query","description":"Maximum number of resources to be returned","required":false,"type":"integer","default":1000},{"name":"match","in":"query","description":"Strategy used to find matching resources","required":false,"type":"string","default":"contains","enum":["exact","contains"]}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceQueryResponseBody"}},"400":{"description":"Bad Request response.","schema":{"$ref":"#/definitions/ResourceQueryInvalidKindResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceQueryNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceQueryInternalErrorResponseBody"}}},"schemes":["http"]}},"/v1/resource/version/{versionID}":{"get":{"tags":["resource"],"summary":"ByVersionId resource","description":"Find a resource using its version's id","operationId":"resource#ByVersionId#1","parameters":[{"name":"versionID","in":"path","description":"Version ID of a resource's version","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByVersionIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByVersionIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByVersionIDInternalErrorResponseBody"}}},"schemes":["http"]}},"/v1/resource/{catalog}/{kind}/{name}":{"get":{"tags":["resource"],"summary":"ByCatalogKindName resource","description":"Find resources using name of catalog, resource name and kind of resource","operationId":"resource#ByCatalogKindName#1","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"type":"string"},{"name":"kind","in":"path","description":"kind of resource","required":true,"type":"string","enum":["task","pipeline"]},{"name":"name","in":"path","description":"Name of resource","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameInternalErrorResponseBody"}}},"schemes":["http"]}},"/v1/resource/{catalog}/{kind}/{name}/{version}":{"get":{"tags":["resource"],"summary":"ByCatalogKindNameVersion resource","description":"Find resource using name of catalog \u0026 name, kind and version of resource","operationId":"resource#ByCatalogKindNameVersion#1","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"type":"string"},{"name":"kind","in":"path","description":"kind of resource","required":true,"type":"string","enum":["task","pipeline"]},{"name":"name","in":"path","description":"name of resource","required":true,"type":"string"},{"name":"version","in":"path","description":"version of resource","required":true,"type":"string"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByCatalogKindNameVersionInternalErrorResponseBody"}}},"schemes":["http"]}},"/v1/resource/{id}":{"get":{"tags":["resource"],"summary":"ById resource","description":"Find a resource using it's id","operationId":"resource#ById#1","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceByIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceByIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceByIDInternalErrorResponseBody"}}},"schemes":["http"]}},"/v1/resource/{id}/versions":{"get":{"tags":["resource"],"summary":"VersionsByID resource","description":"Find all versions of a resource by its id","operationId":"resource#VersionsByID#1","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"type":"integer"}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDResponseBody"}},"404":{"description":"Not Found response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDNotFoundResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceVersionsByIDInternalErrorResponseBody"}}},"schemes":["http"]}},"/v1/resources":{"get":{"tags":["resource"],"summary":"List resource","description":"List all resources sorted by rating and name","operationId":"resource#List#1","parameters":[{"name":"limit","in":"query","description":"Maximum number of resources to be returned","required":false,"type":"integer","default":1000}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/ResourceListResponseBody"}},"500":{"description":"Internal Server Error response.","schema":{"$ref":"#/definitions/ResourceListInternalErrorResponseBody"}}},"schemes":["http"]}}},"definitions":{"AdminRefreshConfigInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid Token scopes (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminRefreshConfigRequestBody":{"title":"AdminRefreshConfigRequestBody","type":"object","properties":{"force":{"type":"boolean","description":"Force Refresh the config file","example":true}},"example":{"force":false},"required":["force"]},"AdminRefreshConfigResponseBody":{"title":"AdminRefreshConfigResponseBody","type":"object","properties":{"checksum":{"type":"string","description":"Config file checksum","example":"Voluptas voluptas deserunt non molestiae illo."}},"example":{"checksum":"Numquam eaque sunt voluptas eius non illo."},"required":["checksum"]},"AdminUpdateAgentInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal server error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidPayloadResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid request body (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid Token scopes (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AdminUpdateAgentRequestBody":{"title":"AdminUpdateAgentRequestBody","type":"object","properties":{"name":{"type":"string","description":"Name of Agent","example":"Quia molestiae eaque necessitatibus magni quia illum."},"scopes":{"type":"array","items":{"type":"string","example":"Suscipit voluptatem."},"description":"Scopes required for Agent","example":["Rerum autem dolores at.","Aliquam voluptates illo.","Illum et ut pariatur similique.","Laudantium nostrum quia totam magni reprehenderit maxime."]}},"example":{"name":"Velit itaque dolores dolor esse.","scopes":["Aliquid praesentium saepe sed optio ab.","Est magnam eveniet nihil et beatae."]},"required":["name","scopes"]},"AdminUpdateAgentResponseBody":{"title":"AdminUpdateAgentResponseBody","type":"object","properties":{"token":{"type":"string","description":"Agent JWT","example":"Eum minus reiciendis nulla."}},"example":{"token":"Natus aut assumenda aut."},"required":["token"]},"AuthAuthenticateInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidCodeResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid Authorization code (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User scope (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"AuthAuthenticateResponseBody":{"title":"AuthAuthenticateResponseBody","type":"object","properties":{"data":{"$ref":"#/definitions/AuthTokensResponseBody"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"AuthTokensResponseBody":{"title":"AuthTokensResponseBody","type":"object","properties":{"access":{"$ref":"#/definitions/TokenResponseBody"},"refresh":{"$ref":"#/definitions/TokenResponseBody"}},"description":"Auth tokens have access and refresh token for user","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"CatalogRefreshInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"CatalogRefreshNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"CatalogRefreshResponseBody":{"title":"Mediatype identifier: application/vnd.hub.job; view=default","type":"object","properties":{"id":{"type":"integer","description":"id of the job","example":14575660200349537009,"format":"int64"},"status":{"type":"string","description":"status of the job","example":"Magnam tempore consequatur fugiat quae."}},"description":"RefreshResponseBody result type (default view)","example":{"id":13506291968005789499,"status":"Ea itaque nam rerum aut officia a."},"required":["id","status"]},"CatalogResponseBody":{"title":"CatalogResponseBody","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the catalog","example":1,"format":"int64"},"name":{"type":"string","description":"Name of catalog","example":"Tekton"},"type":{"type":"string","description":"Type of catalog","example":"community","enum":["official","community"]}},"example":{"id":1,"name":"Tekton","type":"community"},"required":["id","name","type"]},"CategoryListInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"CategoryListResponseBody":{"title":"CategoryListResponseBody","type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/CategoryResponseBody"},"example":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"CategoryResponseBody":{"title":"CategoryResponseBody","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the category","example":1,"format":"int64"},"name":{"type":"string","description":"Name of category","example":"Image Builder"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"List of tags associated with the category","example":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}},"example":{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},"required":["id","name","tags"]},"HubServiceResponseBody":{"title":"HubServiceResponseBody","type":"object","properties":{"error":{"type":"string","description":"Details of the error if any","example":"unable to reach db"},"name":{"type":"string","description":"Name of the service","example":"api"},"status":{"type":"string","description":"Status of the service","example":"ok","enum":["ok","error"]}},"description":"Describes the services and their status","example":{"error":"unable to reach db","name":"api","status":"ok"},"required":["name","status"]},"RatingGetInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal server error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User scope (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingGetResponseBody":{"title":"RatingGetResponseBody","type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":4,"format":"int64"}},"example":{"rating":4},"required":["rating"]},"RatingUpdateInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal server error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateInvalidScopesResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid User scope (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateInvalidTokenResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Invalid User token (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"RatingUpdateRequestBody":{"title":"RatingUpdateRequestBody","type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":3,"minimum":0,"maximum":5}},"example":{"rating":1},"required":["rating"]},"ResourceByCatalogKindNameInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBody"}},"description":"ByCatalogKindNameResponseBody result type (default view)","example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceByCatalogKindNameVersionInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameVersionNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByCatalogKindNameVersionResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceVersionDataResponseBody"}},"description":"ByCatalogKindNameVersionResponseBody result type (default view)","example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceByIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBody"}},"description":"ByIdResponseBody result type (default view)","example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceByVersionIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByVersionIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceByVersionIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceVersionDataResponseBody"}},"description":"ByVersionIdResponseBody result type (default view)","example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceDataResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBody"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/definitions/ResourceVersionDataResponseBodyWithoutResource"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]},"versions":{"type":"array","items":{"$ref":"#/definitions/ResourceVersionDataResponseBodyTiny"},"description":"List of all versions of a resource","example":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"description":"The resource type describes resource information.","example":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating","versions"]},"ResourceDataResponseBodyInfo":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBody"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]}},"description":"The resource type describes resource information. (default view)","example":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"required":["id","name","catalog","kind","tags","rating"]},"ResourceDataResponseBodyWithoutVersion":{"title":"Mediatype identifier: application/vnd.hub.resource.data; view=default","type":"object","properties":{"catalog":{"$ref":"#/definitions/CatalogResponseBody"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1,"format":"int64"},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/definitions/ResourceVersionDataResponseBodyWithoutResource"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/definitions/TagResponseBody"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]}},"description":"The resource type describes resource information. (withoutVersion view) (default view)","example":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating"]},"ResourceDataResponseBodyWithoutVersionCollection":{"title":"Mediatype identifier: application/vnd.hub.resource.data; type=collection; view=default","type":"array","items":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersion"},"description":"ResourceDataResponseBodyWithoutVersionCollection is the result type for an array of ResourceDataResponseBodyWithoutVersion (default view)","example":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"ResourceListInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceListResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resources; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersionCollection"}},"description":"ListResponseBody result type (default view)","example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]}]},"required":["data"]},"ResourceQueryInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryInvalidKindResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Invalid Resource Kind (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceQueryResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resources; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/ResourceDataResponseBodyWithoutVersionCollection"}},"description":"QueryResponseBody result type (default view)","example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]}]},"required":["data"]},"ResourceVersionDataResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","format":"uri"},"resource":{"$ref":"#/definitions/ResourceDataResponseBodyInfo"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information.","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt","resource"]},"ResourceVersionDataResponseBodyMin":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","format":"uri"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information. (default view)","example":{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"required":["id","version","rawURL","webURL"]},"ResourceVersionDataResponseBodyTiny":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"version":{"type":"string","description":"Version of resource","example":"0.1"}},"description":"The Version result type describes resource's version information. (default view)","example":{"id":1,"version":"0.1"},"required":["id","version"]},"ResourceVersionDataResponseBodyWithoutResource":{"title":"Mediatype identifier: application/vnd.hub.resource.version.data; view=default","type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1,"format":"int64"},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","format":"uri"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information. (default view)","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt"]},"ResourceVersionsByIDInternalErrorResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":false},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error (default view)","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"ResourceVersionsByIDNotFoundResponseBody":{"title":"Mediatype identifier: application/vnd.goa.error; view=default","type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Resource Not Found Error (default view)","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"ResourceVersionsByIDResponseBody":{"title":"Mediatype identifier: application/vnd.hub.resource.versions; view=default","type":"object","properties":{"data":{"$ref":"#/definitions/VersionsResponseBody"}},"description":"VersionsByIDResponseBody result type (default view)","example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}},"required":["data"]},"StatusStatusResponseBody":{"title":"StatusStatusResponseBody","type":"object","properties":{"services":{"type":"array","items":{"$ref":"#/definitions/HubServiceResponseBody"},"description":"List of services and their status","example":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"TagResponseBody":{"title":"TagResponseBody","type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of tag","example":1,"format":"int64"},"name":{"type":"string","description":"Name of tag","example":"image-build"}},"example":{"id":1,"name":"image-build"},"required":["id","name"]},"TokenResponseBody":{"title":"TokenResponseBody","type":"object","properties":{"expiresAt":{"type":"integer","description":"Time the token will expires at","example":0,"format":"int64"},"refreshInterval":{"type":"string","description":"Duration the token will Expire In","example":"1h30m"},"token":{"type":"string","description":"JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"description":"Token includes the JWT, Expire Duration \u0026 Time","example":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token","refreshInterval","expiresAt"]},"VersionsResponseBody":{"title":"Mediatype identifier: application/vnd.hub.versions; view=default","type":"object","properties":{"latest":{"$ref":"#/definitions/ResourceVersionDataResponseBodyMin"},"versions":{"type":"array","items":{"$ref":"#/definitions/ResourceVersionDataResponseBodyMin"},"description":"List of all versions of resource","example":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}},"description":"The Versions type describes response for versions by resource id API.","example":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]},"required":["latest","versions"]}},"securityDefinitions":{"jwt_header_Authorization":{"type":"apiKey","description":"Secures endpoint by requiring a valid JWT retrieved via the /auth/login endpoint.\n\n**Security Scopes**:\n * `rating:read`: Read-only access to rating\n * `rating:write`: Read and write access to rating\n * `agent:create`: Access to create or update an agent\n * `catalog:refresh`: Access to refresh catalog\n * `config:refresh`: Access to refresh config file","name":"Authorization","in":"header"}}} \ No newline at end of file diff --git a/api/gen/http/openapi.yaml b/api/gen/http/openapi.yaml index 7894004fc..378664a29 100644 --- a/api/gen/http/openapi.yaml +++ b/api/gen/http/openapi.yaml @@ -2,7 +2,7 @@ swagger: "2.0" info: title: Tekton Hub description: HTTP services for managing Tekton Hub - version: "0.1" + version: "1.0" host: api.hub.tekton.dev consumes: - application/json @@ -590,6 +590,284 @@ paths: - http security: - jwt_header_Authorization: [] + /v1/categories: + get: + tags: + - category + summary: list category + description: List all categories along with their tags sorted by name + operationId: category#list#1 + responses: + "200": + description: OK response. + schema: + $ref: '#/definitions/CategoryListResponseBody' + "500": + description: Internal Server Error response. + schema: + $ref: '#/definitions/CategoryListInternalErrorResponseBody' + schemes: + - http + /v1/query: + get: + tags: + - resource + summary: Query resource + description: Find resources by a combination of name, kind and tags + operationId: resource#Query#1 + parameters: + - name: name + in: query + description: Name of resource + required: false + type: string + default: "" + - name: kinds + in: query + description: Kinds of resource to filter by + required: false + type: array + items: + type: string + collectionFormat: multi + - name: tags + in: query + description: Tags associated with a resource to filter by + required: false + type: array + items: + type: string + collectionFormat: multi + - name: limit + in: query + description: Maximum number of resources to be returned + required: false + type: integer + default: 1000 + - name: match + in: query + description: Strategy used to find matching resources + required: false + type: string + default: contains + enum: + - exact + - contains + responses: + "200": + description: OK response. + schema: + $ref: '#/definitions/ResourceQueryResponseBody' + "400": + description: Bad Request response. + schema: + $ref: '#/definitions/ResourceQueryInvalidKindResponseBody' + "404": + description: Not Found response. + schema: + $ref: '#/definitions/ResourceQueryNotFoundResponseBody' + "500": + description: Internal Server Error response. + schema: + $ref: '#/definitions/ResourceQueryInternalErrorResponseBody' + schemes: + - http + /v1/resource/{catalog}/{kind}/{name}: + get: + tags: + - resource + summary: ByCatalogKindName resource + description: Find resources using name of catalog, resource name and kind of resource + operationId: resource#ByCatalogKindName#1 + parameters: + - name: catalog + in: path + description: name of catalog + required: true + type: string + - name: kind + in: path + description: kind of resource + required: true + type: string + enum: + - task + - pipeline + - name: name + in: path + description: Name of resource + required: true + type: string + responses: + "200": + description: OK response. + schema: + $ref: '#/definitions/ResourceByCatalogKindNameResponseBody' + "404": + description: Not Found response. + schema: + $ref: '#/definitions/ResourceByCatalogKindNameNotFoundResponseBody' + "500": + description: Internal Server Error response. + schema: + $ref: '#/definitions/ResourceByCatalogKindNameInternalErrorResponseBody' + schemes: + - http + /v1/resource/{catalog}/{kind}/{name}/{version}: + get: + tags: + - resource + summary: ByCatalogKindNameVersion resource + description: Find resource using name of catalog & name, kind and version of resource + operationId: resource#ByCatalogKindNameVersion#1 + parameters: + - name: catalog + in: path + description: name of catalog + required: true + type: string + - name: kind + in: path + description: kind of resource + required: true + type: string + enum: + - task + - pipeline + - name: name + in: path + description: name of resource + required: true + type: string + - name: version + in: path + description: version of resource + required: true + type: string + responses: + "200": + description: OK response. + schema: + $ref: '#/definitions/ResourceByCatalogKindNameVersionResponseBody' + "404": + description: Not Found response. + schema: + $ref: '#/definitions/ResourceByCatalogKindNameVersionNotFoundResponseBody' + "500": + description: Internal Server Error response. + schema: + $ref: '#/definitions/ResourceByCatalogKindNameVersionInternalErrorResponseBody' + schemes: + - http + /v1/resource/{id}: + get: + tags: + - resource + summary: ById resource + description: Find a resource using it's id + operationId: resource#ById#1 + parameters: + - name: id + in: path + description: ID of a resource + required: true + type: integer + responses: + "200": + description: OK response. + schema: + $ref: '#/definitions/ResourceByIDResponseBody' + "404": + description: Not Found response. + schema: + $ref: '#/definitions/ResourceByIDNotFoundResponseBody' + "500": + description: Internal Server Error response. + schema: + $ref: '#/definitions/ResourceByIDInternalErrorResponseBody' + schemes: + - http + /v1/resource/{id}/versions: + get: + tags: + - resource + summary: VersionsByID resource + description: Find all versions of a resource by its id + operationId: resource#VersionsByID#1 + parameters: + - name: id + in: path + description: ID of a resource + required: true + type: integer + responses: + "200": + description: OK response. + schema: + $ref: '#/definitions/ResourceVersionsByIDResponseBody' + "404": + description: Not Found response. + schema: + $ref: '#/definitions/ResourceVersionsByIDNotFoundResponseBody' + "500": + description: Internal Server Error response. + schema: + $ref: '#/definitions/ResourceVersionsByIDInternalErrorResponseBody' + schemes: + - http + /v1/resource/version/{versionID}: + get: + tags: + - resource + summary: ByVersionId resource + description: Find a resource using its version's id + operationId: resource#ByVersionId#1 + parameters: + - name: versionID + in: path + description: Version ID of a resource's version + required: true + type: integer + responses: + "200": + description: OK response. + schema: + $ref: '#/definitions/ResourceByVersionIDResponseBody' + "404": + description: Not Found response. + schema: + $ref: '#/definitions/ResourceByVersionIDNotFoundResponseBody' + "500": + description: Internal Server Error response. + schema: + $ref: '#/definitions/ResourceByVersionIDInternalErrorResponseBody' + schemes: + - http + /v1/resources: + get: + tags: + - resource + summary: List resource + description: List all resources sorted by rating and name + operationId: resource#List#1 + parameters: + - name: limit + in: query + description: Maximum number of resources to be returned + required: false + type: integer + default: 1000 + responses: + "200": + description: OK response. + schema: + $ref: '#/definitions/ResourceListResponseBody' + "500": + description: Internal Server Error response. + schema: + $ref: '#/definitions/ResourceListInternalErrorResponseBody' + schemes: + - http definitions: AdminRefreshConfigInternalErrorResponseBody: title: 'Mediatype identifier: application/vnd.goa.error; view=default' @@ -598,7 +876,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: true + example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -618,14 +896,14 @@ definitions: timeout: type: boolean description: Is the error a timeout? - example: false + example: true description: Internal server error (default view) example: fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: false + temporary: true timeout: true required: - name @@ -641,7 +919,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -657,19 +935,19 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: true + example: false timeout: type: boolean description: Is the error a timeout? - example: true + example: false description: Invalid Token scopes (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true - timeout: false + temporary: false + timeout: true required: - name - id @@ -684,7 +962,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: true + example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -700,19 +978,19 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: false + example: true timeout: type: boolean description: Is the error a timeout? example: true description: Invalid User token (default view) example: - fault: true + fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: true - timeout: true + timeout: false required: - name - id @@ -727,9 +1005,9 @@ definitions: force: type: boolean description: Force Refresh the config file - example: false + example: true example: - force: true + force: false required: - force AdminRefreshConfigResponseBody: @@ -739,9 +1017,9 @@ definitions: checksum: type: string description: Config file checksum - example: Eveniet nihil et beatae ex voluptas voluptas. + example: Voluptas voluptas deserunt non molestiae illo. example: - checksum: Non molestiae illo aut numquam. + checksum: Numquam eaque sunt voluptas eius non illo. required: - checksum AdminUpdateAgentInternalErrorResponseBody: @@ -751,7 +1029,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: true + example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -767,7 +1045,7 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: true + example: false timeout: type: boolean description: Is the error a timeout? @@ -778,7 +1056,7 @@ definitions: id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true + temporary: false timeout: false required: - name @@ -794,7 +1072,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: true + example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -817,7 +1095,7 @@ definitions: example: false description: Invalid request body (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request @@ -837,7 +1115,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -880,7 +1158,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -896,19 +1174,19 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: false + example: true timeout: type: boolean description: Is the error a timeout? - example: true + example: false description: Invalid User token (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: true - timeout: true + timeout: false required: - name - id @@ -923,23 +1201,23 @@ definitions: name: type: string description: Name of Agent - example: Architecto rerum id quia. + example: Quia molestiae eaque necessitatibus magni quia illum. scopes: type: array items: type: string - example: Molestiae eaque. + example: Suscipit voluptatem. description: Scopes required for Agent example: - - Quia illum perferendis suscipit voluptatem est quae. - - Autem dolores at. + - Rerum autem dolores at. + - Aliquam voluptates illo. + - Illum et ut pariatur similique. + - Laudantium nostrum quia totam magni reprehenderit maxime. example: - name: Aliquam voluptates illo. + name: Velit itaque dolores dolor esse. scopes: - - Et ut pariatur similique ullam laudantium nostrum. - - Totam magni reprehenderit maxime et velit. - - Dolores dolor esse officia velit aliquid praesentium. - - Sed optio ab beatae est. + - Aliquid praesentium saepe sed optio ab. + - Est magnam eveniet nihil et beatae. required: - name - scopes @@ -950,9 +1228,9 @@ definitions: token: type: string description: Agent JWT - example: Voluptatem deleniti eum minus. + example: Eum minus reiciendis nulla. example: - token: Nulla quasi. + token: Natus aut assumenda aut. required: - token AuthAuthenticateInternalErrorResponseBody: @@ -989,8 +1267,8 @@ definitions: id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: false - timeout: true + temporary: true + timeout: false required: - name - id @@ -1005,7 +1283,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -1021,7 +1299,7 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: false + example: true timeout: type: boolean description: Is the error a timeout? @@ -1048,7 +1326,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -1075,8 +1353,8 @@ definitions: id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: false - timeout: true + temporary: true + timeout: false required: - name - id @@ -1118,8 +1396,8 @@ definitions: id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true - timeout: true + temporary: false + timeout: false required: - name - id @@ -1190,14 +1468,14 @@ definitions: timeout: type: boolean description: Is the error a timeout? - example: true + example: false description: Internal Server Error (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true + temporary: false timeout: false required: - name @@ -1213,7 +1491,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: true + example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -1236,12 +1514,12 @@ definitions: example: true description: Resource Not Found Error (default view) example: - fault: true + fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true - timeout: true + temporary: false + timeout: false required: - name - id @@ -1256,16 +1534,16 @@ definitions: id: type: integer description: id of the job - example: 13400849950444021740 + example: 14575660200349537009 format: int64 status: type: string description: status of the job - example: Quas laborum odit iure optio ab magnam. + example: Magnam tempore consequatur fugiat quae. description: RefreshResponseBody result type (default view) example: - id: 6506561379957542045 - status: Fugiat quae numquam. + id: 13506291968005789499 + status: Ea itaque nam rerum aut officia a. required: - id - status @@ -1320,19 +1598,19 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: true + example: false timeout: type: boolean description: Is the error a timeout? - example: true + example: false description: Internal Server Error (default view) example: - fault: true + fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: false - timeout: false + temporary: true + timeout: true required: - name - id @@ -1363,20 +1641,6 @@ definitions: name: image-build - id: 2 name: kaniko - - id: 1 - name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - - id: 1 - name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko example: data: - id: 1 @@ -1393,6 +1657,13 @@ definitions: name: image-build - id: 2 name: kaniko + - id: 1 + name: Image Builder + tags: + - id: 1 + name: image-build + - id: 2 + name: kaniko CategoryResponseBody: title: CategoryResponseBody type: object @@ -1462,7 +1733,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -1489,7 +1760,7 @@ definitions: id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true + temporary: false timeout: false required: - name @@ -1505,7 +1776,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: true + example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -1521,11 +1792,11 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: false + example: true timeout: type: boolean description: Is the error a timeout? - example: false + example: true description: Invalid User scope (default view) example: fault: false @@ -1564,7 +1835,7 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: true + example: false timeout: type: boolean description: Is the error a timeout? @@ -1575,7 +1846,7 @@ definitions: id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: false + temporary: true timeout: false required: - name @@ -1591,7 +1862,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: true + example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -1607,11 +1878,11 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: false + example: true timeout: type: boolean description: Is the error a timeout? - example: true + example: false description: Resource Not Found Error (default view) example: fault: false @@ -1619,7 +1890,7 @@ definitions: message: parameter 'p' must be an integer name: bad_request temporary: true - timeout: true + timeout: false required: - name - id @@ -1663,18 +1934,18 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: false + example: true timeout: type: boolean description: Is the error a timeout? - example: true + example: false description: Internal server error (default view) example: - fault: true + fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true + temporary: false timeout: false required: - name @@ -1690,7 +1961,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -1706,18 +1977,18 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: true + example: false timeout: type: boolean description: Is the error a timeout? - example: false + example: true description: Invalid User scope (default view) example: fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: false + temporary: true timeout: true required: - name @@ -1756,12 +2027,12 @@ definitions: example: false description: Invalid User token (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: false - timeout: false + timeout: true required: - name - id @@ -1792,14 +2063,14 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: true + example: false timeout: type: boolean description: Is the error a timeout? example: true description: Resource Not Found Error (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request @@ -1823,7 +2094,7 @@ definitions: minimum: 0 maximum: 5 example: - rating: 2 + rating: 1 required: - rating ResourceByCatalogKindNameInternalErrorResponseBody: @@ -1853,15 +2124,15 @@ definitions: timeout: type: boolean description: Is the error a timeout? - example: false + example: true description: Internal Server Error (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: false - timeout: true + timeout: false required: - name - id @@ -1903,7 +2174,7 @@ definitions: id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true + temporary: false timeout: false required: - name @@ -1974,15 +2245,15 @@ definitions: timeout: type: boolean description: Is the error a timeout? - example: true + example: false description: Internal Server Error (default view) example: - fault: true + fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: false - timeout: true + timeout: false required: - name - id @@ -1997,7 +2268,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: true + example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -2013,19 +2284,19 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: false + example: true timeout: type: boolean description: Is the error a timeout? example: false description: Resource Not Found Error (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: false - timeout: false + temporary: true + timeout: true required: - name - id @@ -2090,15 +2361,15 @@ definitions: timeout: type: boolean description: Is the error a timeout? - example: true + example: false description: Internal Server Error (default view) example: fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true - timeout: true + temporary: false + timeout: false required: - name - id @@ -2136,12 +2407,12 @@ definitions: example: false description: Resource Not Found Error (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: false - timeout: false + timeout: true required: - name - id @@ -2191,7 +2462,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: true + example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -2207,19 +2478,19 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: false + example: true timeout: type: boolean description: Is the error a timeout? - example: false + example: true description: Internal Server Error (default view) example: - fault: true + fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: false - timeout: false + temporary: true + timeout: true required: - name - id @@ -2250,18 +2521,18 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: true + example: false timeout: type: boolean description: Is the error a timeout? - example: true + example: false description: Resource Not Found Error (default view) example: fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true + temporary: false timeout: false required: - name @@ -2548,30 +2819,6 @@ definitions: version: "0.1" - id: 2 version: "0.2" - - catalog: - id: 1 - type: community - id: 1 - kind: task - latestVersion: - description: Buildah task builds source into a container image and then pushes it to a container registry. - displayName: Buildah - id: 1 - minPipelinesVersion: 0.12.1 - rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml - updatedAt: 2020-01-01 12:00:00 +0000 UTC - version: "0.1" - webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml - name: buildah - rating: 4.3 - tags: - - id: 1 - name: image-build - versions: - - id: 1 - version: "0.1" - - id: 2 - version: "0.2" ResourceListInternalErrorResponseBody: title: 'Mediatype identifier: application/vnd.goa.error; view=default' type: object @@ -2579,7 +2826,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: true + example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -2595,7 +2842,7 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: true + example: false timeout: type: boolean description: Is the error a timeout? @@ -2607,7 +2854,7 @@ definitions: message: parameter 'p' must be an integer name: bad_request temporary: false - timeout: true + timeout: false required: - name - id @@ -2709,7 +2956,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -2732,12 +2979,12 @@ definitions: example: true description: Internal Server Error (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true - timeout: false + temporary: false + timeout: true required: - name - id @@ -2752,7 +2999,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -2768,18 +3015,18 @@ definitions: temporary: type: boolean description: Is the error temporary? - example: true + example: false timeout: type: boolean description: Is the error a timeout? example: true description: Invalid Resource Kind (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true + temporary: false timeout: true required: - name @@ -2795,7 +3042,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -2815,15 +3062,15 @@ definitions: timeout: type: boolean description: Is the error a timeout? - example: true + example: false description: Resource Not Found Error (default view) example: fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true - timeout: true + temporary: false + timeout: false required: - name - id @@ -3134,12 +3381,12 @@ definitions: example: false description: Internal Server Error (default view) example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: true - timeout: false + timeout: true required: - name - id @@ -3154,7 +3401,7 @@ definitions: fault: type: boolean description: Is the error a server-side fault? - example: false + example: true id: type: string description: ID is a unique identifier for this particular occurrence of the problem. @@ -3177,11 +3424,11 @@ definitions: example: false description: Resource Not Found Error (default view) example: - fault: true + fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: false + temporary: true timeout: false required: - name @@ -3239,6 +3486,9 @@ definitions: - error: unable to reach db name: api status: ok + - error: unable to reach db + name: api + status: ok TagResponseBody: title: TagResponseBody type: object diff --git a/api/gen/http/openapi3.json b/api/gen/http/openapi3.json index e0582fff8..b6569b67d 100644 --- a/api/gen/http/openapi3.json +++ b/api/gen/http/openapi3.json @@ -1 +1 @@ -{"openapi":"3.0.3","info":{"title":"Tekton Hub","description":"HTTP services for managing Tekton Hub","version":"0.1"},"servers":[{"url":"http://api.hub.tekton.dev"}],"paths":{"/":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponseBody"},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}}}}}}},"/auth/login":{"post":{"tags":["auth"],"summary":"Authenticate auth","description":"Authenticates users against GitHub OAuth","operationId":"auth#Authenticate","parameters":[{"name":"code","in":"query","description":"OAuth Authorization code of User","allowEmptyValue":true,"required":true,"schema":{"type":"string","description":"OAuth Authorization code of User","example":"5628b69ec09c09512eef"},"example":"5628b69ec09c09512eef"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticateResponseBody"},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}}}}},"400":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"401":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"403":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/catalog/refresh":{"post":{"tags":["catalog"],"summary":"Refresh catalog","description":"Refreshes Tekton Catalog","operationId":"catalog#Refresh","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"},"example":{"id":1029125940089474859,"status":"Reprehenderit libero soluta sapiente deleniti voluptatem distinctio."}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh"]}]}},"/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponseBody"},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}}}}},"/query":{"get":{"tags":["resource"],"summary":"Query resource","description":"Find resources by a combination of name, kind and tags","operationId":"resource#Query","parameters":[{"name":"name","in":"query","description":"Name of resource","allowEmptyValue":true,"schema":{"type":"string","description":"Name of resource","default":"","example":"buildah"},"example":"buildah"},{"name":"kinds","in":"query","description":"Kinds of resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Placeat et et."},"description":"Kinds of resource to filter by","example":["task","pipelines"]},"example":["task","pipelines"]},{"name":"tags","in":"query","description":"Tags associated with a resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Itaque aperiam tempore animi iure eum et."},"description":"Tags associated with a resource to filter by","example":["image","build"]},"example":["image","build"]},{"name":"limit","in":"query","description":"Maximum number of resources to be returned","allowEmptyValue":true,"schema":{"type":"integer","description":"Maximum number of resources to be returned","default":1000,"example":100},"example":100},{"name":"match","in":"query","description":"Strategy used to find matching resources","allowEmptyValue":true,"schema":{"type":"string","description":"Strategy used to find matching resources","default":"contains","example":"contains","enum":["exact","contains"]},"example":"exact"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]}}}},"400":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/resource/version/{versionID}":{"get":{"tags":["resource"],"summary":"ByVersionId resource","description":"Find a resource using its version's id","operationId":"resource#ByVersionId","parameters":[{"name":"versionID","in":"path","description":"Version ID of a resource's version","required":true,"schema":{"type":"integer","description":"Version ID of a resource's version","example":1},"example":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersion"},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}}}},"/resource/{catalog}/{kind}/{name}":{"get":{"tags":["resource"],"summary":"ByCatalogKindName resource","description":"Find resources using name of catalog, resource name and kind of resource","operationId":"resource#ByCatalogKindName","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"schema":{"type":"string","description":"name of catalog","example":"tektoncd"},"example":"tektoncd"},{"name":"kind","in":"path","description":"kind of resource","required":true,"schema":{"type":"string","description":"kind of resource","example":"pipeline","enum":["task","pipeline"]},"example":"task"},{"name":"name","in":"path","description":"Name of resource","required":true,"schema":{"type":"string","description":"Name of resource","example":"buildah"},"example":"buildah"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}}}}},"/resource/{catalog}/{kind}/{name}/{version}":{"get":{"tags":["resource"],"summary":"ByCatalogKindNameVersion resource","description":"Find resource using name of catalog \u0026 name, kind and version of resource","operationId":"resource#ByCatalogKindNameVersion","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"schema":{"type":"string","description":"name of catalog","example":"tektoncd"},"example":"tektoncd"},{"name":"kind","in":"path","description":"kind of resource","required":true,"schema":{"type":"string","description":"kind of resource","example":"pipeline","enum":["task","pipeline"]},"example":"pipeline"},{"name":"name","in":"path","description":"name of resource","required":true,"schema":{"type":"string","description":"name of resource","example":"buildah"},"example":"buildah"},{"name":"version","in":"path","description":"version of resource","required":true,"schema":{"type":"string","description":"version of resource","example":"0.1"},"example":"0.1"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersion"},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}}}}},"/resource/{id}":{"get":{"tags":["resource"],"summary":"ById resource","description":"Find a resource using it's id","operationId":"resource#ById","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":1},"example":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/resource/{id}/rating":{"get":{"tags":["rating"],"summary":"Get rating","description":"Find user's rating for a resource","operationId":"rating#Get","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":11620657542064230955},"example":11665674017405905075}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetResponseBody"},"example":{"rating":4}}}},"401":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"403":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh"]}]},"put":{"tags":["rating"],"summary":"Update rating","description":"Update user's rating for a resource","operationId":"rating#Update","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":4869966896348576719},"example":6109420220413662287}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRequestBody"},"example":{"rating":0}}}},"responses":{"200":{"description":"","content":{"application/json":{"example":{}}}},"401":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}},"403":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh"]}]}},"/resource/{id}/versions":{"get":{"tags":["resource"],"summary":"VersionsByID resource","description":"Find all versions of a resource by its id","operationId":"resource#VersionsByID","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":1},"example":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersions"},"example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}}}}},"/resources":{"get":{"tags":["resource"],"summary":"List resource","description":"List all resources sorted by rating and name","operationId":"resource#List","parameters":[{"name":"limit","in":"query","description":"Maximum number of resources to be returned","allowEmptyValue":true,"schema":{"type":"integer","description":"Maximum number of resources to be returned","default":1000,"example":100},"example":100}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}}}},"/schema/swagger.json":{"get":{"tags":["swagger"],"summary":"Download gen/http/openapi3.yaml","description":"JSON document containing the API swagger definition","operationId":"swagger#/schema/swagger.json","responses":{"200":{"description":"File downloaded"}}}},"/system/config/refresh":{"post":{"tags":["admin"],"summary":"RefreshConfig admin","description":"Refresh the changes in config file","operationId":"admin#RefreshConfig","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshConfigRequestBody"},"example":{"force":true}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshConfigResponseBody"},"example":{"checksum":"Ipsam eos aut magnam."}}}},"401":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"403":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh"]}]}},"/system/user/agent":{"put":{"tags":["admin"],"summary":"UpdateAgent admin","description":"Create or Update an agent user with required scopes","operationId":"admin#UpdateAgent","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentRequestBody"},"example":{"name":"Pariatur occaecati voluptas assumenda maiores quaerat consequatur.","scopes":["Nihil officia itaque non.","Qui dolor consequatur assumenda."]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentResponseBody"},"example":{"token":"Commodi rerum harum ut tenetur laborum tempore."}}}},"400":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"401":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"403":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh"]}]}}},"components":{"schemas":{"AuthTokens":{"type":"object","properties":{"access":{"$ref":"#/components/schemas/Token"},"refresh":{"$ref":"#/components/schemas/Token"}},"description":"Auth tokens have access and refresh token for user","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"AuthenticateResponseBody":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AuthTokens"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"Catalog":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the catalog","example":1},"name":{"type":"string","description":"Name of catalog","example":"Tekton"},"type":{"type":"string","description":"Type of catalog","example":"community","enum":["official","community"]}},"example":{"id":1,"name":"Tekton","type":"community"},"required":["id","name","type"]},"Category":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the category","example":1},"name":{"type":"string","description":"Name of category","example":"Image Builder"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"},"description":"List of tags associated with the category","example":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}},"example":{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},"required":["id","name","tags"]},"Error":{"type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":false},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":false}},"description":"Internal Server Error","example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false},"required":["name","id","message","temporary","timeout","fault"]},"GetResponseBody":{"type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":4,"format":"int64"}},"example":{"rating":4},"required":["rating"]},"HubService":{"type":"object","properties":{"error":{"type":"string","description":"Details of the error if any","example":"unable to reach db"},"name":{"type":"string","description":"Name of the service","example":"api"},"status":{"type":"string","description":"Status of the service","example":"ok","enum":["ok","error"]}},"description":"Describes the services and their status","example":{"error":"unable to reach db","name":"api","status":"ok"},"required":["name","status"]},"Job":{"type":"object","properties":{"id":{"type":"integer","description":"id of the job","example":1775143685620788290},"status":{"type":"string","description":"status of the job","example":"Dolorum sapiente."}},"example":{"id":8451480480088601963,"status":"Vitae ducimus."},"required":["id","status"]},"ListResponseBody":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Category"},"example":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"RefreshConfigRequestBody":{"type":"object","properties":{"force":{"type":"boolean","description":"Force Refresh the config file","example":true}},"example":{"force":false},"required":["force"]},"RefreshConfigResponseBody":{"type":"object","properties":{"checksum":{"type":"string","description":"Config file checksum","example":"Sint omnis consequatur."}},"example":{"checksum":"Qui aut sed voluptas animi molestiae."},"required":["checksum"]},"Resource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceData"}},"example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceData":{"type":"object","properties":{"catalog":{"$ref":"#/components/schemas/Catalog"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/components/schemas/ResourceVersionData"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]},"versions":{"type":"array","items":{"$ref":"#/components/schemas/ResourceVersionData"},"description":"List of all versions of a resource","example":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"description":"The resource type describes resource information.","example":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating","versions"]},"ResourceDataCollection":{"type":"array","items":{"$ref":"#/components/schemas/ResourceData"},"example":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"ResourceVersion":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceVersionData"}},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceVersionData":{"type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","format":"uri"},"resource":{"$ref":"#/components/schemas/ResourceData"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information.","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt","resource"]},"ResourceVersions":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Versions"}},"example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}},"required":["data"]},"Resources":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceDataCollection"}},"example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"required":["data"]},"StatusResponseBody":{"type":"object","properties":{"services":{"type":"array","items":{"$ref":"#/components/schemas/HubService"},"description":"List of services and their status","example":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"Tag":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of tag","example":1},"name":{"type":"string","description":"Name of tag","example":"image-build"}},"example":{"id":1,"name":"image-build"},"required":["id","name"]},"Token":{"type":"object","properties":{"expiresAt":{"type":"integer","description":"Time the token will expires at","example":0,"format":"int64"},"refreshInterval":{"type":"string","description":"Duration the token will Expire In","example":"1h30m"},"token":{"type":"string","description":"JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"description":"Token includes the JWT, Expire Duration \u0026 Time","example":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token","refreshInterval","expiresAt"]},"UpdateAgentRequestBody":{"type":"object","properties":{"name":{"type":"string","description":"Name of Agent","example":"Incidunt accusamus dolor non eum praesentium corrupti."},"scopes":{"type":"array","items":{"type":"string","example":"Qui nam eos esse enim sint tempora."},"description":"Scopes required for Agent","example":["Maxime nesciunt sed.","Laboriosam incidunt neque asperiores.","Hic molestiae beatae dicta itaque."]}},"example":{"name":"Reiciendis aut repellat veritatis.","scopes":["Nulla ea.","Aperiam ipsam sapiente labore assumenda."]},"required":["name","scopes"]},"UpdateAgentResponseBody":{"type":"object","properties":{"token":{"type":"string","description":"Agent JWT","example":"Sequi officiis mollitia."}},"example":{"token":"Laudantium quidem amet suscipit fuga nam."},"required":["token"]},"UpdateRequestBody":{"type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":2,"minimum":0,"maximum":5}},"example":{"rating":4},"required":["rating"]},"Versions":{"type":"object","properties":{"latest":{"$ref":"#/components/schemas/ResourceVersionData"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/ResourceVersionData"},"description":"List of all versions of resource","example":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}},"description":"The Versions type describes response for versions by resource id API.","example":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]},"required":["latest","versions"]}},"securitySchemes":{"jwt_header_Authorization":{"type":"http","description":"Secures endpoint by requiring a valid JWT retrieved via the /auth/login endpoint.","scheme":"bearer"}}}} \ No newline at end of file +{"openapi":"3.0.3","info":{"title":"Tekton Hub","description":"HTTP services for managing Tekton Hub","version":"1.0"},"servers":[{"url":"http://api.hub.tekton.dev"}],"paths":{"/":{"get":{"tags":["status"],"summary":"Status status","description":"Return status of the services","operationId":"status#Status","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponseBody"},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}}}}}}},"/auth/login":{"post":{"tags":["auth"],"summary":"Authenticate auth","description":"Authenticates users against GitHub OAuth","operationId":"auth#Authenticate","parameters":[{"name":"code","in":"query","description":"OAuth Authorization code of User","allowEmptyValue":true,"required":true,"schema":{"type":"string","description":"OAuth Authorization code of User","example":"5628b69ec09c09512eef"},"example":"5628b69ec09c09512eef"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticateResponseBody"},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}}}}},"400":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}},"401":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"403":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}}}}},"/catalog/refresh":{"post":{"tags":["catalog"],"summary":"Refresh catalog","description":"Refreshes Tekton Catalog","operationId":"catalog#Refresh","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"},"example":{"id":1029125940089474859,"status":"Reprehenderit libero soluta sapiente deleniti voluptatem distinctio."}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh"]}]}},"/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponseBody"},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}}}}},"/query":{"get":{"tags":["resource"],"summary":"Query resource","description":"Find resources by a combination of name, kind and tags","operationId":"resource#Query","parameters":[{"name":"name","in":"query","description":"Name of resource","allowEmptyValue":true,"schema":{"type":"string","description":"Name of resource","default":"","example":"buildah"},"example":"buildah"},{"name":"kinds","in":"query","description":"Kinds of resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Placeat et et."},"description":"Kinds of resource to filter by","example":["task","pipelines"]},"example":["task","pipelines"]},{"name":"tags","in":"query","description":"Tags associated with a resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Itaque aperiam tempore animi iure eum et."},"description":"Tags associated with a resource to filter by","example":["image","build"]},"example":["image","build"]},{"name":"limit","in":"query","description":"Maximum number of resources to be returned","allowEmptyValue":true,"schema":{"type":"integer","description":"Maximum number of resources to be returned","default":1000,"example":100},"example":100},{"name":"match","in":"query","description":"Strategy used to find matching resources","allowEmptyValue":true,"schema":{"type":"string","description":"Strategy used to find matching resources","default":"contains","example":"contains","enum":["exact","contains"]},"example":"exact"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]}}}},"400":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/resource/version/{versionID}":{"get":{"tags":["resource"],"summary":"ByVersionId resource","description":"Find a resource using its version's id","operationId":"resource#ByVersionId","parameters":[{"name":"versionID","in":"path","description":"Version ID of a resource's version","required":true,"schema":{"type":"integer","description":"Version ID of a resource's version","example":1},"example":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersion"},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/resource/{catalog}/{kind}/{name}":{"get":{"tags":["resource"],"summary":"ByCatalogKindName resource","description":"Find resources using name of catalog, resource name and kind of resource","operationId":"resource#ByCatalogKindName","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"schema":{"type":"string","description":"name of catalog","example":"tektoncd"},"example":"tektoncd"},{"name":"kind","in":"path","description":"kind of resource","required":true,"schema":{"type":"string","description":"kind of resource","example":"task","enum":["task","pipeline"]},"example":"pipeline"},{"name":"name","in":"path","description":"Name of resource","required":true,"schema":{"type":"string","description":"Name of resource","example":"buildah"},"example":"buildah"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}}}},"/resource/{catalog}/{kind}/{name}/{version}":{"get":{"tags":["resource"],"summary":"ByCatalogKindNameVersion resource","description":"Find resource using name of catalog \u0026 name, kind and version of resource","operationId":"resource#ByCatalogKindNameVersion","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"schema":{"type":"string","description":"name of catalog","example":"tektoncd"},"example":"tektoncd"},{"name":"kind","in":"path","description":"kind of resource","required":true,"schema":{"type":"string","description":"kind of resource","example":"pipeline","enum":["task","pipeline"]},"example":"task"},{"name":"name","in":"path","description":"name of resource","required":true,"schema":{"type":"string","description":"name of resource","example":"buildah"},"example":"buildah"},{"name":"version","in":"path","description":"version of resource","required":true,"schema":{"type":"string","description":"version of resource","example":"0.1"},"example":"0.1"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersion"},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/resource/{id}":{"get":{"tags":["resource"],"summary":"ById resource","description":"Find a resource using it's id","operationId":"resource#ById","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":1},"example":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/resource/{id}/rating":{"get":{"tags":["rating"],"summary":"Get rating","description":"Find user's rating for a resource","operationId":"rating#Get","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":11620657542064230955},"example":11665674017405905075}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetResponseBody"},"example":{"rating":4}}}},"401":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"403":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh"]}]},"put":{"tags":["rating"],"summary":"Update rating","description":"Update user's rating for a resource","operationId":"rating#Update","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":4869966896348576719},"example":6109420220413662287}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRequestBody"},"example":{"rating":0}}}},"responses":{"200":{"description":"","content":{"application/json":{"example":{}}}},"401":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}},"403":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh"]}]}},"/resource/{id}/versions":{"get":{"tags":["resource"],"summary":"VersionsByID resource","description":"Find all versions of a resource by its id","operationId":"resource#VersionsByID","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":1},"example":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersions"},"example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}}}}},"/resources":{"get":{"tags":["resource"],"summary":"List resource","description":"List all resources sorted by rating and name","operationId":"resource#List","parameters":[{"name":"limit","in":"query","description":"Maximum number of resources to be returned","allowEmptyValue":true,"schema":{"type":"integer","description":"Maximum number of resources to be returned","default":1000,"example":100},"example":100}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}}}},"/schema/swagger.json":{"get":{"tags":["swagger"],"summary":"Download gen/http/openapi3.yaml","description":"JSON document containing the API swagger definition","operationId":"swagger#/schema/swagger.json","responses":{"200":{"description":"File downloaded"}}}},"/system/config/refresh":{"post":{"tags":["admin"],"summary":"RefreshConfig admin","description":"Refresh the changes in config file","operationId":"admin#RefreshConfig","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshConfigRequestBody"},"example":{"force":true}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshConfigResponseBody"},"example":{"checksum":"Ipsam eos aut magnam."}}}},"401":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"403":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh"]}]}},"/system/user/agent":{"put":{"tags":["admin"],"summary":"UpdateAgent admin","description":"Create or Update an agent user with required scopes","operationId":"admin#UpdateAgent","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentRequestBody"},"example":{"name":"Pariatur occaecati voluptas assumenda maiores quaerat consequatur.","scopes":["Nihil officia itaque non.","Qui dolor consequatur assumenda."]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentResponseBody"},"example":{"token":"Commodi rerum harum ut tenetur laborum tempore."}}}},"400":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"401":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"403":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}},"security":[{"jwt_header_Authorization":["rating:read","rating:write","agent:create","catalog:refresh","config:refresh"]}]}},"/v1/categories":{"get":{"tags":["category"],"summary":"list category","description":"List all categories along with their tags sorted by name","operationId":"category#list#1","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponseBody"},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}}}}},"/v1/query":{"get":{"tags":["resource"],"summary":"Query resource","description":"Find resources by a combination of name, kind and tags","operationId":"resource#Query#1","parameters":[{"name":"name","in":"query","description":"Name of resource","allowEmptyValue":true,"schema":{"type":"string","description":"Name of resource","default":"","example":"buildah"},"example":"buildah"},{"name":"kinds","in":"query","description":"Kinds of resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Corrupti atque odit expedita sit repellendus."},"description":"Kinds of resource to filter by","example":["task","pipelines"]},"example":["task","pipelines"]},{"name":"tags","in":"query","description":"Tags associated with a resource to filter by","allowEmptyValue":true,"schema":{"type":"array","items":{"type":"string","example":"Consequatur numquam id aut illum ut rerum."},"description":"Tags associated with a resource to filter by","example":["image","build"]},"example":["image","build"]},{"name":"limit","in":"query","description":"Maximum number of resources to be returned","allowEmptyValue":true,"schema":{"type":"integer","description":"Maximum number of resources to be returned","default":1000,"example":100},"example":100},{"name":"match","in":"query","description":"Strategy used to find matching resources","allowEmptyValue":true,"schema":{"type":"string","description":"Strategy used to find matching resources","default":"contains","example":"contains","enum":["exact","contains"]},"example":"exact"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]}}}},"400":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/v1/resource/version/{versionID}":{"get":{"tags":["resource"],"summary":"ByVersionId resource","description":"Find a resource using its version's id","operationId":"resource#ByVersionId#1","parameters":[{"name":"versionID","in":"path","description":"Version ID of a resource's version","required":true,"schema":{"type":"integer","description":"Version ID of a resource's version","example":1},"example":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersion"},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/v1/resource/{catalog}/{kind}/{name}":{"get":{"tags":["resource"],"summary":"ByCatalogKindName resource","description":"Find resources using name of catalog, resource name and kind of resource","operationId":"resource#ByCatalogKindName#1","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"schema":{"type":"string","description":"name of catalog","example":"tektoncd"},"example":"tektoncd"},{"name":"kind","in":"path","description":"kind of resource","required":true,"schema":{"type":"string","description":"kind of resource","example":"pipeline","enum":["task","pipeline"]},"example":"pipeline"},{"name":"name","in":"path","description":"Name of resource","required":true,"schema":{"type":"string","description":"Name of resource","example":"buildah"},"example":"buildah"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}}}},"/v1/resource/{catalog}/{kind}/{name}/{version}":{"get":{"tags":["resource"],"summary":"ByCatalogKindNameVersion resource","description":"Find resource using name of catalog \u0026 name, kind and version of resource","operationId":"resource#ByCatalogKindNameVersion#1","parameters":[{"name":"catalog","in":"path","description":"name of catalog","required":true,"schema":{"type":"string","description":"name of catalog","example":"tektoncd"},"example":"tektoncd"},{"name":"kind","in":"path","description":"kind of resource","required":true,"schema":{"type":"string","description":"kind of resource","example":"pipeline","enum":["task","pipeline"]},"example":"pipeline"},{"name":"name","in":"path","description":"name of resource","required":true,"schema":{"type":"string","description":"name of resource","example":"buildah"},"example":"buildah"},{"name":"version","in":"path","description":"version of resource","required":true,"schema":{"type":"string","description":"version of resource","example":"0.1"},"example":"0.1"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersion"},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/v1/resource/{id}":{"get":{"tags":["resource"],"summary":"ById resource","description":"Find a resource using it's id","operationId":"resource#ById#1","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":1},"example":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":false,"timeout":true}}}}}}},"/v1/resource/{id}/versions":{"get":{"tags":["resource"],"summary":"VersionsByID resource","description":"Find all versions of a resource by its id","operationId":"resource#VersionsByID#1","parameters":[{"name":"id","in":"path","description":"ID of a resource","required":true,"schema":{"type":"integer","description":"ID of a resource","example":1},"example":1}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceVersions"},"example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}}}}},"404":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true}}}}}}},"/v1/resources":{"get":{"tags":["resource"],"summary":"List resource","description":"List all resources sorted by rating and name","operationId":"resource#List#1","parameters":[{"name":"limit","in":"query","description":"Maximum number of resources to be returned","allowEmptyValue":true,"schema":{"type":"integer","description":"Maximum number of resources to be returned","default":1000,"example":100},"example":100}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]}}}},"500":{"description":"","content":{"application/vnd.goa.error":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"fault":false,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":false}}}}}}}},"components":{"schemas":{"AuthTokens":{"type":"object","properties":{"access":{"$ref":"#/components/schemas/Token"},"refresh":{"$ref":"#/components/schemas/Token"}},"description":"Auth tokens have access and refresh token for user","example":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"AuthenticateResponseBody":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AuthTokens"}},"example":{"data":{"access":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"refresh":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}}},"required":["data"]},"Catalog":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the catalog","example":1},"name":{"type":"string","description":"Name of catalog","example":"Tekton"},"type":{"type":"string","description":"Type of catalog","example":"community","enum":["official","community"]}},"example":{"id":1,"name":"Tekton","type":"community"},"required":["id","name","type"]},"Category":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of the category","example":1},"name":{"type":"string","description":"Name of category","example":"Image Builder"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"},"description":"List of tags associated with the category","example":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}},"example":{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},"required":["id","name","tags"]},"Error":{"type":"object","properties":{"fault":{"type":"boolean","description":"Is the error a server-side fault?","example":true},"id":{"type":"string","description":"ID is a unique identifier for this particular occurrence of the problem.","example":"123abc"},"message":{"type":"string","description":"Message is a human-readable explanation specific to this occurrence of the problem.","example":"parameter 'p' must be an integer"},"name":{"type":"string","description":"Name is the name of this class of errors.","example":"bad_request"},"temporary":{"type":"boolean","description":"Is the error temporary?","example":true},"timeout":{"type":"boolean","description":"Is the error a timeout?","example":true}},"description":"Internal Server Error","example":{"fault":true,"id":"123abc","message":"parameter 'p' must be an integer","name":"bad_request","temporary":true,"timeout":true},"required":["name","id","message","temporary","timeout","fault"]},"GetResponseBody":{"type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":4,"format":"int64"}},"example":{"rating":4},"required":["rating"]},"HubService":{"type":"object","properties":{"error":{"type":"string","description":"Details of the error if any","example":"unable to reach db"},"name":{"type":"string","description":"Name of the service","example":"api"},"status":{"type":"string","description":"Status of the service","example":"ok","enum":["ok","error"]}},"description":"Describes the services and their status","example":{"error":"unable to reach db","name":"api","status":"ok"},"required":["name","status"]},"Job":{"type":"object","properties":{"id":{"type":"integer","description":"id of the job","example":1775143685620788290},"status":{"type":"string","description":"status of the job","example":"Dolorum sapiente."}},"example":{"id":8451480480088601963,"status":"Vitae ducimus."},"required":["id","status"]},"ListResponseBody":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Category"},"example":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"example":{"data":[{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]},{"id":1,"name":"Image Builder","tags":[{"id":1,"name":"image-build"},{"id":2,"name":"kaniko"}]}]}},"RefreshConfigRequestBody":{"type":"object","properties":{"force":{"type":"boolean","description":"Force Refresh the config file","example":true}},"example":{"force":false},"required":["force"]},"RefreshConfigResponseBody":{"type":"object","properties":{"checksum":{"type":"string","description":"Config file checksum","example":"Sint omnis consequatur."}},"example":{"checksum":"Qui aut sed voluptas animi molestiae."},"required":["checksum"]},"Resource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceData"}},"example":{"data":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"required":["data"]},"ResourceData":{"type":"object","properties":{"catalog":{"$ref":"#/components/schemas/Catalog"},"id":{"type":"integer","description":"ID is the unique id of the resource","example":1},"kind":{"type":"string","description":"Kind of resource","example":"task"},"latestVersion":{"$ref":"#/components/schemas/ResourceVersionData"},"name":{"type":"string","description":"Name of resource","example":"buildah"},"rating":{"type":"number","description":"Rating of resource","example":4.3,"format":"double"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"},"description":"Tags related to resource","example":[{"id":1,"name":"image-build"}]},"versions":{"type":"array","items":{"$ref":"#/components/schemas/ResourceVersionData"},"description":"List of all versions of a resource","example":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}},"description":"The resource type describes resource information.","example":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},"required":["id","name","catalog","kind","latestVersion","tags","rating","versions"]},"ResourceDataCollection":{"type":"array","items":{"$ref":"#/components/schemas/ResourceData"},"example":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"ResourceVersion":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceVersionData"}},"example":{"data":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"}},"required":["data"]},"ResourceVersionData":{"type":"object","properties":{"description":{"type":"string","description":"Description of version","example":"Buildah task builds source into a container image and then pushes it to a container registry."},"displayName":{"type":"string","description":"Display name of version","example":"Buildah"},"id":{"type":"integer","description":"ID is the unique id of resource's version","example":1},"minPipelinesVersion":{"type":"string","description":"Minimum pipelines version the resource's version is compatible with","example":"0.12.1"},"rawURL":{"type":"string","description":"Raw URL of resource's yaml file of the version","example":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","format":"uri"},"resource":{"$ref":"#/components/schemas/ResourceData"},"updatedAt":{"type":"string","description":"Timestamp when version was last updated","example":"2020-01-01 12:00:00 +0000 UTC","format":"date-time"},"version":{"type":"string","description":"Version of resource","example":"0.1"},"webURL":{"type":"string","description":"Web URL of resource's yaml file of the version","example":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml","format":"uri"}},"description":"The Version result type describes resource's version information.","example":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","resource":{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}]},"updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"required":["id","version","displayName","description","minPipelinesVersion","rawURL","webURL","updatedAt","resource"]},"ResourceVersions":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Versions"}},"example":{"data":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}},"required":["data"]},"Resources":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceDataCollection"}},"example":{"data":[{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]},{"catalog":{"id":1,"type":"community"},"id":1,"kind":"task","latestVersion":{"description":"Buildah task builds source into a container image and then pushes it to a container registry.","displayName":"Buildah","id":1,"minPipelinesVersion":"0.12.1","rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","updatedAt":"2020-01-01 12:00:00 +0000 UTC","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},"name":"buildah","rating":4.3,"tags":[{"id":1,"name":"image-build"}],"versions":[{"id":1,"version":"0.1"},{"id":2,"version":"0.2"}]}]},"required":["data"]},"StatusResponseBody":{"type":"object","properties":{"services":{"type":"array","items":{"$ref":"#/components/schemas/HubService"},"description":"List of services and their status","example":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"example":{"services":[{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"},{"error":"unable to reach db","name":"api","status":"ok"}]}},"Tag":{"type":"object","properties":{"id":{"type":"integer","description":"ID is the unique id of tag","example":1},"name":{"type":"string","description":"Name of tag","example":"image-build"}},"example":{"id":1,"name":"image-build"},"required":["id","name"]},"Token":{"type":"object","properties":{"expiresAt":{"type":"integer","description":"Time the token will expires at","example":0,"format":"int64"},"refreshInterval":{"type":"string","description":"Duration the token will Expire In","example":"1h30m"},"token":{"type":"string","description":"JWT","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"}},"description":"Token includes the JWT, Expire Duration \u0026 Time","example":{"expiresAt":0,"refreshInterval":"1h30m","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM"},"required":["token","refreshInterval","expiresAt"]},"UpdateAgentRequestBody":{"type":"object","properties":{"name":{"type":"string","description":"Name of Agent","example":"Qui nam eos esse enim sint tempora."},"scopes":{"type":"array","items":{"type":"string","example":"Neque maxime nesciunt."},"description":"Scopes required for Agent","example":["Laboriosam incidunt neque asperiores.","Hic molestiae beatae dicta itaque."]}},"example":{"name":"Reiciendis aut repellat veritatis.","scopes":["Nulla ea.","Aperiam ipsam sapiente labore assumenda."]},"required":["name","scopes"]},"UpdateAgentResponseBody":{"type":"object","properties":{"token":{"type":"string","description":"Agent JWT","example":"Sequi officiis mollitia."}},"example":{"token":"Laudantium quidem amet suscipit fuga nam."},"required":["token"]},"UpdateRequestBody":{"type":"object","properties":{"rating":{"type":"integer","description":"User rating for resource","example":2,"minimum":0,"maximum":5}},"example":{"rating":4},"required":["rating"]},"Versions":{"type":"object","properties":{"latest":{"$ref":"#/components/schemas/ResourceVersionData"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/ResourceVersionData"},"description":"List of all versions of resource","example":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]}},"description":"The Versions type describes response for versions by resource id API.","example":{"latest":{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"},"versions":[{"id":1,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml","version":"0.1","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml"},{"id":2,"rawURL":"https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml","version":"0.2","webURL":"https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml"}]},"required":["latest","versions"]}},"securitySchemes":{"jwt_header_Authorization":{"type":"http","description":"Secures endpoint by requiring a valid JWT retrieved via the /auth/login endpoint.","scheme":"bearer"}}}} \ No newline at end of file diff --git a/api/gen/http/openapi3.yaml b/api/gen/http/openapi3.yaml index bb6eef49d..020deaccc 100644 --- a/api/gen/http/openapi3.yaml +++ b/api/gen/http/openapi3.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: Tekton Hub description: HTTP services for managing Tekton Hub - version: "0.1" + version: "1.0" servers: - url: http://api.hub.tekton.dev paths: @@ -70,12 +70,12 @@ paths: schema: $ref: '#/components/schemas/Error' example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true - timeout: true + temporary: false + timeout: false "401": description: "" content: @@ -96,11 +96,11 @@ paths: schema: $ref: '#/components/schemas/Error' example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true + temporary: false timeout: false "500": description: "" @@ -109,12 +109,12 @@ paths: schema: $ref: '#/components/schemas/Error' example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: false - timeout: true + timeout: false /catalog/refresh: post: tags: @@ -425,11 +425,11 @@ paths: schema: type: string description: kind of resource - example: pipeline + example: task enum: - task - pipeline - example: task + example: pipeline - name: name in: path description: Name of resource @@ -479,12 +479,12 @@ paths: schema: $ref: '#/components/schemas/Error' example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: false - timeout: true + timeout: false "500": description: "" content: @@ -496,7 +496,7 @@ paths: id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: false + temporary: true timeout: false /resource/{catalog}/{kind}/{name}/{version}: get: @@ -526,7 +526,7 @@ paths: enum: - task - pipeline - example: pipeline + example: task - name: name in: path description: name of resource @@ -598,7 +598,7 @@ paths: message: parameter 'p' must be an integer name: bad_request temporary: false - timeout: false + timeout: true /resource/{id}: get: tags: @@ -656,12 +656,12 @@ paths: schema: $ref: '#/components/schemas/Error' example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true - timeout: false + temporary: false + timeout: true "500": description: "" content: @@ -972,7 +972,7 @@ paths: message: parameter 'p' must be an integer name: bad_request temporary: false - timeout: false + timeout: true "500": description: "" content: @@ -980,12 +980,12 @@ paths: schema: $ref: '#/components/schemas/Error' example: - fault: true + fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request - temporary: true - timeout: false + temporary: false + timeout: true /resources: get: tags: @@ -1264,136 +1264,895 @@ paths: - agent:create - catalog:refresh - config:refresh -components: - schemas: - AuthTokens: - type: object - properties: - access: - $ref: '#/components/schemas/Token' - refresh: - $ref: '#/components/schemas/Token' - description: Auth tokens have access and refresh token for user - example: - access: - expiresAt: 0 - refreshInterval: 1h30m - token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM - refresh: - expiresAt: 0 - refreshInterval: 1h30m - token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM - AuthenticateResponseBody: - type: object - properties: - data: - $ref: '#/components/schemas/AuthTokens' - example: - data: - access: - expiresAt: 0 - refreshInterval: 1h30m - token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM - refresh: - expiresAt: 0 - refreshInterval: 1h30m - token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM - required: - - data - Catalog: - type: object - properties: - id: - type: integer - description: ID is the unique id of the catalog - example: 1 - name: - type: string - description: Name of catalog - example: Tekton - type: - type: string - description: Type of catalog - example: community - enum: - - official - - community - example: - id: 1 - name: Tekton - type: community - required: - - id - - name - - type - Category: - type: object - properties: - id: - type: integer - description: ID is the unique id of the category - example: 1 - name: + /v1/categories: + get: + tags: + - category + summary: list category + description: List all categories along with their tags sorted by name + operationId: category#list#1 + responses: + "200": + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/ListResponseBody' + example: + data: + - id: 1 + name: Image Builder + tags: + - id: 1 + name: image-build + - id: 2 + name: kaniko + - id: 1 + name: Image Builder + tags: + - id: 1 + name: image-build + - id: 2 + name: kaniko + "500": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: false + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: false + timeout: false + /v1/query: + get: + tags: + - resource + summary: Query resource + description: Find resources by a combination of name, kind and tags + operationId: resource#Query#1 + parameters: + - name: name + in: query + description: Name of resource + allowEmptyValue: true + schema: type: string - description: Name of category - example: Image Builder - tags: + description: Name of resource + default: "" + example: buildah + example: buildah + - name: kinds + in: query + description: Kinds of resource to filter by + allowEmptyValue: true + schema: type: array items: - $ref: '#/components/schemas/Tag' - description: List of tags associated with the category + type: string + example: Corrupti atque odit expedita sit repellendus. + description: Kinds of resource to filter by example: - - id: 1 - name: image-build - - id: 2 - name: kaniko - example: - id: 1 - name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko - required: - - id - - name - - tags - Error: - type: object - properties: - fault: - type: boolean - description: Is the error a server-side fault? - example: true - id: - type: string - description: ID is a unique identifier for this particular occurrence of the problem. - example: 123abc - message: - type: string - description: Message is a human-readable explanation specific to this occurrence of the problem. - example: parameter 'p' must be an integer - name: + - task + - pipelines + example: + - task + - pipelines + - name: tags + in: query + description: Tags associated with a resource to filter by + allowEmptyValue: true + schema: + type: array + items: + type: string + example: Consequatur numquam id aut illum ut rerum. + description: Tags associated with a resource to filter by + example: + - image + - build + example: + - image + - build + - name: limit + in: query + description: Maximum number of resources to be returned + allowEmptyValue: true + schema: + type: integer + description: Maximum number of resources to be returned + default: 1000 + example: 100 + example: 100 + - name: match + in: query + description: Strategy used to find matching resources + allowEmptyValue: true + schema: type: string - description: Name is the name of this class of errors. - example: bad_request - temporary: - type: boolean - description: Is the error temporary? - example: false - timeout: - type: boolean - description: Is the error a timeout? - example: false - description: Internal Server Error + description: Strategy used to find matching resources + default: contains + example: contains + enum: + - exact + - contains + example: exact + responses: + "200": + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/Resources' + example: + data: + - catalog: + id: 1 + type: community + id: 1 + kind: task + latestVersion: + description: Buildah task builds source into a container image and then pushes it to a container registry. + displayName: Buildah + id: 1 + minPipelinesVersion: 0.12.1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + updatedAt: 2020-01-01 12:00:00 +0000 UTC + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + name: buildah + rating: 4.3 + tags: + - id: 1 + name: image-build + versions: + - id: 1 + version: "0.1" + - id: 2 + version: "0.2" + - catalog: + id: 1 + type: community + id: 1 + kind: task + latestVersion: + description: Buildah task builds source into a container image and then pushes it to a container registry. + displayName: Buildah + id: 1 + minPipelinesVersion: 0.12.1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + updatedAt: 2020-01-01 12:00:00 +0000 UTC + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + name: buildah + rating: 4.3 + tags: + - id: 1 + name: image-build + versions: + - id: 1 + version: "0.1" + - id: 2 + version: "0.2" + - catalog: + id: 1 + type: community + id: 1 + kind: task + latestVersion: + description: Buildah task builds source into a container image and then pushes it to a container registry. + displayName: Buildah + id: 1 + minPipelinesVersion: 0.12.1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + updatedAt: 2020-01-01 12:00:00 +0000 UTC + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + name: buildah + rating: 4.3 + tags: + - id: 1 + name: image-build + versions: + - id: 1 + version: "0.1" + - id: 2 + version: "0.2" + "400": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: true + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: true + timeout: true + "404": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: true + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: true + timeout: false + "500": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: true + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: false + timeout: true + /v1/resource/{catalog}/{kind}/{name}: + get: + tags: + - resource + summary: ByCatalogKindName resource + description: Find resources using name of catalog, resource name and kind of resource + operationId: resource#ByCatalogKindName#1 + parameters: + - name: catalog + in: path + description: name of catalog + required: true + schema: + type: string + description: name of catalog + example: tektoncd + example: tektoncd + - name: kind + in: path + description: kind of resource + required: true + schema: + type: string + description: kind of resource + example: pipeline + enum: + - task + - pipeline + example: pipeline + - name: name + in: path + description: Name of resource + required: true + schema: + type: string + description: Name of resource + example: buildah + example: buildah + responses: + "200": + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + example: + data: + catalog: + id: 1 + type: community + id: 1 + kind: task + latestVersion: + description: Buildah task builds source into a container image and then pushes it to a container registry. + displayName: Buildah + id: 1 + minPipelinesVersion: 0.12.1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + updatedAt: 2020-01-01 12:00:00 +0000 UTC + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + name: buildah + rating: 4.3 + tags: + - id: 1 + name: image-build + versions: + - id: 1 + version: "0.1" + - id: 2 + version: "0.2" + "404": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: true + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: false + timeout: false + "500": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: true + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: true + timeout: false + /v1/resource/{catalog}/{kind}/{name}/{version}: + get: + tags: + - resource + summary: ByCatalogKindNameVersion resource + description: Find resource using name of catalog & name, kind and version of resource + operationId: resource#ByCatalogKindNameVersion#1 + parameters: + - name: catalog + in: path + description: name of catalog + required: true + schema: + type: string + description: name of catalog + example: tektoncd + example: tektoncd + - name: kind + in: path + description: kind of resource + required: true + schema: + type: string + description: kind of resource + example: pipeline + enum: + - task + - pipeline + example: pipeline + - name: name + in: path + description: name of resource + required: true + schema: + type: string + description: name of resource + example: buildah + example: buildah + - name: version + in: path + description: version of resource + required: true + schema: + type: string + description: version of resource + example: "0.1" + example: "0.1" + responses: + "200": + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/ResourceVersion' + example: + data: + description: Buildah task builds source into a container image and then pushes it to a container registry. + displayName: Buildah + id: 1 + minPipelinesVersion: 0.12.1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + resource: + catalog: + id: 1 + type: community + id: 1 + kind: task + name: buildah + rating: 4.3 + tags: + - id: 1 + name: image-build + updatedAt: 2020-01-01 12:00:00 +0000 UTC + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + "404": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: true + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: true + timeout: true + "500": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: true + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: false + timeout: true + /v1/resource/{id}: + get: + tags: + - resource + summary: ById resource + description: Find a resource using it's id + operationId: resource#ById#1 + parameters: + - name: id + in: path + description: ID of a resource + required: true + schema: + type: integer + description: ID of a resource + example: 1 + example: 1 + responses: + "200": + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + example: + data: + catalog: + id: 1 + type: community + id: 1 + kind: task + latestVersion: + description: Buildah task builds source into a container image and then pushes it to a container registry. + displayName: Buildah + id: 1 + minPipelinesVersion: 0.12.1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + updatedAt: 2020-01-01 12:00:00 +0000 UTC + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + name: buildah + rating: 4.3 + tags: + - id: 1 + name: image-build + versions: + - id: 1 + version: "0.1" + - id: 2 + version: "0.2" + "404": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: true + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: false + timeout: true + "500": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: false + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: false + timeout: true + /v1/resource/{id}/versions: + get: + tags: + - resource + summary: VersionsByID resource + description: Find all versions of a resource by its id + operationId: resource#VersionsByID#1 + parameters: + - name: id + in: path + description: ID of a resource + required: true + schema: + type: integer + description: ID of a resource + example: 1 + example: 1 + responses: + "200": + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/ResourceVersions' + example: + data: + latest: + id: 2 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml + version: "0.2" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml + versions: + - id: 1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + - id: 2 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.2/buildah.yaml + version: "0.2" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.2/buildah.yaml + "404": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: false + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: true + timeout: false + "500": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: true + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: true + timeout: true + /v1/resource/version/{versionID}: + get: + tags: + - resource + summary: ByVersionId resource + description: Find a resource using its version's id + operationId: resource#ByVersionId#1 + parameters: + - name: versionID + in: path + description: Version ID of a resource's version + required: true + schema: + type: integer + description: Version ID of a resource's version + example: 1 + example: 1 + responses: + "200": + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/ResourceVersion' + example: + data: + description: Buildah task builds source into a container image and then pushes it to a container registry. + displayName: Buildah + id: 1 + minPipelinesVersion: 0.12.1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + resource: + catalog: + id: 1 + type: community + id: 1 + kind: task + name: buildah + rating: 4.3 + tags: + - id: 1 + name: image-build + updatedAt: 2020-01-01 12:00:00 +0000 UTC + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + "404": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: true + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: false + timeout: true + "500": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: false + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: false + timeout: true + /v1/resources: + get: + tags: + - resource + summary: List resource + description: List all resources sorted by rating and name + operationId: resource#List#1 + parameters: + - name: limit + in: query + description: Maximum number of resources to be returned + allowEmptyValue: true + schema: + type: integer + description: Maximum number of resources to be returned + default: 1000 + example: 100 + example: 100 + responses: + "200": + description: "" + content: + application/json: + schema: + $ref: '#/components/schemas/Resources' + example: + data: + - catalog: + id: 1 + type: community + id: 1 + kind: task + latestVersion: + description: Buildah task builds source into a container image and then pushes it to a container registry. + displayName: Buildah + id: 1 + minPipelinesVersion: 0.12.1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + updatedAt: 2020-01-01 12:00:00 +0000 UTC + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + name: buildah + rating: 4.3 + tags: + - id: 1 + name: image-build + versions: + - id: 1 + version: "0.1" + - id: 2 + version: "0.2" + - catalog: + id: 1 + type: community + id: 1 + kind: task + latestVersion: + description: Buildah task builds source into a container image and then pushes it to a container registry. + displayName: Buildah + id: 1 + minPipelinesVersion: 0.12.1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + updatedAt: 2020-01-01 12:00:00 +0000 UTC + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + name: buildah + rating: 4.3 + tags: + - id: 1 + name: image-build + versions: + - id: 1 + version: "0.1" + - id: 2 + version: "0.2" + - catalog: + id: 1 + type: community + id: 1 + kind: task + latestVersion: + description: Buildah task builds source into a container image and then pushes it to a container registry. + displayName: Buildah + id: 1 + minPipelinesVersion: 0.12.1 + rawURL: https://raw.githubusercontent.com/tektoncd/catalog/master/task/buildah/0.1/buildah.yaml + updatedAt: 2020-01-01 12:00:00 +0000 UTC + version: "0.1" + webURL: https://github.com/tektoncd/catalog/blob/master/task/buildah/0.1/buildah.yaml + name: buildah + rating: 4.3 + tags: + - id: 1 + name: image-build + versions: + - id: 1 + version: "0.1" + - id: 2 + version: "0.2" + "500": + description: "" + content: + application/vnd.goa.error: + schema: + $ref: '#/components/schemas/Error' + example: + fault: false + id: 123abc + message: parameter 'p' must be an integer + name: bad_request + temporary: true + timeout: false +components: + schemas: + AuthTokens: + type: object + properties: + access: + $ref: '#/components/schemas/Token' + refresh: + $ref: '#/components/schemas/Token' + description: Auth tokens have access and refresh token for user + example: + access: + expiresAt: 0 + refreshInterval: 1h30m + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM + refresh: + expiresAt: 0 + refreshInterval: 1h30m + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM + AuthenticateResponseBody: + type: object + properties: + data: + $ref: '#/components/schemas/AuthTokens' + example: + data: + access: + expiresAt: 0 + refreshInterval: 1h30m + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM + refresh: + expiresAt: 0 + refreshInterval: 1h30m + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1Nzc4ODAzMDAsImlhdCI6MTU3Nzg4MDAwMCwiaWQiOjExLCJpc3MiOiJUZWt0b24gSHViIiwic2NvcGVzIjpbInJhdGluZzpyZWFkIiwicmF0aW5nOndyaXRlIiwiYWdlbnQ6Y3JlYXRlIl0sInR5cGUiOiJhY2Nlc3MtdG9rZW4ifQ.6pDmziSKkoSqI1f0rc4-AqVdcfY0Q8wA-tSLzdTCLgM + required: + - data + Catalog: + type: object + properties: + id: + type: integer + description: ID is the unique id of the catalog + example: 1 + name: + type: string + description: Name of catalog + example: Tekton + type: + type: string + description: Type of catalog + example: community + enum: + - official + - community + example: + id: 1 + name: Tekton + type: community + required: + - id + - name + - type + Category: + type: object + properties: + id: + type: integer + description: ID is the unique id of the category + example: 1 + name: + type: string + description: Name of category + example: Image Builder + tags: + type: array + items: + $ref: '#/components/schemas/Tag' + description: List of tags associated with the category + example: + - id: 1 + name: image-build + - id: 2 + name: kaniko + example: + id: 1 + name: Image Builder + tags: + - id: 1 + name: image-build + - id: 2 + name: kaniko + required: + - id + - name + - tags + Error: + type: object + properties: + fault: + type: boolean + description: Is the error a server-side fault? + example: true + id: + type: string + description: ID is a unique identifier for this particular occurrence of the problem. + example: 123abc + message: + type: string + description: Message is a human-readable explanation specific to this occurrence of the problem. + example: parameter 'p' must be an integer + name: + type: string + description: Name is the name of this class of errors. + example: bad_request + temporary: + type: boolean + description: Is the error temporary? + example: true + timeout: + type: boolean + description: Is the error a timeout? + example: true + description: Internal Server Error example: - fault: false + fault: true id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: true - timeout: false + timeout: true required: - name - id @@ -1478,13 +2237,6 @@ components: name: image-build - id: 2 name: kaniko - - id: 1 - name: Image Builder - tags: - - id: 1 - name: image-build - - id: 2 - name: kaniko example: data: - id: 1 @@ -1501,6 +2253,20 @@ components: name: image-build - id: 2 name: kaniko + - id: 1 + name: Image Builder + tags: + - id: 1 + name: image-build + - id: 2 + name: kaniko + - id: 1 + name: Image Builder + tags: + - id: 1 + name: image-build + - id: 2 + name: kaniko RefreshConfigRequestBody: type: object properties: @@ -1969,15 +2735,14 @@ components: name: type: string description: Name of Agent - example: Incidunt accusamus dolor non eum praesentium corrupti. + example: Qui nam eos esse enim sint tempora. scopes: type: array items: type: string - example: Qui nam eos esse enim sint tempora. + example: Neque maxime nesciunt. description: Scopes required for Agent example: - - Maxime nesciunt sed. - Laboriosam incidunt neque asperiores. - Hic molestiae beatae dicta itaque. example: diff --git a/api/gen/http/resource/client/paths.go b/api/gen/http/resource/client/paths.go index b7a615179..1ffd8b3fa 100644 --- a/api/gen/http/resource/client/paths.go +++ b/api/gen/http/resource/client/paths.go @@ -16,32 +16,67 @@ func QueryResourcePath() string { return "/query" } +// QueryResourcePath2 returns the URL path to the resource service Query HTTP endpoint. +func QueryResourcePath2() string { + return "/v1/query" +} + // ListResourcePath returns the URL path to the resource service List HTTP endpoint. func ListResourcePath() string { return "/resources" } +// ListResourcePath2 returns the URL path to the resource service List HTTP endpoint. +func ListResourcePath2() string { + return "/v1/resources" +} + // VersionsByIDResourcePath returns the URL path to the resource service VersionsByID HTTP endpoint. func VersionsByIDResourcePath(id uint) string { return fmt.Sprintf("/resource/%v/versions", id) } +// VersionsByIDResourcePath2 returns the URL path to the resource service VersionsByID HTTP endpoint. +func VersionsByIDResourcePath2(id uint) string { + return fmt.Sprintf("/v1/resource/%v/versions", id) +} + // ByCatalogKindNameVersionResourcePath returns the URL path to the resource service ByCatalogKindNameVersion HTTP endpoint. func ByCatalogKindNameVersionResourcePath(catalog string, kind string, name string, version string) string { return fmt.Sprintf("/resource/%v/%v/%v/%v", catalog, kind, name, version) } +// ByCatalogKindNameVersionResourcePath2 returns the URL path to the resource service ByCatalogKindNameVersion HTTP endpoint. +func ByCatalogKindNameVersionResourcePath2(catalog string, kind string, name string, version string) string { + return fmt.Sprintf("/v1/resource/%v/%v/%v/%v", catalog, kind, name, version) +} + // ByVersionIDResourcePath returns the URL path to the resource service ByVersionId HTTP endpoint. func ByVersionIDResourcePath(versionID uint) string { return fmt.Sprintf("/resource/version/%v", versionID) } +// ByVersionIDResourcePath2 returns the URL path to the resource service ByVersionId HTTP endpoint. +func ByVersionIDResourcePath2(versionID uint) string { + return fmt.Sprintf("/v1/resource/version/%v", versionID) +} + // ByCatalogKindNameResourcePath returns the URL path to the resource service ByCatalogKindName HTTP endpoint. func ByCatalogKindNameResourcePath(catalog string, kind string, name string) string { return fmt.Sprintf("/resource/%v/%v/%v", catalog, kind, name) } +// ByCatalogKindNameResourcePath2 returns the URL path to the resource service ByCatalogKindName HTTP endpoint. +func ByCatalogKindNameResourcePath2(catalog string, kind string, name string) string { + return fmt.Sprintf("/v1/resource/%v/%v/%v", catalog, kind, name) +} + // ByIDResourcePath returns the URL path to the resource service ById HTTP endpoint. func ByIDResourcePath(id uint) string { return fmt.Sprintf("/resource/%v", id) } + +// ByIDResourcePath2 returns the URL path to the resource service ById HTTP endpoint. +func ByIDResourcePath2(id uint) string { + return fmt.Sprintf("/v1/resource/%v", id) +} diff --git a/api/gen/http/resource/server/paths.go b/api/gen/http/resource/server/paths.go index 31d9931d1..46d77aa88 100644 --- a/api/gen/http/resource/server/paths.go +++ b/api/gen/http/resource/server/paths.go @@ -16,32 +16,67 @@ func QueryResourcePath() string { return "/query" } +// QueryResourcePath2 returns the URL path to the resource service Query HTTP endpoint. +func QueryResourcePath2() string { + return "/v1/query" +} + // ListResourcePath returns the URL path to the resource service List HTTP endpoint. func ListResourcePath() string { return "/resources" } +// ListResourcePath2 returns the URL path to the resource service List HTTP endpoint. +func ListResourcePath2() string { + return "/v1/resources" +} + // VersionsByIDResourcePath returns the URL path to the resource service VersionsByID HTTP endpoint. func VersionsByIDResourcePath(id uint) string { return fmt.Sprintf("/resource/%v/versions", id) } +// VersionsByIDResourcePath2 returns the URL path to the resource service VersionsByID HTTP endpoint. +func VersionsByIDResourcePath2(id uint) string { + return fmt.Sprintf("/v1/resource/%v/versions", id) +} + // ByCatalogKindNameVersionResourcePath returns the URL path to the resource service ByCatalogKindNameVersion HTTP endpoint. func ByCatalogKindNameVersionResourcePath(catalog string, kind string, name string, version string) string { return fmt.Sprintf("/resource/%v/%v/%v/%v", catalog, kind, name, version) } +// ByCatalogKindNameVersionResourcePath2 returns the URL path to the resource service ByCatalogKindNameVersion HTTP endpoint. +func ByCatalogKindNameVersionResourcePath2(catalog string, kind string, name string, version string) string { + return fmt.Sprintf("/v1/resource/%v/%v/%v/%v", catalog, kind, name, version) +} + // ByVersionIDResourcePath returns the URL path to the resource service ByVersionId HTTP endpoint. func ByVersionIDResourcePath(versionID uint) string { return fmt.Sprintf("/resource/version/%v", versionID) } +// ByVersionIDResourcePath2 returns the URL path to the resource service ByVersionId HTTP endpoint. +func ByVersionIDResourcePath2(versionID uint) string { + return fmt.Sprintf("/v1/resource/version/%v", versionID) +} + // ByCatalogKindNameResourcePath returns the URL path to the resource service ByCatalogKindName HTTP endpoint. func ByCatalogKindNameResourcePath(catalog string, kind string, name string) string { return fmt.Sprintf("/resource/%v/%v/%v", catalog, kind, name) } +// ByCatalogKindNameResourcePath2 returns the URL path to the resource service ByCatalogKindName HTTP endpoint. +func ByCatalogKindNameResourcePath2(catalog string, kind string, name string) string { + return fmt.Sprintf("/v1/resource/%v/%v/%v", catalog, kind, name) +} + // ByIDResourcePath returns the URL path to the resource service ById HTTP endpoint. func ByIDResourcePath(id uint) string { return fmt.Sprintf("/resource/%v", id) } + +// ByIDResourcePath2 returns the URL path to the resource service ById HTTP endpoint. +func ByIDResourcePath2(id uint) string { + return fmt.Sprintf("/v1/resource/%v", id) +} diff --git a/api/gen/http/resource/server/server.go b/api/gen/http/resource/server/server.go index 03101a9b5..1ad2964b5 100644 --- a/api/gen/http/resource/server/server.go +++ b/api/gen/http/resource/server/server.go @@ -64,19 +64,33 @@ func New( return &Server{ Mounts: []*MountPoint{ {"Query", "GET", "/query"}, + {"Query", "GET", "/v1/query"}, {"List", "GET", "/resources"}, + {"List", "GET", "/v1/resources"}, {"VersionsByID", "GET", "/resource/{id}/versions"}, + {"VersionsByID", "GET", "/v1/resource/{id}/versions"}, {"ByCatalogKindNameVersion", "GET", "/resource/{catalog}/{kind}/{name}/{version}"}, + {"ByCatalogKindNameVersion", "GET", "/v1/resource/{catalog}/{kind}/{name}/{version}"}, {"ByVersionID", "GET", "/resource/version/{versionID}"}, + {"ByVersionID", "GET", "/v1/resource/version/{versionID}"}, {"ByCatalogKindName", "GET", "/resource/{catalog}/{kind}/{name}"}, + {"ByCatalogKindName", "GET", "/v1/resource/{catalog}/{kind}/{name}"}, {"ByID", "GET", "/resource/{id}"}, + {"ByID", "GET", "/v1/resource/{id}"}, {"CORS", "OPTIONS", "/query"}, + {"CORS", "OPTIONS", "/v1/query"}, {"CORS", "OPTIONS", "/resources"}, + {"CORS", "OPTIONS", "/v1/resources"}, {"CORS", "OPTIONS", "/resource/{id}/versions"}, + {"CORS", "OPTIONS", "/v1/resource/{id}/versions"}, {"CORS", "OPTIONS", "/resource/{catalog}/{kind}/{name}/{version}"}, + {"CORS", "OPTIONS", "/v1/resource/{catalog}/{kind}/{name}/{version}"}, {"CORS", "OPTIONS", "/resource/version/{versionID}"}, + {"CORS", "OPTIONS", "/v1/resource/version/{versionID}"}, {"CORS", "OPTIONS", "/resource/{catalog}/{kind}/{name}"}, + {"CORS", "OPTIONS", "/v1/resource/{catalog}/{kind}/{name}"}, {"CORS", "OPTIONS", "/resource/{id}"}, + {"CORS", "OPTIONS", "/v1/resource/{id}"}, }, Query: NewQueryHandler(e.Query, mux, decoder, encoder, errhandler, formatter), List: NewListHandler(e.List, mux, decoder, encoder, errhandler, formatter), @@ -126,6 +140,7 @@ func MountQueryHandler(mux goahttp.Muxer, h http.Handler) { } } mux.Handle("GET", "/query", f) + mux.Handle("GET", "/v1/query", f) } // NewQueryHandler creates a HTTP handler which loads the HTTP request and @@ -177,6 +192,7 @@ func MountListHandler(mux goahttp.Muxer, h http.Handler) { } } mux.Handle("GET", "/resources", f) + mux.Handle("GET", "/v1/resources", f) } // NewListHandler creates a HTTP handler which loads the HTTP request and calls @@ -228,6 +244,7 @@ func MountVersionsByIDHandler(mux goahttp.Muxer, h http.Handler) { } } mux.Handle("GET", "/resource/{id}/versions", f) + mux.Handle("GET", "/v1/resource/{id}/versions", f) } // NewVersionsByIDHandler creates a HTTP handler which loads the HTTP request @@ -279,6 +296,7 @@ func MountByCatalogKindNameVersionHandler(mux goahttp.Muxer, h http.Handler) { } } mux.Handle("GET", "/resource/{catalog}/{kind}/{name}/{version}", f) + mux.Handle("GET", "/v1/resource/{catalog}/{kind}/{name}/{version}", f) } // NewByCatalogKindNameVersionHandler creates a HTTP handler which loads the @@ -331,6 +349,7 @@ func MountByVersionIDHandler(mux goahttp.Muxer, h http.Handler) { } } mux.Handle("GET", "/resource/version/{versionID}", f) + mux.Handle("GET", "/v1/resource/version/{versionID}", f) } // NewByVersionIDHandler creates a HTTP handler which loads the HTTP request @@ -382,6 +401,7 @@ func MountByCatalogKindNameHandler(mux goahttp.Muxer, h http.Handler) { } } mux.Handle("GET", "/resource/{catalog}/{kind}/{name}", f) + mux.Handle("GET", "/v1/resource/{catalog}/{kind}/{name}", f) } // NewByCatalogKindNameHandler creates a HTTP handler which loads the HTTP @@ -433,6 +453,7 @@ func MountByIDHandler(mux goahttp.Muxer, h http.Handler) { } } mux.Handle("GET", "/resource/{id}", f) + mux.Handle("GET", "/v1/resource/{id}", f) } // NewByIDHandler creates a HTTP handler which loads the HTTP request and calls @@ -485,12 +506,19 @@ func MountCORSHandler(mux goahttp.Muxer, h http.Handler) { } } mux.Handle("OPTIONS", "/query", f) + mux.Handle("OPTIONS", "/v1/query", f) mux.Handle("OPTIONS", "/resources", f) + mux.Handle("OPTIONS", "/v1/resources", f) mux.Handle("OPTIONS", "/resource/{id}/versions", f) + mux.Handle("OPTIONS", "/v1/resource/{id}/versions", f) mux.Handle("OPTIONS", "/resource/{catalog}/{kind}/{name}/{version}", f) + mux.Handle("OPTIONS", "/v1/resource/{catalog}/{kind}/{name}/{version}", f) mux.Handle("OPTIONS", "/resource/version/{versionID}", f) + mux.Handle("OPTIONS", "/v1/resource/version/{versionID}", f) mux.Handle("OPTIONS", "/resource/{catalog}/{kind}/{name}", f) + mux.Handle("OPTIONS", "/v1/resource/{catalog}/{kind}/{name}", f) mux.Handle("OPTIONS", "/resource/{id}", f) + mux.Handle("OPTIONS", "/v1/resource/{id}", f) } // NewCORSHandler creates a HTTP handler which returns a simple 200 response. diff --git a/api/pkg/service/category/category_http_test.go b/api/pkg/service/category/category_http_test.go index 3223dce2b..8a5852f6d 100644 --- a/api/pkg/service/category/category_http_test.go +++ b/api/pkg/service/category/category_http_test.go @@ -50,3 +50,26 @@ func TestCategories_List_Http(t *testing.T) { golden.Assert(t, res, fmt.Sprintf("%s.golden", t.Name())) }) } + +func TestCategories_List_V1_Http(t *testing.T) { + tc := testutils.Setup(t) + testutils.LoadFixtures(t, tc.FixturePath()) + + checker := goahttpcheck.New() + checker.Mount( + server.NewListHandler, + server.MountListHandler, + category.NewListEndpoint(New(tc))) + + checker.Test(t, http.MethodGet, "/v1/categories").Check(). + HasStatus(http.StatusOK).Cb(func(r *http.Response) { + b, readErr := ioutil.ReadAll(r.Body) + assert.NoError(t, readErr) + defer r.Body.Close() + + res, err := testutils.FormatJSON(b) + assert.NoError(t, err) + + golden.Assert(t, res, fmt.Sprintf("%s.golden", t.Name())) + }) +} diff --git a/api/pkg/service/category/testdata/TestCategories_List_V1_Http.golden b/api/pkg/service/category/testdata/TestCategories_List_V1_Http.golden new file mode 100644 index 000000000..046f48d12 --- /dev/null +++ b/api/pkg/service/category/testdata/TestCategories_List_V1_Http.golden @@ -0,0 +1,38 @@ +{ + "data": [ + { + "id": 2, + "name": "abc", + "tags": [ + { + "id": 4, + "name": "atag" + }, + { + "id": 2, + "name": "rtag" + } + ] + }, + { + "id": 3, + "name": "pqr", + "tags": [ + { + "id": 3, + "name": "ptag" + } + ] + }, + { + "id": 1, + "name": "xyz", + "tags": [ + { + "id": 1, + "name": "ztag" + } + ] + } + ] +} diff --git a/api/pkg/service/resource/resource_http_test.go b/api/pkg/service/resource/resource_http_test.go index 071888b66..e6d952fdf 100644 --- a/api/pkg/service/resource/resource_http_test.go +++ b/api/pkg/service/resource/resource_http_test.go @@ -55,6 +55,23 @@ func TestQuery_Http(t *testing.T) { }) } +func TestQuery_V1_Http(t *testing.T) { + tc := testutils.Setup(t) + testutils.LoadFixtures(t, tc.FixturePath()) + + QueryChecker(tc).Test(t, http.MethodGet, "/v1/query?name=build&kinds=pipeline&limit=1").Check(). + HasStatus(200).Cb(func(r *http.Response) { + b, readErr := ioutil.ReadAll(r.Body) + assert.NoError(t, readErr) + defer r.Body.Close() + + res, err := testutils.FormatJSON(b) + assert.NoError(t, err) + + golden.Assert(t, res, fmt.Sprintf("%s.golden", t.Name())) + }) +} + func TestQueryWithKinds_Http(t *testing.T) { tc := testutils.Setup(t) testutils.LoadFixtures(t, tc.FixturePath()) @@ -254,6 +271,23 @@ func TestList_Http_NoLimit(t *testing.T) { }) } +func TestList_V1_Http(t *testing.T) { + tc := testutils.Setup(t) + testutils.LoadFixtures(t, tc.FixturePath()) + + ListChecker(tc).Test(t, http.MethodGet, "/v1/resources").Check(). + HasStatus(200).Cb(func(r *http.Response) { + b, readErr := ioutil.ReadAll(r.Body) + assert.NoError(t, readErr) + defer r.Body.Close() + + res, err := testutils.FormatJSON(b) + assert.NoError(t, err) + + golden.Assert(t, res, fmt.Sprintf("%s.golden", t.Name())) + }) +} + func VersionsByIDChecker(tc *testutils.TestConfig) *goahttpcheck.APIChecker { checker := goahttpcheck.New() checker.Mount( @@ -280,6 +314,23 @@ func TestVersionsByID_Http(t *testing.T) { }) } +func TestVersionsByID_V1_Http(t *testing.T) { + tc := testutils.Setup(t) + testutils.LoadFixtures(t, tc.FixturePath()) + + VersionsByIDChecker(tc).Test(t, http.MethodGet, "/v1/resource/1/versions").Check(). + HasStatus(200).Cb(func(r *http.Response) { + b, readErr := ioutil.ReadAll(r.Body) + assert.NoError(t, readErr) + defer r.Body.Close() + + res, err := testutils.FormatJSON(b) + assert.NoError(t, err) + + golden.Assert(t, res, fmt.Sprintf("%s.golden", t.Name())) + }) +} + func TestVersionsByID_Http_ErrorCase(t *testing.T) { tc := testutils.Setup(t) testutils.LoadFixtures(t, tc.FixturePath()) @@ -324,6 +375,23 @@ func TestByCatalogKindNameVersion_Http(t *testing.T) { }) } +func TestByCatalogKindNameVersion_V1_Http(t *testing.T) { + tc := testutils.Setup(t) + testutils.LoadFixtures(t, tc.FixturePath()) + + ByCatalogKindNameVersionChecker(tc).Test(t, http.MethodGet, "/v1/resource/catalog-official/task/tkn/0.1").Check(). + HasStatus(200).Cb(func(r *http.Response) { + b, readErr := ioutil.ReadAll(r.Body) + assert.NoError(t, readErr) + defer r.Body.Close() + + res, err := testutils.FormatJSON(b) + assert.NoError(t, err) + + golden.Assert(t, res, fmt.Sprintf("%s.golden", t.Name())) + }) +} + func TestByCatalogKindNameVersion_Http_ErrorCase(t *testing.T) { tc := testutils.Setup(t) testutils.LoadFixtures(t, tc.FixturePath()) @@ -368,6 +436,23 @@ func TestByVersionID_Http(t *testing.T) { }) } +func TestByVersionID_V1_Http(t *testing.T) { + tc := testutils.Setup(t) + testutils.LoadFixtures(t, tc.FixturePath()) + + ByVersionIDChecker(tc).Test(t, http.MethodGet, "/v1/resource/version/4").Check(). + HasStatus(200).Cb(func(r *http.Response) { + b, readErr := ioutil.ReadAll(r.Body) + assert.NoError(t, readErr) + defer r.Body.Close() + + res, err := testutils.FormatJSON(b) + assert.NoError(t, err) + + golden.Assert(t, res, fmt.Sprintf("%s.golden", t.Name())) + }) +} + func TestByVersionID_Http_ErrorCase(t *testing.T) { tc := testutils.Setup(t) testutils.LoadFixtures(t, tc.FixturePath()) @@ -412,6 +497,23 @@ func TestByCatalogKindName_Http(t *testing.T) { }) } +func TestByCatalogKindName_V1_Http(t *testing.T) { + tc := testutils.Setup(t) + testutils.LoadFixtures(t, tc.FixturePath()) + + ByCatalogKindNameChecker(tc).Test(t, http.MethodGet, "/v1/resource/catalog-official/task/tekton").Check(). + HasStatus(200).Cb(func(r *http.Response) { + b, readErr := ioutil.ReadAll(r.Body) + assert.NoError(t, readErr) + defer r.Body.Close() + + res, err := testutils.FormatJSON(b) + assert.NoError(t, err) + + golden.Assert(t, res, fmt.Sprintf("%s.golden", t.Name())) + }) +} + func TestByCatalogKindName_Http_ErrorCase(t *testing.T) { tc := testutils.Setup(t) testutils.LoadFixtures(t, tc.FixturePath()) @@ -456,6 +558,23 @@ func TestByID_Http(t *testing.T) { }) } +func TestByID_V1_Http(t *testing.T) { + tc := testutils.Setup(t) + testutils.LoadFixtures(t, tc.FixturePath()) + + ByIDChecker(tc).Test(t, http.MethodGet, "/v1/resource/1").Check(). + HasStatus(200).Cb(func(r *http.Response) { + b, readErr := ioutil.ReadAll(r.Body) + assert.NoError(t, readErr) + defer r.Body.Close() + + res, err := testutils.FormatJSON(b) + assert.NoError(t, err) + + golden.Assert(t, res, fmt.Sprintf("%s.golden", t.Name())) + }) +} + func TestByID_Http_ErrorCase(t *testing.T) { tc := testutils.Setup(t) testutils.LoadFixtures(t, tc.FixturePath()) diff --git a/api/pkg/service/resource/testdata/TestByCatalogKindNameVersion_V1_Http.golden b/api/pkg/service/resource/testdata/TestByCatalogKindNameVersion_V1_Http.golden new file mode 100644 index 000000000..13b6c9cc5 --- /dev/null +++ b/api/pkg/service/resource/testdata/TestByCatalogKindNameVersion_V1_Http.golden @@ -0,0 +1,29 @@ +{ + "data": { + "id": 8, + "version": "0.1", + "displayName": "Tkn CLI", + "description": "Desc5", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/tkn/0.1/tkn.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/tkn/0.1/tkn.yaml", + "updatedAt": "2013-01-01T00:00:01Z", + "resource": { + "id": 5, + "name": "tkn", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "task", + "tags": [ + { + "id": 2, + "name": "rtag" + } + ], + "rating": 5 + } + } +} diff --git a/api/pkg/service/resource/testdata/TestByCatalogKindName_V1_Http.golden b/api/pkg/service/resource/testdata/TestByCatalogKindName_V1_Http.golden new file mode 100644 index 000000000..98a13fcf0 --- /dev/null +++ b/api/pkg/service/resource/testdata/TestByCatalogKindName_V1_Http.golden @@ -0,0 +1,43 @@ +{ + "data": { + "id": 1, + "name": "tekton", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "task", + "latestVersion": { + "id": 5, + "version": "0.2", + "displayName": "Tekton CLI", + "description": "Desc1", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/tekton/0.2/tekton.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/tekton/0.2/tekton.yaml", + "updatedAt": "2013-01-01T00:00:01Z" + }, + "tags": [ + { + "id": 2, + "name": "rtag" + } + ], + "rating": 5, + "versions": [ + { + "id": 1, + "version": "0.1" + }, + { + "id": 6, + "version": "0.1.1" + }, + { + "id": 5, + "version": "0.2" + } + ] + } +} diff --git a/api/pkg/service/resource/testdata/TestByID_V1_Http.golden b/api/pkg/service/resource/testdata/TestByID_V1_Http.golden new file mode 100644 index 000000000..98a13fcf0 --- /dev/null +++ b/api/pkg/service/resource/testdata/TestByID_V1_Http.golden @@ -0,0 +1,43 @@ +{ + "data": { + "id": 1, + "name": "tekton", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "task", + "latestVersion": { + "id": 5, + "version": "0.2", + "displayName": "Tekton CLI", + "description": "Desc1", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/tekton/0.2/tekton.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/tekton/0.2/tekton.yaml", + "updatedAt": "2013-01-01T00:00:01Z" + }, + "tags": [ + { + "id": 2, + "name": "rtag" + } + ], + "rating": 5, + "versions": [ + { + "id": 1, + "version": "0.1" + }, + { + "id": 6, + "version": "0.1.1" + }, + { + "id": 5, + "version": "0.2" + } + ] + } +} diff --git a/api/pkg/service/resource/testdata/TestByVersionID_V1_Http.golden b/api/pkg/service/resource/testdata/TestByVersionID_V1_Http.golden new file mode 100644 index 000000000..e4832620c --- /dev/null +++ b/api/pkg/service/resource/testdata/TestByVersionID_V1_Http.golden @@ -0,0 +1,33 @@ +{ + "data": { + "id": 4, + "version": "0.2", + "displayName": "Build", + "description": "Desc2", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/build/0.2/build.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/build/0.2/build.yaml", + "updatedAt": "2013-01-01T00:00:01Z", + "resource": { + "id": 2, + "name": "build-pipeline", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "pipeline", + "tags": [ + { + "id": 4, + "name": "atag" + }, + { + "id": 1, + "name": "ztag" + } + ], + "rating": 4.4 + } + } +} diff --git a/api/pkg/service/resource/testdata/TestList_V1_Http.golden b/api/pkg/service/resource/testdata/TestList_V1_Http.golden new file mode 100644 index 000000000..5bea9e3e7 --- /dev/null +++ b/api/pkg/service/resource/testdata/TestList_V1_Http.golden @@ -0,0 +1,192 @@ +{ + "data": [ + { + "id": 1, + "name": "tekton", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "task", + "latestVersion": { + "id": 5, + "version": "0.2", + "displayName": "Tekton CLI", + "description": "Desc1", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/tekton/0.2/tekton.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/tekton/0.2/tekton.yaml", + "updatedAt": "2013-01-01T00:00:01Z" + }, + "tags": [ + { + "id": 2, + "name": "rtag" + } + ], + "rating": 5 + }, + { + "id": 5, + "name": "tkn", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "task", + "latestVersion": { + "id": 8, + "version": "0.1", + "displayName": "Tkn CLI", + "description": "Desc5", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/tkn/0.1/tkn.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/tkn/0.1/tkn.yaml", + "updatedAt": "2013-01-01T00:00:01Z" + }, + "tags": [ + { + "id": 2, + "name": "rtag" + } + ], + "rating": 5 + }, + { + "id": 7, + "name": "tkn-hub", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "task", + "latestVersion": { + "id": 10, + "version": "0.1", + "displayName": "Tkn Hub", + "description": "Desc7", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog-community/master/task/tkn-hub/0.1/tkn-hub.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog-community/tree/master/task/tkn-hub/0.1/tkn-hub.yaml", + "updatedAt": "2013-01-01T00:00:01Z" + }, + "tags": [ + { + "id": 2, + "name": "rtag" + } + ], + "rating": 5 + }, + { + "id": 2, + "name": "build-pipeline", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "pipeline", + "latestVersion": { + "id": 4, + "version": "0.2", + "displayName": "Build", + "description": "Desc2", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/build/0.2/build.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/build/0.2/build.yaml", + "updatedAt": "2013-01-01T00:00:01Z" + }, + "tags": [ + { + "id": 4, + "name": "atag" + }, + { + "id": 1, + "name": "ztag" + } + ], + "rating": 4.4 + }, + { + "id": 6, + "name": "img", + "catalog": { + "id": 2, + "name": "catalog-community", + "type": "community" + }, + "kind": "task", + "latestVersion": { + "id": 9, + "version": "0.1", + "displayName": "Image", + "description": "Desc3", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog-community/master/task/img/0.1/img.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog-community/tree/master/task/img/0.1/img.yaml", + "updatedAt": "2013-01-01T00:00:01Z" + }, + "tags": [], + "rating": 2.3 + }, + { + "id": 3, + "name": "img", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "task", + "latestVersion": { + "id": 3, + "version": "0.1", + "displayName": "Image", + "description": "Desc3", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/img/0.1/img.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/img/0.1/img.yaml", + "updatedAt": "2013-01-01T00:00:01Z" + }, + "tags": [ + { + "id": 3, + "name": "ptag" + } + ], + "rating": 2 + }, + { + "id": 4, + "name": "buildah", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "task", + "latestVersion": { + "id": 7, + "version": "0.1", + "displayName": "Buildah", + "description": "Desc4", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/buildah/0.1/buildah.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/buildah/0.1/buildah.yaml", + "updatedAt": "2013-01-01T00:00:01Z" + }, + "tags": [ + { + "id": 1, + "name": "ztag" + } + ], + "rating": 1.3 + } + ] +} diff --git a/api/pkg/service/resource/testdata/TestQuery_V1_Http.golden b/api/pkg/service/resource/testdata/TestQuery_V1_Http.golden new file mode 100644 index 000000000..d945aefcf --- /dev/null +++ b/api/pkg/service/resource/testdata/TestQuery_V1_Http.golden @@ -0,0 +1,35 @@ +{ + "data": [ + { + "id": 2, + "name": "build-pipeline", + "catalog": { + "id": 1, + "name": "catalog-official", + "type": "official" + }, + "kind": "pipeline", + "latestVersion": { + "id": 4, + "version": "0.2", + "displayName": "Build", + "description": "Desc2", + "minPipelinesVersion": "0.12.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/build/0.2/build.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/build/0.2/build.yaml", + "updatedAt": "2013-01-01T00:00:01Z" + }, + "tags": [ + { + "id": 4, + "name": "atag" + }, + { + "id": 1, + "name": "ztag" + } + ], + "rating": 4.4 + } + ] +} diff --git a/api/pkg/service/resource/testdata/TestVersionsByID_V1_Http.golden b/api/pkg/service/resource/testdata/TestVersionsByID_V1_Http.golden new file mode 100644 index 000000000..1d9a96648 --- /dev/null +++ b/api/pkg/service/resource/testdata/TestVersionsByID_V1_Http.golden @@ -0,0 +1,30 @@ +{ + "data": { + "latest": { + "id": 5, + "version": "0.2", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/tekton/0.2/tekton.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/tekton/0.2/tekton.yaml" + }, + "versions": [ + { + "id": 1, + "version": "0.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/tekton/0.1/tekton.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/tekton/0.1/tekton.yaml" + }, + { + "id": 6, + "version": "0.1.1", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/tekton/0.1.1/tekton.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/tekton/0.1.1/tekton.yaml" + }, + { + "id": 5, + "version": "0.2", + "rawURL": "https://raw.githubusercontent.com/Pipelines-Marketplace/catalog/master/task/tekton/0.2/tekton.yaml", + "webURL": "https://github.com/Pipelines-Marketplace/catalog/tree/master/task/tekton/0.2/tekton.yaml" + } + ] + } +}