cloudapi: Add /depsolve/blueprint route

This will allow depsolving blueprints and returning package metadata for
the dependencies.

Related: RHEL-60125
This commit is contained in:
Brian C. Lane 2024-09-13 14:48:13 -07:00 committed by Brian C. Lane
parent 4f3c93ef1e
commit e06e62ca03
2 changed files with 307 additions and 186 deletions

View file

@ -656,6 +656,20 @@ type DNFPluginConfig struct {
Enabled *bool `json:"enabled,omitempty"`
}
// DepsolveRequest defines model for DepsolveRequest.
type DepsolveRequest struct {
Architecture string `json:"architecture"`
Blueprint Blueprint `json:"blueprint"`
Distribution string `json:"distribution"`
Repositories *[]Repository `json:"repositories,omitempty"`
}
// DepsolveResponse defines model for DepsolveResponse.
type DepsolveResponse struct {
// Package list including NEVRA
Packages []PackageMetadata `json:"packages"`
}
// A custom directory to create in the final artifact.
type Directory struct {
// Ensure that the parent directories exist
@ -1038,7 +1052,10 @@ type PackageGroup struct {
// PackageMetadata defines model for PackageMetadata.
type PackageMetadata struct {
Arch string `json:"arch"`
Arch string `json:"arch"`
// Optional package checksum using ALGO:HASH form
Checksum *string `json:"checksum,omitempty"`
Epoch *string `json:"epoch,omitempty"`
Name string `json:"name"`
Release string `json:"release"`
@ -1229,6 +1246,9 @@ type PostComposeJSONBody ComposeRequest
// PostCloneComposeJSONBody defines parameters for PostCloneCompose.
type PostCloneComposeJSONBody CloneComposeBody
// PostDepsolveBlueprintJSONBody defines parameters for PostDepsolveBlueprint.
type PostDepsolveBlueprintJSONBody DepsolveRequest
// GetErrorListParams defines parameters for GetErrorList.
type GetErrorListParams struct {
// Page index
@ -1244,6 +1264,9 @@ type PostComposeJSONRequestBody PostComposeJSONBody
// PostCloneComposeJSONRequestBody defines body for PostCloneCompose for application/json ContentType.
type PostCloneComposeJSONRequestBody PostCloneComposeJSONBody
// PostDepsolveBlueprintJSONRequestBody defines body for PostDepsolveBlueprint for application/json ContentType.
type PostDepsolveBlueprintJSONRequestBody PostDepsolveBlueprintJSONBody
// ServerInterface represents all server handlers.
type ServerInterface interface {
// The status of a cloned compose
@ -1270,6 +1293,9 @@ type ServerInterface interface {
// Get the SBOMs for a compose.
// (GET /composes/{id}/sboms)
GetComposeSBOMs(ctx echo.Context, id string) error
// Depsolve one or more blueprints
// (POST /depsolve/blueprint)
PostDepsolveBlueprint(ctx echo.Context) error
// Get a list of all possible errors
// (GET /errors)
GetErrorList(ctx echo.Context, params GetErrorListParams) error
@ -1415,6 +1441,17 @@ func (w *ServerInterfaceWrapper) GetComposeSBOMs(ctx echo.Context) error {
return err
}
// PostDepsolveBlueprint converts echo context to params.
func (w *ServerInterfaceWrapper) PostDepsolveBlueprint(ctx echo.Context) error {
var err error
ctx.Set(BearerScopes, []string{""})
// Invoke the callback with all the unmarshalled arguments
err = w.Handler.PostDepsolveBlueprint(ctx)
return err
}
// GetErrorList converts echo context to params.
func (w *ServerInterfaceWrapper) GetErrorList(ctx echo.Context) error {
var err error
@ -1507,6 +1544,7 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
router.GET(baseURL+"/composes/:id/manifests", wrapper.GetComposeManifests)
router.GET(baseURL+"/composes/:id/metadata", wrapper.GetComposeMetadata)
router.GET(baseURL+"/composes/:id/sboms", wrapper.GetComposeSBOMs)
router.POST(baseURL+"/depsolve/blueprint", wrapper.PostDepsolveBlueprint)
router.GET(baseURL+"/errors", wrapper.GetErrorList)
router.GET(baseURL+"/errors/:id", wrapper.GetError)
router.GET(baseURL+"/openapi", wrapper.GetOpenapi)
@ -1516,191 +1554,195 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
"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",
}
// GetSwagger returns the content of the embedded swagger specification file

View file

@ -397,6 +397,50 @@ paths:
schema:
$ref: '#/components/schemas/Error'
/depsolve/blueprint:
post:
operationId: postDepsolveBlueprint
summary: Depsolve one or more blueprints
security:
- Bearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DepsolveRequest'
responses:
'200':
description: Depsolved package list
content:
application/json:
schema:
$ref: '#/components/schemas/DepsolveResponse'
'400':
description: Invalid depsolve request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Auth token is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Unauthorized to perform operation
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Unexpected error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/errors/{id}:
get:
operationId: getError
@ -829,6 +873,10 @@ components:
type: string
signature:
type: string
checksum:
type: string
description: 'Optional package checksum using ALGO:HASH form'
example: 'sha256:525788de3dd44497c27d4172568366b20380a6b6707f0a1970473e4d97046a4f'
ComposeRequest:
additionalProperties: false
@ -2208,6 +2256,37 @@ components:
- $ref: '#/components/schemas/ObjectReference'
- $ref: '#/components/schemas/UploadStatus'
DepsolveRequest:
additionalProperties: false
required:
- blueprint
- distribution
- architecture
properties:
repositories:
type: array
items:
$ref: '#/components/schemas/Repository'
distribution:
type: string
example: 'rhel-8'
architecture:
type: string
example: 'x86_64'
blueprint:
$ref: '#/components/schemas/Blueprint'
DepsolveResponse:
type: object
required:
- packages
properties:
packages:
type: array
items:
$ref: '#/components/schemas/PackageMetadata'
description: 'Package list including NEVRA'
parameters:
page:
name: page