Project description

In this project you can build infrastructure of the WeightTracker application but instead of doing it manually we are going to use Terraform to automate this process.

Running instructions

Requirements

Name Version
terraform >= 1.2.0
azurerm ~> 3.0.2

Providers

Name Version
azurerm 3.0.2

Modules

Name Source Version
app_scale_set ../modules/scale_set_module n/a

Resources

Name Type
azurerm_lb.webapp_load_balancer resource
azurerm_lb_backend_address_pool.pool resource
azurerm_lb_nat_pool.lbnatpool resource
azurerm_lb_probe.loadbalancer_probe resource
azurerm_lb_rule.lb_port_8080_rule resource
azurerm_network_security_group.nsg_private_subnet resource
azurerm_network_security_group.nsg_public_subnet resource
azurerm_postgresql_flexible_server.postgres_database_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.public_ip resource
azurerm_resource_group.rg resource
azurerm_ssh_public_key.public-key resource
azurerm_storage_blob.blob_storage_name resource
azurerm_subnet.app_private_subnet resource
azurerm_subnet.app_public_subnet resource
azurerm_subnet_network_security_group_association.private_nsg_association resource
azurerm_subnet_network_security_group_association.public_nsg_association resource
azurerm_virtual_network.app_virtual_network resource

Inputs

Name Description Type Default Required
admin_password The password of the instances string n/a yes
admin_user The username of the instances string n/a yes
allowed_ip_address The ip/s are allowed to connect with ssh to the web application servers string n/a yes
image_gallery_name The images's gallery name string n/a yes
image_name The image's name string n/a yes
image_resource_group_name The name of the resource group associated with the image string n/a yes
image_version_name String represent the image version string n/a yes
instance_count Number of instances to create using the scale set number n/a yes
postgres_password Password of the postgresql database string n/a yes
postgres_sku_model Model of virtual machine for the database string n/a yes
postgres_username Username of the postgresql database string n/a yes
private_subnet_address_space The private subnet address space X.X.X.X - X.X.X.X string n/a yes
public_key The public key used to encrypt and decrypt messages in network string n/a yes
public_subnet_address_space The public subnet address space X.X.X.X - X.X.X.X string n/a yes
resource_group_location The resource group service location string n/a yes
resource_group_name The resource group name string n/a yes
scale_set_sku_model Model of virtual machine for the scale set instances string n/a yes
virtual_network_address_space The virtual network address space X.X.X.X - X.X.X.X string n/a yes
web_app_name The web appliction name string n/a yes

Outputs

Name Description
scale_set_password Create VM password available for output.