Skip to content

Instantly share code, notes, and snippets.

@rdemoraes
Created February 2, 2022 20:48
Show Gist options
  • Save rdemoraes/f1f89a95f2110dc773a513de4e6f3d29 to your computer and use it in GitHub Desktop.
Save rdemoraes/f1f89a95f2110dc773a513de4e6f3d29 to your computer and use it in GitHub Desktop.
terraform-prepare.yml
.prepare:
before_script:
- |
#!/bin/bash
set -e
if [[ ! -z $AWS_ACCOUNT_ID && ! -z $AWS_IAM_ROLE ]]
then
echo 'Assuming role...'
session_name="${CI_COMMIT_SHORT_SHA}-`date +%Y%m%d`"
sts=( $(
aws sts assume-role \
--role-arn "arn:aws:iam::${AWS_ACCOUNT_ID}:role/${AWS_IAM_ROLE}" \
--role-session-name "$session_name" \
--query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]' \
--output text
) )
export "AWS_ACCESS_KEY_ID=${sts[0]}"
export "AWS_SECRET_ACCESS_KEY=${sts[1]}"
export "AWS_SESSION_TOKEN=${sts[2]}"
export "AWS_DEFAULT_REGION=${AWS_REGION}"
fi
RETURN_CODE=$?
if [[ $RETURN_CODE -eq 0 ]]
then
shopt -s expand_aliases
alias convert_report="jq -r '([.resource_changes[]?.change.actions?]|flatten)|{\"create\":(map(select(.==\"create\"))|length),\"update\":(map(select(.==\"update\"))|length),\"delete\":(map(select(.==\"delete\"))|length)}'"
echo "Setting git-credentials and gitconfig"
echo https://gitlab-ci-token:${CI_JOB_TOKEN}@mygitlab.example.com > ~/.git-credentials
cat $GLOBAL_TERRAFORM_GIT_CONFIG > ~/.gitconfig
cat ~/.git-credentials
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment