We have to use a terraform platform and let's get practice first with a simple hands on manual
https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/azure-get-started
We have to use a terraform platform and let's get practice first with a simple hands on manual
https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/azure-get-started
-
After cloning this repository you will need to set up all the needed variables mantion bellow in the documentation under "Requierments".
-
You will need to run "terraform init" to make sure you have versions and providers in line with the one on the project
terraform init
- After that you can use "terraform plan" / "terraform apply"
terraform apply
Name | Version |
---|---|
terraform | >= 1.2.2 |
azurerm | ~> 3.0.2 |
Name | Version |
---|---|
azurerm | 3.0.2 |
Name | Source | Version |
---|---|---|
store_to_blob | ../modules/blob_create_update_module | n/a |
weight_app_vmss | ../modules/vmss_module | n/a |
Name | Type |
---|---|
azurerm_lb.app_load_balancer | resource |
azurerm_lb_backend_address_pool.bpepool | resource |
azurerm_lb_nat_pool.lbnatpool | resource |
azurerm_lb_probe.app_lb_prob | resource |
azurerm_lb_rule.lb_rule_8080 | resource |
azurerm_network_security_group.app_nsg | resource |
azurerm_network_security_group.db_nsg | resource |
azurerm_postgresql_flexible_server.postgres_server | resource |
azurerm_postgresql_flexible_server_configuration.db-config-no-ssl | resource |
azurerm_private_dns_zone.private_dns_zone | resource |
azurerm_private_dns_zone_virtual_network_link.private_dns_zone_vnl | resource |
azurerm_public_ip.my_lb_ip | resource |
azurerm_resource_group.terraform_rg | resource |
azurerm_ssh_public_key.my_key | resource |
azurerm_subnet.app-subnet | resource |
azurerm_subnet.database-subnet | resource |
azurerm_subnet_network_security_group_association.app_nsg_association | resource |
azurerm_subnet_network_security_group_association.db_nsg_association | resource |
azurerm_virtual_network.terraform_vnet | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
admin_password | Vmss password | string |
n/a | yes |
admin_user | Vmss admin user name | string |
n/a | yes |
app_subnet_address_range | The vmss subnet ip ranges - format x.x.x.x/x | string |
n/a | yes |
authorized_ip_address | The ip that can access vmss via port 22 | string |
n/a | yes |
database_subnet_address_range | The database subnet ip rages -format x.x.x.x/x -cannot overlap with vmss subnet- | string |
n/a | yes |
postgres_admin_username | Posgress admin user name | string |
n/a | yes |
postgres_password | Postgres password | string |
n/a | yes |
postgres_sku_name | Holds the machine type for posgtres service | string |
n/a | yes |
resource_group_location | The location of the resource group - location name | string |
n/a | yes |
resource_group_name | The name of the resource group | string |
n/a | yes |
vnet_address_range | The virtual network range format: x.x.x.x/x | string |
n/a | yes |
weight_app_image_gallery_name | ami gallery name | string |
n/a | yes |
weight_app_image_name | ami name | string |
n/a | yes |
weight_app_image_resource_group_name | Name of the resource group that holds the ami | string |
n/a | yes |
weight_app_image_version_name | ami version | string |
n/a | yes |
weight_app_key | Public key to be created | string |
n/a | yes |
weight_app_name_prefix | Variable that hold the prefixed name of the project | string |
n/a | yes |
Name | Description |
---|---|
vmss_password | taking vmss password output from vmss module and making it root output so it can be viewed |