diff --git a/internal/cloudapi/v2/handler.go b/internal/cloudapi/v2/handler.go index 81d052498..1ad9951f3 100644 --- a/internal/cloudapi/v2/handler.go +++ b/internal/cloudapi/v2/handler.go @@ -375,10 +375,16 @@ func (h *apiHandlers) PostCompose(ctx echo.Context) error { return HTTPError(ErrorJSONUnMarshallingError) } + public := false + if awsS3UploadOptions.Public != nil && *awsS3UploadOptions.Public { + public = true + } + key := fmt.Sprintf("composer-api-%s", uuid.New().String()) t := target.NewAWSS3Target(&target.AWSS3TargetOptions{ Region: awsS3UploadOptions.Region, Key: key, + Public: public, }) t.ImageName = key t.OsbuildArtifact.ExportFilename = imageType.Filename() diff --git a/internal/cloudapi/v2/openapi.v2.gen.go b/internal/cloudapi/v2/openapi.v2.gen.go index 3b9f2b0ca..4fbae6114 100644 --- a/internal/cloudapi/v2/openapi.v2.gen.go +++ b/internal/cloudapi/v2/openapi.v2.gen.go @@ -122,6 +122,13 @@ type AWSEC2UploadStatus struct { // AWSS3UploadOptions defines model for AWSS3UploadOptions. type AWSS3UploadOptions struct { + // If set to false (the default value), a long, obfuscated URL + // is returned. Its expiration might be sooner than for other upload + // targets. + // + // If set to true, a shorter URL is returned and + // its expiration is the same as for the other upload targets. + Public *bool `json:"public,omitempty"` Region string `json:"region"` } @@ -776,116 +783,118 @@ 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 diff --git a/internal/cloudapi/v2/openapi.v2.yml b/internal/cloudapi/v2/openapi.v2.yml index 8cccc02b4..317400114 100644 --- a/internal/cloudapi/v2/openapi.v2.yml +++ b/internal/cloudapi/v2/openapi.v2.yml @@ -844,6 +844,16 @@ components: region: type: string example: 'eu-west-1' + public: + type: boolean + default: false + description: | + If set to false (the default value), a long, obfuscated URL + is returned. Its expiration might be sooner than for other upload + targets. + + If set to true, a shorter URL is returned and + its expiration is the same as for the other upload targets. GCPUploadOptions: type: object required: diff --git a/test/cases/api/aws.s3.sh b/test/cases/api/aws.s3.sh index ead9b6c1a..29cd5bc9d 100644 --- a/test/cases/api/aws.s3.sh +++ b/test/cases/api/aws.s3.sh @@ -19,7 +19,7 @@ function cleanup() { # extract filename component from URL local S3_FILENAME - S3_FILENAME=$(echo "${S3_URL}" | grep -oP '(?<=/)[^/]+(?=\?)') + S3_FILENAME=$(echo "import urllib.parse; print(urllib.parse.urlsplit('$S3_URL').path.strip('/'))" | python3 -) # prepend bucket local S3_URI @@ -68,7 +68,6 @@ function checkUploadStatusOptions() { # S3 URL contains region and bucket name echo "$S3_URL" | grep -F "$AWS_BUCKET" - - echo "$S3_URL" | grep -F "$AWS_REGION" - } # Verify s3 blobs @@ -79,7 +78,7 @@ function verify() { # Tag the resource as a test file local S3_FILENAME - S3_FILENAME=$(echo "${S3_URL}" | grep -oP '(?<=/)[^/]+(?=\?)') + S3_FILENAME=$(echo "import urllib.parse; print(urllib.parse.urlsplit('$S3_URL').path.strip('/'))" | python3 -) # tag the object, also verifying that it exists in the bucket as expected $AWS_CMD s3api put-object-tagging \ @@ -92,6 +91,15 @@ function verify() { # Download the object using the Presigned URL and inspect case ${IMAGE_TYPE} in "$IMAGE_TYPE_EDGE_COMMIT") + if [[ $ID == "fedora" ]]; then + # on Fedora, the test case uploads the artifact publicly, + # so check here that the URL isn't presigned + [[ ${S3_URL} != *"X-Amz-Signature"* ]] + else + # The URL is presigned otherwise + [[ ${S3_URL} == *"X-Amz-Signature"* ]] + fi + curl "${S3_URL}" --output "${WORKDIR}/edge-commit.tar" verifyEdgeCommit "${WORKDIR}/edge-commit.tar" ;; @@ -101,6 +109,7 @@ function verify() { ;; "${IMAGE_TYPE_VSPHERE}") + curl "${S3_URL}" --output "${WORKDIR}/disk.vmdk" verifyInVSphere "${WORKDIR}/disk.vmdk" ;; diff --git a/test/cases/api/common/s3.sh b/test/cases/api/common/s3.sh index 17d0747cd..d88461c9d 100644 --- a/test/cases/api/common/s3.sh +++ b/test/cases/api/common/s3.sh @@ -6,6 +6,14 @@ source /usr/libexec/tests/osbuild-composer/shared_lib.sh OSTREE_REF="test/rhel/8/edge" function createReqFileEdge() { + local public_block= + + # on Fedora, upload the artifact publicly, so we can later check the + # URL created by composer is just public, not presigned + if [[ $ID == "fedora" ]]; then + public_block=',"public": true' + fi + cat > "$REQUEST_FILE" << EOF { "distribution": "$DISTRO", @@ -39,7 +47,7 @@ function createReqFileEdge() { "ref": "${OSTREE_REF}" }, "upload_options": { - "region": "${AWS_REGION}" + "region": "${AWS_REGION}"${public_block} } } }