4141 default : false
4242
4343env :
44+ environment : ${{ inputs.environment }}
45+ deployment_type : ${{ inputs.deployment_type }}
46+ db_snapshot_arn : ${{ inputs.db_snapshot_arn }}
47+ egress_cidr : ${{ inputs.egress_cidr }}
48+ take_db_snapshot : ${{ inputs.take_db_snapshot }}
4449 aws_role : ${{ inputs.environment == 'production'
4550 && 'arn:aws:iam::820242920762:role/GithubDeployDataReplicationInfrastructure'
4651 || 'arn:aws:iam::393416225559:role/GithubDeployDataReplicationInfrastructure' }}
7681 run : |
7782 set -e
7883 snapshot_identifier=snapshot-for-data-replication-$(date +"%Y-%m-%d-%H-%M-%S")
79- aws rds create-db-cluster-snapshot --db-cluster-identifier mavis-${{ inputs. environment }} --db-cluster-snapshot-identifier $snapshot_identifier
84+ aws rds create-db-cluster-snapshot --db-cluster-identifier mavis-$environment --db-cluster-snapshot-identifier $snapshot_identifier
8085 echo "Waiting for snapshot to be available. This can take a while."
8186 aws rds wait db-cluster-snapshot-available --db-cluster-snapshot-identifier $snapshot_identifier
8287 echo "New snapshot is now available"
@@ -89,19 +94,19 @@ jobs:
8994 id : get-latest-snapshot
9095 run : |
9196 set -e
92- if [ -z "${{ inputs. db_snapshot_arn }} " ]; then
97+ if [ -z "$db_snapshot_arn" ]; then
9398 echo "No snapshot ARN provided, fetching the latest snapshot"
9499 SNAPSHOT_ARN=$(aws rds describe-db-cluster-snapshots \
95- --query "DBClusterSnapshots[?DBClusterIdentifier=='mavis-${{ inputs. environment }} '].[DBClusterSnapshotArn, SnapshotCreateTime]" \
100+ --query "DBClusterSnapshots[?DBClusterIdentifier=='mavis-$environment'].[DBClusterSnapshotArn, SnapshotCreateTime]" \
96101 --output text | sort -k2 -r | head -n 1 | cut -f1)
97102
98103 if [ -z "$SNAPSHOT_ARN" ]; then
99- echo "No snapshots found for mavis-${{ inputs. environment }} "
104+ echo "No snapshots found for mavis-$environment"
100105 exit 1
101106 fi
102107 else
103- echo "Using provided snapshot ARN: ${{ inputs. db_snapshot_arn }} "
104- SNAPSHOT_ARN="${{ inputs. db_snapshot_arn }} "
108+ echo "Using provided snapshot ARN: $db_snapshot_arn"
109+ SNAPSHOT_ARN="$db_snapshot_arn"
105110 fi
106111 echo "Using snapshot ARN: $SNAPSHOT_ARN"
107112 echo "SNAPSHOT_ARN=$SNAPSHOT_ARN" >> $GITHUB_OUTPUT
@@ -130,9 +135,11 @@ jobs:
130135 uses : aws-actions/amazon-ecr-login@v2
131136 - name : Get docker image digest
132137 id : get-docker-image-digest
138+ env :
139+ IMAGE_TAG : ${{ inputs.image_tag || github.sha }}
133140 run : |
134141 set -e
135- DOCKER_IMAGE="${{ steps.login-ecr.outputs.registry }}/mavis/webapp:${{ inputs.image_tag || github.sha }} "
142+ DOCKER_IMAGE="${{ steps.login-ecr.outputs.registry }}/mavis/webapp:$IMAGE_TAG "
136143 docker pull "$DOCKER_IMAGE"
137144 DOCKER_DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' "$DOCKER_IMAGE")
138145 DIGEST="${DOCKER_DIGEST#*@}"
@@ -172,27 +179,26 @@ jobs:
172179 id : get-db-secret-arn
173180 working-directory : terraform/app
174181 run : |
175- terraform init -backend-config="env/${{ inputs. environment }} -backend.hcl" -upgrade
182+ terraform init -backend-config="env/$environment-backend.hcl" -upgrade
176183 DB_SECRET_ARN=$(terraform output --raw db_secret_arn)
177184 echo "DB_SECRET_ARN=$DB_SECRET_ARN" >> $GITHUB_OUTPUT
178185 - name : Terraform Plan
179186 id : plan
180187 run : |
181188 set -eo pipefail
182- terraform init -backend-config="env/${{ inputs. environment }} -backend.hcl" -upgrade
189+ terraform init -backend-config="env/$environment-backend.hcl" -upgrade
183190
184- CIDR_BLOCKS='${{ inputs.egress_cidr }}'
185191 PLAN_ARGS=(
186192 "plan"
187- "-var=image_digest=${{ env. DOCKER_DIGEST }} "
193+ "-var=image_digest=$DOCKER_DIGEST"
188194 "-var=db_secret_arn=${{ steps.get-db-secret-arn.outputs.DB_SECRET_ARN }}"
189- "-var=imported_snapshot=${{ env. SNAPSHOT_ARN }} "
190- "-var-file=env/${{ inputs. environment }} .tfvars"
191- "-var=allowed_egress_cidr_blocks=$CIDR_BLOCKS "
195+ "-var=imported_snapshot=$SNAPSHOT_ARN"
196+ "-var-file=env/$environment.tfvars"
197+ "-var=allowed_egress_cidr_blocks=$egress_cidr "
192198 "-out=${{ runner.temp }}/tfplan"
193199 )
194200
195- if [ "${{ env. REPLACE_DB_CLUSTER }} " = "true" ]; then
201+ if [ "$REPLACE_DB_CLUSTER" = "true" ]; then
196202 PLAN_ARGS+=("-replace" "aws_rds_cluster.cluster")
197203 fi
198204 terraform "${PLAN_ARGS[@]}" | tee ${{ runner.temp }}/tf_stdout
@@ -249,12 +255,12 @@ jobs:
249255 - name : Apply the changes
250256 run : |
251257 set -e
252- terraform init -backend-config="env/${{ inputs. environment }} -backend.hcl" -upgrade
258+ terraform init -backend-config="env/$environment-backend.hcl" -upgrade
253259 terraform apply ${{ runner.temp }}/tfplan
254260 - name : Deploy db-access-service
255261 run : |
256262 task_definition_arn=$(terraform output -raw task_definition_arn)
257263 aws ecs update-service \
258- --cluster mavis-${{ inputs. environment }} -data-replication \
259- --service mavis-${{ inputs. environment }} -data-replication \
264+ --cluster " mavis-$environment-data-replication" \
265+ --service " mavis-$environment-data-replication" \
260266 --task-definition $task_definition_arn
0 commit comments