{"id":49540380,"url":"https://github.com/kogunlowo123/terraform-azure-virtual-machine-linux","last_synced_at":"2026-05-02T15:05:18.078Z","repository":{"id":343203464,"uuid":"1175440593","full_name":"kogunlowo123/terraform-azure-virtual-machine-linux","owner":"kogunlowo123","description":"Terraform module for Azure Linux VMs with managed disks, extensions, and availability zones","archived":false,"fork":false,"pushed_at":"2026-03-07T20:54:16.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-09T14:53:39.286Z","etag":null,"topics":["azure","iaas","linux-vm","terraform","terraform-module","virtual-machine"],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kogunlowo123.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-07T18:03:13.000Z","updated_at":"2026-03-07T20:54:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kogunlowo123/terraform-azure-virtual-machine-linux","commit_stats":null,"previous_names":["kogunlowo123/terraform-azure-virtual-machine-linux"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/kogunlowo123/terraform-azure-virtual-machine-linux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kogunlowo123%2Fterraform-azure-virtual-machine-linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kogunlowo123%2Fterraform-azure-virtual-machine-linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kogunlowo123%2Fterraform-azure-virtual-machine-linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kogunlowo123%2Fterraform-azure-virtual-machine-linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kogunlowo123","download_url":"https://codeload.github.com/kogunlowo123/terraform-azure-virtual-machine-linux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kogunlowo123%2Fterraform-azure-virtual-machine-linux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32538276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","iaas","linux-vm","terraform","terraform-module","virtual-machine"],"created_at":"2026-05-02T15:05:14.670Z","updated_at":"2026-05-02T15:05:18.071Z","avatar_url":"https://github.com/kogunlowo123.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-azure-virtual-machine-linux\n\nProduction-ready Terraform module for Azure Linux Virtual Machines with managed disks, SSH key authentication, Azure Monitor Agent, custom extensions, and backup integration.\n\n## Architecture\n\n```mermaid\nflowchart TB\n    subgraph VM[\"Azure Linux Virtual Machine\"]\n        direction TB\n        LVM[Linux VM]\n        OS[OS Disk - Encrypted]\n        SSH[SSH Key Auth]\n        ID[Managed Identity]\n    end\n\n    subgraph Storage[\"Data Disks\"]\n        D1[Data Disk 1]\n        D2[Data Disk 2]\n    end\n\n    subgraph Extensions[\"Extensions\"]\n        AMA[Azure Monitor Agent]\n        CST[Custom Extensions]\n    end\n\n    subgraph Backup[\"Backup\"]\n        RSV[Recovery Services Vault]\n        POL[Backup Policy]\n    end\n\n    subgraph Monitoring[\"Monitoring\"]\n        DCR[Data Collection Rules]\n        LA[Log Analytics]\n    end\n\n    LVM --\u003e Storage\n    LVM --\u003e Extensions\n    AMA --\u003e Monitoring\n    LVM --\u003e Backup\n\n    style VM fill:#0078D4,color:#fff\n    style Storage fill:#1A73E8,color:#fff\n    style Extensions fill:#3F8624,color:#fff\n    style Backup fill:#DD344C,color:#fff\n    style Monitoring fill:#FF9900,color:#fff\n```\n\n## Features\n\n- SSH key authentication with password auth disabled by default\n- Managed OS disk with configurable size, type, and encryption\n- Additional data disks with independent configurations\n- Azure Monitor Agent with data collection rule association\n- Custom VM extensions support\n- Boot diagnostics\n- SystemAssigned and UserAssigned managed identity\n- Azure Backup integration with Recovery Services Vault\n- Availability zone placement\n\n## Usage\n\n### Basic\n\n```hcl\nmodule \"linux_vm\" {\n  source = \"github.com/kogunlowo123/terraform-azure-virtual-machine-linux\"\n\n  name                 = \"my-linux-vm\"\n  resource_group_name  = azurerm_resource_group.this.name\n  location             = \"East US\"\n  admin_username       = \"azureuser\"\n  admin_ssh_public_key = file(\"~/.ssh/id_rsa.pub\")\n  network_interface_ids = [azurerm_network_interface.this.id]\n\n  tags = { Environment = \"production\" }\n}\n```\n\n## Requirements\n\n| Name | Version |\n|------|---------|\n| terraform | \u003e= 1.5.0 |\n| azurerm | \u003e= 3.80.0 |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|----------|\n| name | VM name | `string` | n/a | yes |\n| resource_group_name | Resource group name | `string` | n/a | yes |\n| location | Azure region | `string` | n/a | yes |\n| size | VM size | `string` | `\"Standard_D2s_v5\"` | no |\n| admin_username | Admin username | `string` | `\"azureuser\"` | no |\n| admin_ssh_public_key | SSH public key | `string` | n/a | yes |\n| network_interface_ids | NIC IDs | `list(string)` | n/a | yes |\n| data_disks | Map of data disk configs | `map(object)` | `{}` | no |\n| enable_azure_monitor_agent | Enable AMA | `bool` | `true` | no |\n| enable_backup | Enable backup | `bool` | `false` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| vm_id | The ID of the VM |\n| vm_name | The name of the VM |\n| private_ip_address | The private IP |\n| public_ip_address | The public IP |\n| identity | The managed identity block |\n| data_disk_ids | Map of data disk IDs |\n\n## License\n\nMIT Licensed. See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkogunlowo123%2Fterraform-azure-virtual-machine-linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkogunlowo123%2Fterraform-azure-virtual-machine-linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkogunlowo123%2Fterraform-azure-virtual-machine-linux/lists"}