diff --git a/.gitignore b/.gitignore index 005592a47a..e8bae7102d 100644 --- a/.gitignore +++ b/.gitignore @@ -48,10 +48,6 @@ coverage # Visual Studio Code .vscode -# DevOps files - -bin/terrafile - # Terraform files vendor/ diff --git a/Makefile b/Makefile index 870b792517..f3f005de47 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,3 @@ -TERRAFILE_VERSION=0.8 ARM_TEMPLATE_TAG=1.1.6 RG_TAGS={"Product" : "Get School Experience"} REGION=UK South @@ -92,14 +91,12 @@ composed-variables: $(eval KEYVAULT_NAMES='("${AZURE_RESOURCE_PREFIX}-${SERVICE_SHORT}-${CONFIG_SHORT}-app-kv", "${AZURE_RESOURCE_PREFIX}-${SERVICE_SHORT}-${CONFIG_SHORT}-inf-kv")') $(eval STORAGE_ACCOUNT_NAME=${AZURE_RESOURCE_PREFIX}${SERVICE_SHORT}tfstate${CONFIG_SHORT}sa) -bin/terrafile: ## Install terrafile to manage terraform modules - curl -sL https://github.com/coretech/terrafile/releases/download/v${TERRAFILE_VERSION}/terrafile_${TERRAFILE_VERSION}_$$(uname)_$$(uname -m).tar.gz \ - | tar xz -C ./bin terrafile - -terraform-init: composed-variables bin/terrafile set-azure-account +terraform-init: composed-variables set-azure-account $(if ${IMAGE_TAG}, , $(eval IMAGE_TAG=master)) - ./bin/terrafile -p terraform/aks/vendor/modules -f terraform/aks/config/$(CONFIG)_Terrafile + rm -rf terraform/aks/vendor/modules/aks + git -c advice.detachedHead=false clone --depth=1 --single-branch --branch ${TERRAFORM_MODULES_TAG} https://github.com/DFE-Digital/terraform-modules.git terraform/aks/vendor/modules/aks + terraform -chdir=terraform/aks init -upgrade -reconfigure \ -backend-config=resource_group_name=${RESOURCE_GROUP_NAME} \ -backend-config=storage_account_name=${STORAGE_ACCOUNT_NAME} \ @@ -160,8 +157,9 @@ deploy-domain-arm-resources: domains domains-composed-variables arm-deployment # validate-domain-arm-resources: set-what-if domains domains-composed-variables arm-deployment ## Validate what Azure resources will be deployed. Usage: make validate-domain-arm-resources -domains-infra-init: bin/terrafile domains-composed-variables set-azure-account - ./bin/terrafile -p terraform/domains/infrastructure/vendor/modules -f terraform/domains/infrastructure/config/zones_Terrafile +domains-infra-init: domains-composed-variables set-azure-account + rm -rf terraform/domains/infrastructure/vendor/modules/domains + git -c advice.detachedHead=false clone --depth=1 --single-branch --branch ${TERRAFORM_MODULES_TAG} https://github.com/DFE-Digital/terraform-modules.git terraform/domains/infrastructure/vendor/modules/domains terraform -chdir=terraform/domains/infrastructure init -reconfigure -upgrade \ -backend-config=resource_group_name=${RESOURCE_GROUP_NAME} \ @@ -174,8 +172,9 @@ domains-infra-plan: domains domains-infra-init ## Terraform plan for DNS infrast domains-infra-apply: domains domains-infra-init ## Terraform apply for DNS infrastructure (zone and front door). Usage: make domains-infra-apply terraform -chdir=terraform/domains/infrastructure apply -var-file config/zones.tfvars.json ${AUTO_APPROVE} -domains-init: bin/terrafile domains-composed-variables set-azure-account - ./bin/terrafile -p terraform/domains/environment_domains/vendor/modules -f terraform/domains/environment_domains/config/${CONFIG}_Terrafile +domains-init: domains-composed-variables set-azure-account + rm -rf terraform/domains/environment_domains/vendor/modules/domains + git -c advice.detachedHead=false clone --depth=1 --single-branch --branch ${TERRAFORM_MODULES_TAG} https://github.com/DFE-Digital/terraform-modules.git terraform/domains/environment_domains/vendor/modules/domains terraform -chdir=terraform/domains/environment_domains init -upgrade -reconfigure \ -backend-config=resource_group_name=${RESOURCE_GROUP_NAME} \ diff --git a/global_config/development.sh b/global_config/development.sh index 7f731e9b67..7e31b433de 100644 --- a/global_config/development.sh +++ b/global_config/development.sh @@ -6,3 +6,4 @@ AZURE_RESOURCE_PREFIX=s189t01 KV_PURGE_PROTECTION=false PLATFORM=aks IMAGE_TAG_PREFIX=sha +TERRAFORM_MODULES_TAG=testing diff --git a/global_config/domains.sh b/global_config/domains.sh index 720137ab4d..1082d936ae 100644 --- a/global_config/domains.sh +++ b/global_config/domains.sh @@ -1,2 +1,3 @@ AZURE_SUBSCRIPTION=s189-teacher-services-cloud-production AZURE_RESOURCE_PREFIX=s189p01 +TERRAFORM_MODULES_TAG=stable diff --git a/global_config/production.sh b/global_config/production.sh index 27473b3ed9..ffe460573f 100644 --- a/global_config/production.sh +++ b/global_config/production.sh @@ -6,3 +6,4 @@ AZURE_RESOURCE_PREFIX=s189p01 KV_PURGE_PROTECTION=false PLATFORM=aks IMAGE_TAG_PREFIX=sha +TERRAFORM_MODULES_TAG=stable diff --git a/global_config/review.sh b/global_config/review.sh index f3a2382f24..98f1adf028 100644 --- a/global_config/review.sh +++ b/global_config/review.sh @@ -5,3 +5,4 @@ AZURE_RESOURCE_PREFIX=s189t01 KV_PURGE_PROTECTION=false PLATFORM=aks IMAGE_TAG_PREFIX=review +TERRAFORM_MODULES_TAG=main diff --git a/global_config/staging.sh b/global_config/staging.sh index 403c960f4f..5e6ee68cb6 100644 --- a/global_config/staging.sh +++ b/global_config/staging.sh @@ -6,3 +6,4 @@ AZURE_RESOURCE_PREFIX=s189t01 KV_PURGE_PROTECTION=false PLATFORM=aks IMAGE_TAG_PREFIX=sha +TERRAFORM_MODULES_TAG=testing diff --git a/terraform/aks/config/development_Terrafile b/terraform/aks/config/development_Terrafile deleted file mode 100644 index 65af53b11d..0000000000 --- a/terraform/aks/config/development_Terrafile +++ /dev/null @@ -1,3 +0,0 @@ -aks: - source: "https://github.com/DFE-Digital/terraform-modules" - version: "main" diff --git a/terraform/aks/config/production_Terrafile b/terraform/aks/config/production_Terrafile deleted file mode 100644 index 5b2b118f00..0000000000 --- a/terraform/aks/config/production_Terrafile +++ /dev/null @@ -1,3 +0,0 @@ -aks: - source: "https://github.com/DFE-Digital/terraform-modules" - version: "stable" diff --git a/terraform/aks/config/review_Terrafile b/terraform/aks/config/review_Terrafile deleted file mode 100644 index 65af53b11d..0000000000 --- a/terraform/aks/config/review_Terrafile +++ /dev/null @@ -1,3 +0,0 @@ -aks: - source: "https://github.com/DFE-Digital/terraform-modules" - version: "main" diff --git a/terraform/aks/config/staging_Terrafile b/terraform/aks/config/staging_Terrafile deleted file mode 100644 index b4c222c13d..0000000000 --- a/terraform/aks/config/staging_Terrafile +++ /dev/null @@ -1,3 +0,0 @@ -aks: - source: "https://github.com/DFE-Digital/terraform-modules" - version: "testing" diff --git a/terraform/domains/environment_domains/config/development_Terrafile b/terraform/domains/environment_domains/config/development_Terrafile deleted file mode 100644 index dfce270ef6..0000000000 --- a/terraform/domains/environment_domains/config/development_Terrafile +++ /dev/null @@ -1,3 +0,0 @@ -domains: - source: "https://github.com/DFE-Digital/terraform-modules" - version: "testing" diff --git a/terraform/domains/environment_domains/config/production_Terrafile b/terraform/domains/environment_domains/config/production_Terrafile deleted file mode 100644 index 58e60b3c88..0000000000 --- a/terraform/domains/environment_domains/config/production_Terrafile +++ /dev/null @@ -1,3 +0,0 @@ -domains: - source: "https://github.com/DFE-Digital/terraform-modules" - version: "stable" diff --git a/terraform/domains/environment_domains/config/staging_Terrafile b/terraform/domains/environment_domains/config/staging_Terrafile deleted file mode 100644 index dfce270ef6..0000000000 --- a/terraform/domains/environment_domains/config/staging_Terrafile +++ /dev/null @@ -1,3 +0,0 @@ -domains: - source: "https://github.com/DFE-Digital/terraform-modules" - version: "testing" diff --git a/terraform/domains/infrastructure/config/zones_Terrafile b/terraform/domains/infrastructure/config/zones_Terrafile deleted file mode 100644 index 58e60b3c88..0000000000 --- a/terraform/domains/infrastructure/config/zones_Terrafile +++ /dev/null @@ -1,3 +0,0 @@ -domains: - source: "https://github.com/DFE-Digital/terraform-modules" - version: "stable"