diff --git a/.github/scripts/akamai-aws-cli-env.sh b/.github/scripts/akamai-aws-cli-env.sh
new file mode 100755
index 000000000..4a461a3b6
--- /dev/null
+++ b/.github/scripts/akamai-aws-cli-env.sh
@@ -0,0 +1,12 @@
+# Akamai supports assumeRole for Cloudgate S3 access
+# The script asks for temp credentials to be able to upload to Akamai S3 origin bucket
+# The AWS CLI environment variables are then updated with temp credentials values
+session_name=$1
+duration_seconds=$2
+export $(printf "AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s AWS_SESSION_TOKEN=%s" \
+$(aws sts assume-role \
+--role-arn arn:aws:iam::${{ secrets.TOOLS_CLOUDGATE_ACCOUNT_ID }}:role/${{ secrets.TOOLS_CLOUDGATE_USER }} \
+--role-session-name $session_name \
+--duration-seconds $duration_seconds \
+--query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \
+--output text))
diff --git a/.github/workflows/akamai-test.yml b/.github/workflows/akamai-test.yml
index 81e8cca35..880ad78b2 100644
--- a/.github/workflows/akamai-test.yml
+++ b/.github/workflows/akamai-test.yml
@@ -4,9 +4,14 @@ on:
workflow_dispatch:
jobs:
+
akamai-upload:
name: Upload to Akamai
runs-on: ubuntu-latest
+ outputs:
+ key_id: ${{ steps.gen-upload.outputs.key_id }}
+ key_secret: ${{ steps.gen-upload.outputs.key_secret }}
+ session_token: ${{ steps.gen-upload.outputs.session_token }}
steps:
- name: Gen file and upload
id: gen-upload
@@ -22,6 +27,29 @@ jobs:
$(aws sts assume-role \
--role-arn arn:aws:iam::${{ secrets.TOOLS_CLOUDGATE_ACCOUNT_ID }}:role/${{ secrets.TOOLS_CLOUDGATE_USER }} \
--role-session-name gha-upload \
+ --duration-seconds=10 \
--query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \
--output text))
aws s3 mv ./$file s3://tools-spring-io/test-akamai/$file
+ aws s3 rm s3://tools-spring-io/test-akamai/$file
+ echo "key_id=${AWS_ACCESS_KEY_ID}" >> $GITHUB_OUTPUT
+ echo "key_secret=${AWS_SECRET_ACCESS_KEY}" >> $GITHUB_OUTPUT
+ echo "session_token=${AWS_SESSION_TOKEN}" >> $GITHUB_OUTPUT
+
+ akamai-test:
+ name: Test Akamai
+ runs-on: ubuntu-latest
+ needs: [ akamai-upload ]
+ steps:
+ - name: Test Environment
+ env:
+ AWS_ACCESS_KEY_ID: ${{ needs.akamai-upload.outputs.key_id }}
+ AWS_SECRET_ACCESS_KEY: ${{ needs.akamai-upload.outputs.key_secret }}
+ AWS_SESSION_TOKEN: ${{ needs.akamai-upload.outputs.session_token }}
+ run: |
+ echo $AWS_ACCESS_KEY_ID
+ echo $AWS_SECRET_ACCESS_KEY
+ echo $AWS_SESSION_TOKEN
+
+
+
diff --git a/.github/workflows/eclipse-ls-extensions-build.yml b/.github/workflows/eclipse-ls-extensions-build.yml
index 145639736..f794bce39 100644
--- a/.github/workflows/eclipse-ls-extensions-build.yml
+++ b/.github/workflows/eclipse-ls-extensions-build.yml
@@ -63,8 +63,8 @@ jobs:
echo "${{ secrets.GPG_PASSPHRASE }}" | gpg --batch --yes --passphrase-fd 0 --import gpg.asc
- name: Build Eclipse LS extensions
env:
- tools_s3_access_key: ${{ secrets.TOOLS_S3_ACCESS_KEY }}
- tools_s3_secret_key: ${{ secrets.TOOLS_S3_SECRET_KEY }}
+ AWS_ACCESS_KEY_ID: ${{ secrets.TOOLS_S3_ACCESS_KEY }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.TOOLS_S3_SECRET_KEY }}
gpg_passphrase: ${{ secrets.GPG_PASSPHRASE }}
gpg_keyname: ${{ secrets.GPG_KEYID }}
run: |
diff --git a/eclipse-language-servers/pom.xml b/eclipse-language-servers/pom.xml
index 6664e1b40..873fb964f 100644
--- a/eclipse-language-servers/pom.xml
+++ b/eclipse-language-servers/pom.xml
@@ -90,8 +90,8 @@
4.0.0
UTF-8
- ${env.bamboo_vault_tools_s3_accesskey_password}
- ${env.bamboo_vault_tools_s3_secretkey_password}
+ ${env.AWS_ACCESS_KEY_ID}
+ ${env.AWS_SECRET_ACCESS_KEY}
dist.springsource.com
TOOLS
@@ -134,8 +134,6 @@
gitactions
- ${env.tools_s3_access_key}
- ${env.tools_s3_secret_key}
${env.gpg_passphrase}
${env.gpg_keyname}
${env.gpg_homedir}