|
| 1 | +version: 0.2 |
| 2 | +env: |
| 3 | + variables: |
| 4 | + AWS_DEFAULT_REGION: "us-west-2" |
| 5 | + secrets-manager: |
| 6 | + PGHOST: "${DB_SECRET_ARN}:host" |
| 7 | + PGUSER: "${DB_SECRET_ARN}:username" |
| 8 | + PGPASSWORD: "${DB_SECRET_ARN}:password" |
| 9 | + PGDATABASE: "${DB_SECRET_ARN}:database" |
| 10 | + |
| 11 | +phases: |
| 12 | + install: |
| 13 | + commands: |
| 14 | + - echo "Inspecting build image..." |
| 15 | + - cat /etc/os-release || true |
| 16 | + - aws --version || true |
| 17 | + - jq --version || true |
| 18 | + - unzip -v | head -n 2 || true |
| 19 | + - psql --version || true |
| 20 | + - echo "Installing required packages if missing..." |
| 21 | + - | |
| 22 | + if ! command -v jq >/dev/null 2>&1; then |
| 23 | + yum install -y jq |
| 24 | + fi |
| 25 | + - | |
| 26 | + if ! command -v unzip >/dev/null 2>&1; then |
| 27 | + yum install -y unzip |
| 28 | + fi |
| 29 | + - | |
| 30 | + if ! command -v psql >/dev/null 2>&1; then |
| 31 | + echo "psql not found; trying PostgreSQL client package installs..." |
| 32 | +
|
| 33 | + yum install -y postgresql15 \ |
| 34 | + || yum install -y postgresql14 \ |
| 35 | + || yum install -y postgresql13 \ |
| 36 | + || yum install -y postgresql12 \ |
| 37 | + || yum install -y postgresql \ |
| 38 | + || { |
| 39 | + echo "Unable to install psql from enabled yum repositories." |
| 40 | + echo "Available postgres-related packages:" |
| 41 | + yum search postgresql || true |
| 42 | + exit 1 |
| 43 | + } |
| 44 | + fi |
| 45 | + - psql --version |
| 46 | + - aws --version |
| 47 | + |
| 48 | + pre_build: |
| 49 | + commands: |
| 50 | + - ls -lah |
| 51 | + - chmod +x generate-slices-daily.sh export-granules-daily.sh |
| 52 | + - | |
| 53 | + echo 'Before assuming role: ' |
| 54 | + - aws sts get-caller-identity |
| 55 | + - | |
| 56 | + echo "Assuming ctorm upload role..." |
| 57 | + - | |
| 58 | + CREDS_JSON="$(aws sts assume-role \ |
| 59 | + --role-arn "${CTORM_S3_ROLE_ARN}" \ |
| 60 | + --role-session-name "cumulus-db-md-extract-${CODEBUILD_BUILD_NUMBER}")" |
| 61 | +
|
| 62 | + export AWS_ACCESS_KEY_ID="$(echo "${CREDS_JSON}" | jq -r '.Credentials.AccessKeyId')" |
| 63 | + export AWS_SECRET_ACCESS_KEY="$(echo "${CREDS_JSON}" | jq -r '.Credentials.SecretAccessKey')" |
| 64 | + export AWS_SESSION_TOKEN="$(echo "${CREDS_JSON}" | jq -r '.Credentials.SessionToken')" |
| 65 | + - | |
| 66 | + echo 'After assuming role: ' |
| 67 | + - aws sts get-caller-identity |
| 68 | + |
| 69 | + build: |
| 70 | + commands: |
| 71 | + |
| 72 | + - aws sts get-caller-identity |
| 73 | + - ./generate-slices-daily.sh |
| 74 | + - ./export-granules-daily.sh |
| 75 | + post_build: |
| 76 | + commands: |
| 77 | + - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN |
| 78 | + - echo "Build complete." |
0 commit comments