cloudapi: add support for uploading to a container registry

Worker
------
Add configuration for the default container registry.
Use the default container registry if not provided as part
of the image name.
When using the default registry use the configured values
Return the image url as part of the result.

Composer Worker API
-------------------
Add `ContainerTargetResultOptions` to return the image url

Composer API
------------
Add UploadOptions to allow setting of the image name and tag
Add UploadStatus to return the url of the uploaded image

Co-Developed-By: Christian Kellner <christian@kellner.me>
This commit is contained in:
Ygal Blum 2022-07-26 14:45:52 +03:00 committed by Tom Gundersen
parent 14208d872b
commit 3231aabbc0
9 changed files with 277 additions and 130 deletions

View file

@ -344,8 +344,6 @@ func (h *apiHandlers) PostCompose(ctx echo.Context) error {
fallthrough
case ImageTypesEdgeInstaller:
fallthrough
case ImageTypesEdgeContainer:
fallthrough
case ImageTypesEdgeCommit:
var awsS3UploadOptions AWSS3UploadOptions
jsonUploadOptions, err := json.Marshal(*ir.UploadOptions)
@ -365,6 +363,22 @@ func (h *apiHandlers) PostCompose(ctx echo.Context) error {
t.ImageName = key
t.OsbuildArtifact.ExportFilename = imageType.Filename()
irTarget = t
case ImageTypesEdgeContainer:
var containerUploadOptions ContainerUploadOptions
jsonUploadOptions, err := json.Marshal(*ir.UploadOptions)
if err != nil {
return HTTPError(ErrorJSONMarshallingError)
}
err = json.Unmarshal(jsonUploadOptions, &containerUploadOptions)
if err != nil {
return HTTPError(ErrorJSONUnMarshallingError)
}
t := target.NewContainerTarget(&target.ContainerTargetOptions{})
t.ImageName = fmt.Sprintf("%s:%s", containerUploadOptions.Name, containerUploadOptions.Tag)
t.OsbuildArtifact.ExportFilename = imageType.Filename()
irTarget = t
case ImageTypesGcp:
fallthrough
@ -544,6 +558,14 @@ func targetResultToUploadStatus(t *target.TargetResult) (*UploadStatus, error) {
uploadOptions = AzureUploadStatus{
ImageName: gcpOptions.ImageName,
}
case target.TargetNameContainer:
uploadType = UploadTypesContainer
containerOptions := t.Options.(*target.ContainerTargetResultOptions)
uploadOptions = ContainerUploadStatus{
Url: containerOptions.URL,
Digest: containerOptions.Digest,
}
default:
return nil, fmt.Errorf("unknown upload target: %s", t.Name)
}

View file

@ -96,6 +96,8 @@ const (
UploadTypesAzure UploadTypes = "azure"
UploadTypesContainer UploadTypes = "container"
UploadTypesGcp UploadTypes = "gcp"
)
@ -218,6 +220,24 @@ type ComposeStatusError struct {
// ComposeStatusValue defines model for ComposeStatusValue.
type ComposeStatusValue string
// ContainerUploadOptions defines model for ContainerUploadOptions.
type ContainerUploadOptions struct {
// Name for the created container image
Name string `json:"name"`
// Tag for the created container image
Tag string `json:"tag"`
}
// ContainerUploadStatus defines model for ContainerUploadStatus.
type ContainerUploadStatus struct {
// Digest of the manifest of the uploaded container on the registry
Digest string `json:"digest"`
// FQDN of the uploaded image
Url string `json:"url"`
}
// Customizations defines model for Customizations.
type Customizations struct {
Filesystem *[]Filesystem `json:"filesystem,omitempty"`
@ -672,110 +692,112 @@ 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

@ -511,6 +511,7 @@ components:
- $ref: '#/components/schemas/AWSS3UploadStatus'
- $ref: '#/components/schemas/GCPUploadStatus'
- $ref: '#/components/schemas/AzureUploadStatus'
- $ref: '#/components/schemas/ContainerUploadStatus'
UploadStatusValue:
type: string
enum: ['success', 'failure', 'pending', 'running']
@ -521,6 +522,7 @@ components:
- aws.s3
- gcp
- azure
- container
AWSEC2UploadStatus:
type: object
required:
@ -566,7 +568,22 @@ components:
build_id:
type: integer
example: 42
ContainerUploadStatus:
type: object
additionalProperties: false
required:
- url
- digest
properties:
url:
type: string
example: 'quay.io/myaccount/osbuild:latest'
description: |
FQDN of the uploaded image
digest:
type: string
description: |
Digest of the manifest of the uploaded container on the registry
ComposeMetadata:
allOf:
- $ref: '#/components/schemas/ObjectReference'
@ -700,6 +717,7 @@ components:
- $ref: '#/components/schemas/AWSS3UploadOptions'
- $ref: '#/components/schemas/GCPUploadOptions'
- $ref: '#/components/schemas/AzureUploadOptions'
- $ref: '#/components/schemas/ContainerUploadOptions'
description: |
This should really be oneOf but AWSS3UploadOptions is a subset of
AWSEC2UploadOptions. This means that all AWSEC2UploadOptions objects
@ -824,6 +842,23 @@ components:
Name of the uploaded image. It must be unique in the given resource group.
If name is omitted from the request, a random one based on a UUID is
generated.
ContainerUploadOptions:
type: object
additionalProperties: false
required:
- name
- tag
properties:
name:
type: string
example: 'osbuild'
description: |
Name for the created container image
tag:
type: string
example: 'latest'
description: |
Tag for the created container image
Customizations:
type: object
properties: