cloudapi: add option to upload S3 artifacts publicly

A small test is added to cover this new option. Also, a check for AWS region
in the URL was removed. The public URL doesn't actually contain it and it's
imho useless - S3 buckets are always tied to a certain region.

The elaborate grep command parsing a path from a URI was switched to being
a small python script. The python script can actually handle an URI without
a query (which was always present in the pre-signed URI, but it's not in the
ordinary one)

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
This commit is contained in:
Ondřej Budai 2022-08-15 15:57:43 +02:00 committed by Sanne Raymaekers
parent 54e2c2304c
commit d78f1e6229
5 changed files with 156 additions and 114 deletions

View file

@ -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()

View file

@ -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

View file

@ -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:

View file

@ -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"
;;

View file

@ -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}
}
}
}