From 0619ffa58852c9ed5578fc6a089d437a76f0c8ed Mon Sep 17 00:00:00 2001 From: Chloe Kaubisch Date: Tue, 8 Feb 2022 15:43:34 +0100 Subject: [PATCH] cloudapi: expose filesystem customizations --- internal/cloudapi/v2/openapi.v2.gen.go | 152 +++++++++++++------------ internal/cloudapi/v2/openapi.v2.yml | 16 +++ internal/cloudapi/v2/v2.go | 16 +++ test/cases/api.sh | 24 ++++ 4 files changed, 136 insertions(+), 72 deletions(-) diff --git a/internal/cloudapi/v2/openapi.v2.gen.go b/internal/cloudapi/v2/openapi.v2.gen.go index a2834ec05..a261dfeaa 100644 --- a/internal/cloudapi/v2/openapi.v2.gen.go +++ b/internal/cloudapi/v2/openapi.v2.gen.go @@ -209,7 +209,8 @@ type ComposeStatusValue string // Customizations defines model for Customizations. type Customizations struct { - Packages *[]string `json:"packages,omitempty"` + Filesystem *[]Filesystem `json:"filesystem,omitempty"` + Packages *[]string `json:"packages,omitempty"` // Extra repositories for packages specified in customizations. These // repositories will only be used to depsolve and retrieve packages @@ -239,6 +240,12 @@ type ErrorList struct { Items []Error `json:"items"` } +// Filesystem defines model for Filesystem. +type Filesystem struct { + MinSize int `json:"min_size"` + Mountpoint string `json:"mountpoint"` +} + // GCPUploadOptions defines model for GCPUploadOptions. type GCPUploadOptions struct { // Name of an existing STANDARD Storage class Bucket. @@ -632,77 +639,78 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "azclmm1wbh7/LwAA//8bFLwoAU4AAA==", + "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", + "TclmG52bx/8LAAD//wPiCUUCTwAA", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/internal/cloudapi/v2/openapi.v2.yml b/internal/cloudapi/v2/openapi.v2.yml index 9f8508513..a5d59d0ad 100644 --- a/internal/cloudapi/v2/openapi.v2.yml +++ b/internal/cloudapi/v2/openapi.v2.yml @@ -818,6 +818,22 @@ components: for the OS itself (they will not be available for the build root or any other part of the build process). The package_sets field for these repositories is ignored. + filesystem: + type: array + items: + $ref: '#/components/schemas/Filesystem' + Filesystem: + type: object + required: + - mountpoint + - min_size + properties: + mountpoint: + type: string + example: '/var' + min_size: + type: integer + example: 1024 OSTree: type: object properties: diff --git a/internal/cloudapi/v2/v2.go b/internal/cloudapi/v2/v2.go index ddfe7d28e..45f2c09e9 100644 --- a/internal/cloudapi/v2/v2.go +++ b/internal/cloudapi/v2/v2.go @@ -205,6 +205,22 @@ func (h *apiHandlers) PostCompose(ctx echo.Context) error { } } + if request.Customizations != nil && request.Customizations.Filesystem != nil { + var fsCustomizations []blueprint.FilesystemCustomization + for _, f := range *request.Customizations.Filesystem { + + fsCustomizations = append(fsCustomizations, + blueprint.FilesystemCustomization{ + Mountpoint: f.Mountpoint, + MinSize: uint64(f.MinSize), + }, + ) + } + bp.Customizations = &blueprint.Customizations{ + Filesystem: fsCustomizations, + } + } + // add the user-defined repositories only to the depsolve job for the // payload (the packages for the final image) var payloadRepositories []Repository diff --git a/test/cases/api.sh b/test/cases/api.sh index 0c56f2e28..ada365ab0 100755 --- a/test/cases/api.sh +++ b/test/cases/api.sh @@ -512,6 +512,12 @@ function createReqFileAWS() { { "distribution": "$DISTRO", "customizations": { + "filesystem": [ + { + "mountpoint": "/var", + "min_size": 1024 + } + ], "payload_repositories": [ { "baseurl": "$PAYLOAD_REPO_URL" @@ -557,6 +563,12 @@ function createReqFileAWSS3() { { "distribution": "$DISTRO", "customizations": { + "filesystem": [ + { + "mountpoint": "/var", + "min_size": 1024 + } + ], "payload_repositories": [ { "baseurl": "$PAYLOAD_REPO_URL" @@ -607,6 +619,12 @@ function createReqFileGCP() { { "distribution": "$DISTRO", "customizations": { + "filesystem": [ + { + "mountpoint": "/var", + "min_size": 1024 + } + ], "payload_repositories": [ { "baseurl": "$PAYLOAD_REPO_URL" @@ -639,6 +657,12 @@ function createReqFileAzure() { { "distribution": "$DISTRO", "customizations": { + "filesystem": [ + { + "mountpoint": "/var", + "min_size": 1024 + } + ], "payload_repositories": [ { "baseurl": "$PAYLOAD_REPO_URL"