Skip to content

Commit 2bc56c2

Browse files
authored
Merge pull request #205 from PermanentOrg/per-10295_add_archivematica_prod_deploy
Per 10295 add archivematica prod deploy
2 parents c9b6771 + bc0a032 commit 2bc56c2

File tree

13 files changed

+1474
-0
lines changed

13 files changed

+1474
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
on:
2+
workflow_dispatch:
3+
4+
jobs:
5+
deploy_archivematica_staging:
6+
uses: ./.github/workflows/deploy_archivematica_staging.yml
7+
secrets: inherit
8+
9+
deploy:
10+
runs-on: ubuntu-latest
11+
needs:
12+
- deploy_archivematica_staging
13+
environment: prod
14+
env:
15+
ARCHIVEMATICA_DASHBOARD_IMAGE_TAG: ${{ needs.deploy_archivematica_staging.outputs.ARCHIVEMATICA_DASHBOARD_IMAGE_TAG }}
16+
ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG: ${{ needs.deploy_archivematica_staging.outputs.ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG }}
17+
ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG: ${{ needs.deploy_archivematica_staging.outputs.ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG }}
18+
ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG: ${{ needs.deploy_archivematica_staging.outputs.ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG }}
19+
defaults:
20+
run:
21+
working-directory: ./archivematica/prod_cluster
22+
steps:
23+
- uses: actions/checkout@v5
24+
- name: Setup Terraform
25+
uses: hashicorp/setup-terraform@v3
26+
with:
27+
cli_config_credentials_token: ${{ secrets.TERRAFORM_API_TOKEN }}
28+
- name: Terraform Init
29+
run: terraform init
30+
- name: Terraform Validate
31+
run: terraform validate -no-color
32+
- name: Terraform Plan
33+
run: |
34+
terraform plan -no-color -input=false \
35+
-var "image_overrides={
36+
\"archivematica-dashboard-prod\" = \"$ARCHIVEMATICA_DASHBOARD_IMAGE_TAG\",
37+
\"archivematica-mcp-client-prod\" = \"$ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG\",
38+
\"archivematica-mcp-server-prod\" = \"$ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG\",
39+
\"archivematica-storage-service-prod\" = \"$ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG\",
40+
}"
41+
- name: Terraform Apply
42+
run: |
43+
terraform apply -auto-approve -input=false \
44+
-var "image_overrides={
45+
\"archivematica-dashboard-prod\" = \"$ARCHIVEMATICA_DASHBOARD_IMAGE_TAG\",
46+
\"archivematica-mcp-client-prod\" = \"$ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG\",
47+
\"archivematica-mcp-server-prod\" = \"$ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG\",
48+
\"archivematica-storage-service-prod\" = \"$ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG\",
49+
}"

.github/workflows/deploy_archivematica_staging.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
on:
22
workflow_dispatch:
3+
workflow_call:
4+
outputs:
5+
ARCHIVEMATICA_DASHBOARD_IMAGE_TAG:
6+
value: ${{ jobs.deploy.outputs.ARCHIVEMATICA_DASHBOARD_IMAGE_TAG }}
7+
ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG:
8+
value: ${{ jobs.deploy.outputs.ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG }}
9+
ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG:
10+
value: ${{ jobs.deploy.outputs.ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG }}
11+
ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG:
12+
value: ${{ jobs.deploy.outputs.ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG }}
313

414
jobs:
515
build_archivematica:
@@ -12,6 +22,11 @@ jobs:
1222

1323
deploy:
1424
runs-on: ubuntu-latest
25+
outputs:
26+
ARCHIVEMATICA_DASHBOARD_IMAGE_TAG: ${{ needs.build_archivematica.outputs.ARCHIVEMATICA_DASHBOARD_IMAGE_TAG }}
27+
ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG: ${{ needs.build_archivematica.outputs.ARCHIVEMATICA_MCP_SERVER_IMAGE_TAG }}
28+
ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG: ${{ needs.build_archivematica.outputs.ARCHIVEMATICA_MCP_CLIENT_IMAGE_TAG }}
29+
ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG: ${{ needs.build_archivematica_storage_service.outputs.ARCHIVEMATICA_STORAGE_SERVICE_IMAGE_TAG }}
1530
needs:
1631
- build_archivematica
1732
- build_archivematica_storage_service

0 commit comments

Comments
 (0)