cloudapi: Add ability to skip uploading and save image locally
During development it can be very useful to store the results locally
instead of uploading to a remote system. This implements a development
only option to help with that.
To use it you need to add OSBUILD_LOCALSAVE to the server's environment.
This can be done by editing /usr/lib/systemd/system/osbuild-composer.service
and adding:
Environment="OSBUILD_LOCALSAVE=1"
You can then use an 'upload_options' object to skip trying to upload to
the default service for the type of image, eg:
"image_requests": [
{
"architecture": "x86_64",
"image_type": "guest-image",
"upload_options": {
"local_save": true
},
...
}]
The results will be saved to /var/lib/osbuild-composer/artifacts/UUID/
using the default filename for the image type.
If local_save is used without OSBUILD_LOCALSAVE being set it will return
an error with id=36 saying 'local_save is not enabled'.
This commit is contained in:
parent
98c7a06545
commit
139bf4dec2
4 changed files with 195 additions and 128 deletions
|
|
@ -46,6 +46,7 @@ const (
|
|||
ErrorInvalidImageFromComposeId ServiceErrorCode = 33
|
||||
ErrorImageNotFound ServiceErrorCode = 34
|
||||
ErrorInvalidCustomization ServiceErrorCode = 35
|
||||
ErrorLocalSaveNotEnabled ServiceErrorCode = 36
|
||||
|
||||
// Internal errors, these are bugs
|
||||
ErrorFailedToInitializeBlueprint ServiceErrorCode = 1000
|
||||
|
|
@ -123,6 +124,7 @@ func getServiceErrors() serviceErrors {
|
|||
serviceError{ErrorInvalidImageFromComposeId, http.StatusBadRequest, "Invalid format for image id"},
|
||||
serviceError{ErrorImageNotFound, http.StatusBadRequest, "Image with given id not found"},
|
||||
serviceError{ErrorInvalidCustomization, http.StatusBadRequest, "Invalid image customization"},
|
||||
serviceError{ErrorLocalSaveNotEnabled, http.StatusBadRequest, "local_save is not enabled"},
|
||||
|
||||
serviceError{ErrorFailedToInitializeBlueprint, http.StatusInternalServerError, "Failed to initialize blueprint"},
|
||||
serviceError{ErrorFailedToGenerateManifestSeed, http.StatusInternalServerError, "Failed to generate manifest seed"},
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import (
|
|||
"math"
|
||||
"math/big"
|
||||
"net/http"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
|
|
@ -106,6 +107,33 @@ func splitExtension(filename string) string {
|
|||
return "." + strings.Join(filenameParts[1:], ".")
|
||||
}
|
||||
|
||||
// isLocalSave checks the environment to see if a local save has been enabled
|
||||
// and tests the UploadOptions to see if it has been selected
|
||||
func isLocalSave(options *UploadOptions) (bool, error) {
|
||||
if options == nil {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
var local LocalUploadOptions
|
||||
// This is a terrible way to do this, but it is imposed by the OpenAPI code generator so...
|
||||
j, err := json.Marshal(*options)
|
||||
if err != nil {
|
||||
return false, nil
|
||||
}
|
||||
err = json.Unmarshal(j, &local)
|
||||
if err != nil {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
// Return an error if local_save is set but not enabled
|
||||
_, enabled := os.LookupEnv("OSBUILD_LOCALSAVE")
|
||||
if !enabled && local.LocalSave {
|
||||
return false, HTTPError(ErrorLocalSaveNotEnabled)
|
||||
}
|
||||
|
||||
return enabled && local.LocalSave, nil
|
||||
}
|
||||
|
||||
type imageRequest struct {
|
||||
imageType distro.ImageType
|
||||
arch distro.Arch
|
||||
|
|
@ -196,12 +224,25 @@ func (h *apiHandlers) PostCompose(ctx echo.Context) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// Check to see if local_save is enabled and set
|
||||
localSave, err := isLocalSave(ir.UploadOptions)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var irTarget *target.Target
|
||||
if ir.UploadOptions == nil {
|
||||
// nowhere to put the image, this is a user error
|
||||
if request.Koji == nil {
|
||||
return HTTPError(ErrorJSONUnMarshallingError)
|
||||
}
|
||||
} else if localSave {
|
||||
// Override the image type upload selection and save it locally
|
||||
// Final image is in /var/lib/osbuild-composer/artifacts/UUID/
|
||||
irTarget = target.NewWorkerServerTarget()
|
||||
irTarget.ImageName = imageType.Filename()
|
||||
irTarget.OsbuildArtifact.ExportFilename = imageType.Filename()
|
||||
irTarget.OsbuildArtifact.ExportName = imageType.Exports()[0]
|
||||
} else {
|
||||
// Get the target for the selected image type
|
||||
irTarget, err = ir.GetTarget(&request, imageType)
|
||||
|
|
|
|||
|
|
@ -510,6 +510,14 @@ type List struct {
|
|||
Total int `json:"total"`
|
||||
}
|
||||
|
||||
// LocalUploadOptions defines model for LocalUploadOptions.
|
||||
type LocalUploadOptions struct {
|
||||
// This is used in combination with the OSBUILD_LOCALSAVE environmental
|
||||
// variable on the server to enable saving the compose locally. This
|
||||
// is for development use only, and is not available to users.
|
||||
LocalSave bool `json:"local_save"`
|
||||
}
|
||||
|
||||
// OSTree defines model for OSTree.
|
||||
type OSTree struct {
|
||||
// A URL which, if set, is used for fetching content. Implies that `url` is set as well,
|
||||
|
|
@ -894,134 +902,136 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
|
|||
// Base64 encoded, gzipped, json marshaled Swagger object
|
||||
var swaggerSpec = []string{
|
||||
|
||||
"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",
|
||||
"L47u+Vl/VizenT41l9fIX+416sZd4alt9+rTSv/+YjIk+6jzbC1x76o4d0pPp8e3F4bvzKf8oLnnO1Or",
|
||||
"RAejKq+8uc+z62L9lA4WD9XyBF7UHvp7l/YzQkPS2C8+0nt7ZJQuvP7eZPxMJ5y1xXPjenT3vPc0O2nc",
|
||||
"esx8aLLJ2eh8Wj73bi+ai4G94DdNfmSfloak2PUX5QfYOypa5U7t2uiZ5wXjdUKLDcNgk6NHHy8eGK5h",
|
||||
"/6D36DVeB4Vx/+3S5WbHIo3C6/PFkODGje+M/Xrdf7UfCnNRHgmChXXLXyf2oudPnu6qz6OqPRUnDfvi",
|
||||
"rvD4WK+WX+1u7WLevG3eNI+GRByfnD4/3M4Mt21dHPdKF/1m49m9n44q53Z30Ct1H4+W8KFkG8Rphu+N",
|
||||
"s/MZdO8nZqs2GxLDNfbwzfnV0VHvqNVsVk9wu43O9l1mn5zV/Xt+0+31ysWnmvFsk8VT46TpKhlqnc4b",
|
||||
"J635tDMkR/PO6ckNPW81eevo6KnVnLdbZ1a7dVJtNlvW9GbVe+/yqVmoHz15lrPsN5+fzuzJ8sIeksLe",
|
||||
"eP/tenw/G52Vi+3XyrRTvzo5uiyS7uPe0V3J9Wf9vdeB3688dNlRxa2c+o7wLm7b5xdd4dbax0NSYqdv",
|
||||
"j006KC29g6dOo9s8Nnut1tVy0pxw+nDXqD/d+a29wohM2ADdlru3V63x8rpV3384aNTw1f2QuLX+3ojf",
|
||||
"HM/rrXKXOWazV+0d+3T5XOpjcQqfqxc33XuxN2jDUhXzp/5pa/JG69dPjfvK+dW0VhwS6/XBapQvCyO3",
|
||||
"3H7r1weNykP7eFRyZpNqx5ktrM7rBbJKpbfHp4XLnvrP5+et8extvOdc9vf9hXU2JJNF4by4dJ7LXTw6",
|
||||
"Zfunzeby6uDugTWf+/N+r9g2JoPGvN0ii2n/2F++ug/z+9nl0aPf7tw3rlDlaUh6+K40Pr9scLN+7PGT",
|
||||
"Ra2392iSHrnp752xyeD64rjiPjCnaZL2wDaf7huT56n3YB8veaVwcICuhsSeFlmXLIuTy/kU+uMCvmtc",
|
||||
"GfuPs9500r3tnVu1u4P7i+W5//Ag3uaPZNK7rD3cnhy9XlT5M3V7vSEZi9HgrLRXW45uHwrNyuxoBBe3",
|
||||
"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",
|
||||
}
|
||||
|
||||
// GetSwagger returns the content of the embedded swagger specification file
|
||||
|
|
|
|||
|
|
@ -890,12 +890,26 @@ components:
|
|||
- $ref: '#/components/schemas/GCPUploadOptions'
|
||||
- $ref: '#/components/schemas/AzureUploadOptions'
|
||||
- $ref: '#/components/schemas/ContainerUploadOptions'
|
||||
- $ref: '#/components/schemas/LocalUploadOptions'
|
||||
description: |
|
||||
This should really be oneOf but AWSS3UploadOptions is a subset of
|
||||
AWSEC2UploadOptions. This means that all AWSEC2UploadOptions objects
|
||||
are also valid AWSS3UploadOptionas objects which violates the oneOf
|
||||
rules. Therefore, we have to use anyOf here but be aware that it isn't
|
||||
possible to mix and match more schemas together.
|
||||
LocalUploadOptions:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- local_save
|
||||
properties:
|
||||
local_save:
|
||||
type: boolean
|
||||
default: false
|
||||
description: |
|
||||
This is used in combination with the OSBUILD_LOCALSAVE environmental
|
||||
variable on the server to enable saving the compose locally. This
|
||||
is for development use only, and is not available to users.
|
||||
AWSEC2UploadOptions:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue