s3-resource-simple/assets/out
Aidan Feldman f1a98f3e9a pass the AWS credentials through the Concourse source data
Concourse pipelines dont have a way of setting environment variables,
and this is consistent with how https://github.com/concourse/s3-resource
works.
2016-03-10 10:57:12 -05:00

40 lines
1,019 B
Bash
Executable file

#!/bin/sh
# http://concourse.ci/implementing-resources.html#out:-update-a-resource.
# https://github.com/concourse/git-resource/blob/6fcfbd4/assets/out#L4-L16
set -e
exec 3>&1 # make stdout available as fd 3 for the result
exec 1>&2 # redirect all output to stderr for logging
source=$1
if [ -z "$source" ]; then
echo "usage: $0 <path/to/volume>"
exit 1
fi
#######################################
# parse incoming config data
payload=`cat`
bucket=$(echo "$payload" | jq -r '.source.bucket')
echo "Uploading to S3..."
# http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-environment
export AWS_ACCESS_KEY_ID=$(echo "$payload" | jq -r '.source.access_key_id')
export AWS_SECRET_ACCESS_KEY=$(echo "$payload" | jq -r '.source.secret_access_key')
aws s3 sync $source "s3://$bucket"
echo "...done."
# use the current UNIX time as the version
# https://github.com/concourse/git-resource/blob/6fcfbd4/assets/out#L133-L136
jq -n "{
version: {
timestamp: $(date +%s)}
}" >&3