- Update .gitignore to exclude Terraform files - Enhance README with Azure deployment instructions - Refactor publish.sh to use a container for changelog parsing - Add Azure example files including Terraform configurations - Create cloud-init templates for PKI and default configurations - Implement workload VM setup for testing routing
45 lines
1.5 KiB
Terraform
45 lines
1.5 KiB
Terraform
# Bare VM on the workload subnet, for manually verifying that its traffic to
|
|
# remote_cidrs flows through the router. Off by default so a plain apply
|
|
# stays to just the router.
|
|
|
|
resource "azurerm_network_interface" "workload" {
|
|
count = var.deploy_workload_vm ? 1 : 0
|
|
name = "${var.name}-workload-nic"
|
|
resource_group_name = azurerm_resource_group.this.name
|
|
location = azurerm_resource_group.this.location
|
|
|
|
ip_configuration {
|
|
name = "workload"
|
|
subnet_id = azurerm_subnet.workload.id
|
|
private_ip_address_allocation = "Dynamic"
|
|
}
|
|
}
|
|
|
|
resource "azurerm_linux_virtual_machine" "workload" {
|
|
count = var.deploy_workload_vm ? 1 : 0
|
|
name = "${var.name}-workload"
|
|
resource_group_name = azurerm_resource_group.this.name
|
|
location = azurerm_resource_group.this.location
|
|
size = var.vm_size
|
|
admin_username = var.admin_username
|
|
disable_password_authentication = true
|
|
network_interface_ids = [azurerm_network_interface.workload[0].id]
|
|
|
|
admin_ssh_key {
|
|
username = var.admin_username
|
|
public_key = var.admin_ssh_public_key
|
|
}
|
|
|
|
os_disk {
|
|
caching = "ReadWrite"
|
|
storage_account_type = "StandardSSD_LRS"
|
|
}
|
|
|
|
source_image_reference {
|
|
publisher = "Canonical"
|
|
offer = "ubuntu-24_04-lts"
|
|
sku = "server"
|
|
version = "latest"
|
|
}
|
|
}
|