|
| 1 | +terraform { |
| 2 | + required_version = "~> 1.1.2" |
| 3 | + required_providers { |
| 4 | + azurerm = { |
| 5 | + source = "hashicorp/azurerm" |
| 6 | + version = "~> 2.90" |
| 7 | + } |
| 8 | + } |
| 9 | + |
| 10 | + backend "azurerm" { |
| 11 | + resource_group_name = "ioet-infra-tf-state" |
| 12 | + storage_account_name = "timetrackertfstate" |
| 13 | + container_name = "time-tracker-tf-state" |
| 14 | + key = "time-tracker-ui.tfstate" |
| 15 | + } |
| 16 | + |
| 17 | +} |
| 18 | + |
| 19 | +provider "azurerm" { |
| 20 | + features {} |
| 21 | + skip_provider_registration = true |
| 22 | +} |
| 23 | + |
| 24 | +data "terraform_remote_state" "service" { |
| 25 | + backend = "azurerm" |
| 26 | + workspace = terraform.workspace |
| 27 | + config = { |
| 28 | + resource_group_name = "ioet-infra-tf-state" |
| 29 | + storage_account_name = "timetrackertfstate" |
| 30 | + container_name = "time-tracker-tf-state" |
| 31 | + key = "this.tfstate" |
| 32 | + } |
| 33 | +} |
| 34 | + |
| 35 | +locals { |
| 36 | + common_name = "time-tracker-ui" |
| 37 | + environment = terraform.workspace |
| 38 | + service_name = "${local.common_name}-${local.environment}" |
| 39 | + create_app_service_plan = true |
| 40 | + service_plan_kind = "Linux" |
| 41 | + image_name = "timetracker_ui" |
| 42 | +} |
| 43 | + |
| 44 | +module "ui" { |
| 45 | + source = "[email protected]:ioet/infra-terraform-modules.git//azure-app-service?ref=tags/v0.0.5" |
| 46 | + app_service_name = local.service_name |
| 47 | + create_app_service_plan = local.create_app_service_plan |
| 48 | + docker_image_name = "${local.image_name}:${var.image_tag}" |
| 49 | + docker_image_namespace = data.terraform_remote_state.service.outputs.container_registry_login_server |
| 50 | + docker_registry_password = data.terraform_remote_state.service.outputs.container_registry_admin_password |
| 51 | + docker_registry_url = data.terraform_remote_state.service.outputs.container_registry_login_server |
| 52 | + docker_registry_username = data.terraform_remote_state.service.outputs.container_registry_admin_username |
| 53 | + location = data.terraform_remote_state.service.outputs.container_registry_location |
| 54 | + resource_group_name = data.terraform_remote_state.service.outputs.resource_group_name |
| 55 | + service_plan_kind = local.service_plan_kind |
| 56 | + service_plan_name = local.service_name |
| 57 | + service_plan_size = var.service_plan_size |
| 58 | + service_plan_tier = var.service_plan_tier |
| 59 | +} |
0 commit comments