mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-09-21 21:44:39 -04:00
Fix shellcheck warnings
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
This commit is contained in:
parent
eb66767a62
commit
7aa7492474
33 changed files with 328 additions and 199 deletions
|
@ -15,6 +15,7 @@
|
|||
# * AZURE_IMAGE_NAME: (optional, default: upload-target) Temporary image used for upload, must not exist.
|
||||
|
||||
set -euo pipefail
|
||||
shopt -s inherit_errexit
|
||||
|
||||
# Required tools
|
||||
if ! command -v az &> /dev/null
|
||||
|
@ -71,8 +72,8 @@ echo "AZURE_SKU=${AZURE_SKU}"
|
|||
echo "AZURE_SECURITY_TYPE=${AZURE_SECURITY_TYPE}"
|
||||
echo ""
|
||||
|
||||
read -p "Continue (y/n)?" choice
|
||||
case "$choice" in
|
||||
read -r -p "Continue (y/n)?" choice
|
||||
case "${choice}" in
|
||||
y|Y ) echo "Starting import...";;
|
||||
n|N ) echo "Abort!"; exit 1;;
|
||||
* ) echo "invalid"; exit 1;;
|
||||
|
@ -80,41 +81,96 @@ esac
|
|||
|
||||
echo "Preparing to upload '${AZURE_IMAGE_FILE} to Azure."
|
||||
|
||||
SIZE=$(wc -c ${AZURE_IMAGE_FILE} | cut -d " " -f1)
|
||||
SIZE=$(wc -c "${AZURE_IMAGE_FILE}" | cut -d " " -f1)
|
||||
echo "Size is ${SIZE} bytes."
|
||||
|
||||
echo "Creating disk (${AZURE_IMAGE_NAME}) as import target."
|
||||
az disk create -n ${AZURE_IMAGE_NAME} -g ${AZURE_RESOURCE_GROUP_NAME} -l ${AZURE_REGION} --hyper-v-generation V2 --os-type Linux --for-upload --upload-size-bytes ${SIZE} --sku standard_lrs
|
||||
az disk create \
|
||||
-n "${AZURE_IMAGE_NAME}" \
|
||||
-g "${AZURE_RESOURCE_GROUP_NAME}" \
|
||||
-l "${AZURE_REGION}" \
|
||||
--hyper-v-generation V2 \
|
||||
--os-type Linux \
|
||||
--for-upload \
|
||||
-upload-size-bytes "${SIZE}" \
|
||||
--sku standard_lrs
|
||||
echo "Waiting for disk to be created."
|
||||
az disk wait --created -n ${AZURE_IMAGE_NAME} -g ${AZURE_RESOURCE_GROUP_NAME}
|
||||
az disk wait --created -n "${AZURE_IMAGE_NAME}" -g "${AZURE_RESOURCE_GROUP_NAME}"
|
||||
echo "Retrieving disk ID."
|
||||
AZURE_DISK_ID=$(az disk list --query "[?name == '${AZURE_IMAGE_NAME}' && resourceGroup == '${AZURE_RESOURCE_GROUP_NAME^^}'] | [0].id" --output json | jq -r)
|
||||
AZURE_DISK_ID=$(az disk list \
|
||||
--query "[?name == '${AZURE_IMAGE_NAME}' && resourceGroup == '${AZURE_RESOURCE_GROUP_NAME^^}'] | [0].id" \
|
||||
--output json \
|
||||
| jq -r \
|
||||
)
|
||||
echo "Disk ID is ${AZURE_DISK_ID}"
|
||||
|
||||
echo "Generating SAS URL for authorized upload."
|
||||
AZURE_SAS_URL=$(az disk grant-access -n ${AZURE_IMAGE_NAME} -g ${AZURE_RESOURCE_GROUP_NAME} --access-level Write --duration-in-seconds 86400 | jq -r .accessSas)
|
||||
AZURE_SAS_URL=$(az disk grant-access \
|
||||
-n "${AZURE_IMAGE_NAME}" \
|
||||
-g "${AZURE_RESOURCE_GROUP_NAME}" \
|
||||
--access-level Write \
|
||||
--duration-in-seconds 86400 \
|
||||
| jq -r .accessSas \
|
||||
)
|
||||
echo "Uploading image file to Azure disk."
|
||||
azcopy copy ${AZURE_IMAGE_FILE} ${AZURE_SAS_URL} --blob-type PageBlob
|
||||
azcopy copy "${AZURE_IMAGE_FILE}" "${AZURE_SAS_URL}" --blob-type PageBlob
|
||||
echo "Finalizing upload."
|
||||
az disk revoke-access -n ${AZURE_IMAGE_NAME} -g ${AZURE_RESOURCE_GROUP_NAME}
|
||||
az disk revoke-access -n "${AZURE_IMAGE_NAME}" -g "${AZURE_RESOURCE_GROUP_NAME}"
|
||||
|
||||
echo "Creating Azure image."
|
||||
az image create -g ${AZURE_RESOURCE_GROUP_NAME} -l ${AZURE_REGION} -n ${AZURE_IMAGE_NAME} --hyper-v-generation V2 --os-type Linux --source ${AZURE_DISK_ID}
|
||||
az image create \
|
||||
-g "${AZURE_RESOURCE_GROUP_NAME}" \
|
||||
-l "${AZURE_REGION}" \
|
||||
-n "${AZURE_IMAGE_NAME}" \
|
||||
--hyper-v-generation V2 \
|
||||
--os-type Linux \
|
||||
--source "${AZURE_DISK_ID}"
|
||||
echo "Creating Azure Shared Image Gallery."
|
||||
az sig create -l ${AZURE_REGION} --gallery-name ${AZURE_GALLERY_NAME} --resource-group ${AZURE_RESOURCE_GROUP_NAME}
|
||||
az sig create \
|
||||
-l "${AZURE_REGION}" \
|
||||
--gallery-name "${AZURE_GALLERY_NAME}" \
|
||||
--resource-group "${AZURE_RESOURCE_GROUP_NAME}"
|
||||
echo "Creating Image Definition."
|
||||
az sig image-definition create --resource-group ${AZURE_RESOURCE_GROUP_NAME} -l ${AZURE_REGION} --gallery-name ${AZURE_GALLERY_NAME} --gallery-image-definition ${AZURE_IMAGE_DEFINITION} --publisher ${AZURE_PUBLISHER} --offer ${AZURE_IMAGE_OFFER} --sku ${AZURE_SKU} --os-type Linux --os-state generalized --hyper-v-generation V2 --features SecurityType=${AZURE_SECURITY_TYPE}
|
||||
az sig image-definition create \
|
||||
--resource-group "${AZURE_RESOURCE_GROUP_NAME}" \
|
||||
-l "${AZURE_REGION}" \
|
||||
--gallery-name "${AZURE_GALLERY_NAME}" \
|
||||
--gallery-image-definition "${AZURE_IMAGE_DEFINITION}" \
|
||||
--publisher "${AZURE_PUBLISHER}" \
|
||||
--offer "${AZURE_IMAGE_OFFER}" --sku "${AZURE_SKU}" \
|
||||
--os-type Linux \
|
||||
--os-state generalized \
|
||||
--hyper-v-generation V2 \
|
||||
--features SecurityType="${AZURE_SECURITY_TYPE}"
|
||||
echo "Retrieving temporary image ID."
|
||||
AZURE_IMAGE_ID=$(az image list --query "[?name == '${AZURE_IMAGE_NAME}' && resourceGroup == '${AZURE_RESOURCE_GROUP_NAME^^}'] | [0].id" --output json | jq -r)
|
||||
AZURE_IMAGE_ID=$(az image list \
|
||||
--query "[?name == '${AZURE_IMAGE_NAME}' && resourceGroup == '${AZURE_RESOURCE_GROUP_NAME^^}'] | [0].id" \
|
||||
--output json | jq -r \
|
||||
)
|
||||
|
||||
echo "Creating final image version."
|
||||
az sig image-version create --resource-group ${AZURE_RESOURCE_GROUP_NAME} -l ${AZURE_REGION} --gallery-name ${AZURE_GALLERY_NAME} --gallery-image-definition ${AZURE_IMAGE_DEFINITION} --gallery-image-version ${AZURE_IMAGE_VERSION} --target-regions ${AZURE_REGION} --replica-count 1 --managed-image ${AZURE_IMAGE_ID}
|
||||
az sig image-version create \
|
||||
--resource-group "${AZURE_RESOURCE_GROUP_NAME}" \
|
||||
-l "${AZURE_REGION}" \
|
||||
--gallery-name "${AZURE_GALLERY_NAME}" \
|
||||
--gallery-image-definition "${AZURE_IMAGE_DEFINITION}" \
|
||||
--gallery-image-version "${AZURE_IMAGE_VERSION}" \
|
||||
--target-regions "${AZURE_REGION}" \
|
||||
--replica-count 1 \
|
||||
--managed-image "${AZURE_IMAGE_ID}"
|
||||
|
||||
echo "Cleaning up ephemeral resources."
|
||||
az image delete --ids ${AZURE_IMAGE_ID}
|
||||
az disk delete -y --ids ${AZURE_DISK_ID}
|
||||
az image delete --ids "${AZURE_IMAGE_ID}"
|
||||
az disk delete -y --ids "${AZURE_DISK_ID}"
|
||||
|
||||
IMAGE_VERSION=$(az sig image-version show --resource-group ${AZURE_RESOURCE_GROUP_NAME} --gallery-name ${AZURE_GALLERY_NAME} --gallery-image-definition ${AZURE_IMAGE_DEFINITION} --gallery-image-version ${AZURE_IMAGE_VERSION} -o tsv --query id)
|
||||
IMAGE_VERSION=$(az sig image-version show \
|
||||
--resource-group "${AZURE_RESOURCE_GROUP_NAME}" \
|
||||
--gallery-name "${AZURE_GALLERY_NAME}" \
|
||||
--gallery-image-definition "${AZURE_IMAGE_DEFINITION}" \
|
||||
--gallery-image-version "${AZURE_IMAGE_VERSION}" \
|
||||
-o tsv \
|
||||
--query id \
|
||||
)
|
||||
echo "Image ID is ${IMAGE_VERSION}"
|
||||
|
||||
# # Cleanup all
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue