From 7ab2866d5cb6a5a4e0548730f9b6dcd04be8f712 Mon Sep 17 00:00:00 2001 From: Roman Mingazeev Date: Thu, 29 Oct 2020 20:53:04 +0300 Subject: [PATCH 1/2] verifying the access to a specific bucket --- post-processor/yandex-export/script.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/post-processor/yandex-export/script.go b/post-processor/yandex-export/script.go index 8f677242c..18e9c4e84 100644 --- a/post-processor/yandex-export/script.go +++ b/post-processor/yandex-export/script.go @@ -53,7 +53,7 @@ Exit () { exit 111 fi fi - + exit $1 } @@ -83,11 +83,14 @@ fi echo "Setup env variables to access storage..." eval "$(jq -r '@sh "export YC_SK_ID=\(.access_key.id); export AWS_ACCESS_KEY_ID=\(.access_key.key_id); export AWS_SECRET_ACCESS_KEY=\(.secret)"' <<<${SEC_json} )" -echo "Check access to storage..." -if ! aws s3 --region ru-central1 --endpoint-url=https://storage.yandexcloud.net ls > /dev/null ; then - echo "Failed to access storage." - Exit 1 -fi +for i in ${PATHS}; do + bucket=$(echo ${i} | sed 's/\(s3:\/\/[^\/]*\).*/\1/') + echo "Check access to storage: '${bucket}'..." + if ! aws s3 --region ru-central1 --endpoint-url=https://storage.yandexcloud.net ls ${bucket} > /dev/null ; then + echo "Failed to access storage: '${bucket}'." + Exit 1 + fi +done echo "Creating disk from image to be exported..." if ! yc compute disk create --name ${DISKNAME} --source-image-id ${IMAGE_ID} --zone ${ZONE}; then From 3fc185924d76d86e659a173807afe3527c55416c Mon Sep 17 00:00:00 2001 From: Roman Mingazeev Date: Fri, 30 Oct 2020 12:20:10 +0300 Subject: [PATCH 2/2] fix delete access key --- post-processor/yandex-export/script.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/post-processor/yandex-export/script.go b/post-processor/yandex-export/script.go index 18e9c4e84..d12883e08 100644 --- a/post-processor/yandex-export/script.go +++ b/post-processor/yandex-export/script.go @@ -46,6 +46,12 @@ Exit () { aws s3 --region ru-central1 --endpoint-url=https://storage.yandexcloud.net cp /var/log/syslog ${LOGDEST} done + echo "Delete static access key..." + if ! yc iam access-key delete ${YC_SK_ID} ; then + echo "Failed to delete static access key." + FAIL=1 + fi + if [ $1 -ne 0 ]; then echo "Set metadata key 'cloud-init-status' to 'cloud-init-error' value" if ! yc compute instance update ${INSTANCE_ID} --metadata cloud-init-status=cloud-init-error ; then @@ -129,11 +135,6 @@ for i in ${PATHS}; do fi done -echo "Delete static access key..." -if ! yc iam access-key delete ${YC_SK_ID} ; then - echo "Failed to delete static access key." - FAIL=1 -fi echo "Set metadata key 'cloud-init-status' to 'cloud-init-done' value" if ! yc compute instance update ${INSTANCE_ID} --metadata cloud-init-status=cloud-init-done ; then