Skip to content

Commit a8a3a78

Browse files
committed
Add Archivematica instances for dev and staging
This commit adds terraform definitions for Archivematica instances for our dev and staging environments, as well as Github Actions to deploy those instances.
1 parent 82e996b commit a8a3a78

18 files changed

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

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ override.tf.json
2121
# Ignore CLI configuration files
2222
.terraformrc
2323
terraform.rc
24+
.terraform.lock.hcl

0 commit comments

Comments
 (0)