This commit is contained in:
Sam
2025-09-26 11:06:15 +00:00
parent 59060033d3
commit 0049839d98
3 changed files with 43 additions and 28 deletions
-27
View File
@@ -1,27 +0,0 @@
name: Terraform
on:
pull_request:
branches: [ "main" ]
push:
branches: [ "main" ]
jobs:
terraform:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
- name: Terraform Init
run: terraform -chdir=environments/dev init
- name: Terraform Validate
run: terraform -chdir=environments/dev validate
- name: Terraform Plan
run: terraform -chdir=environments/dev plan
+1 -1
View File
@@ -15,7 +15,7 @@ provider "azurerm" {
module "network" { module "network" {
source = "../../modules/network" source = "../../modules/network"
vnet_name = "dev-vnet" vnet_name = "dev-vnet"
resource_group_name = "dev-rg" resource_group_name = "terraform"
location = "UK South" location = "UK South"
address_space = ["10.0.0.0/16"] address_space = ["10.0.0.0/16"]
subnets = { public = "10.0.1.0/24", private = "10.0.2.0/24" } subnets = { public = "10.0.1.0/24", private = "10.0.2.0/24" }
+42
View File
@@ -0,0 +1,42 @@
resource "azurerm_network_interface" "nic" {
name = "example-nic"
location = var.location
resource_group_name = var.resource_group_name
ip_configuration {
name = "internal"
subnet_id = var.subnet_id
private_ip_address_allocation = "Dynamic"
public_ip_address_id = azurerm_public_ip.vm_public.id
}
}
resource "azurerm_public_ip" "vm_public" {
name = "example-pip"
location = var.location
resource_group_name = var.resource_group_name
allocation_method = "Dynamic"
}
resource "azurerm_linux_virtual_machine" "vm" {
name = "example-vm"
resource_group_name = var.resource_group_name
location = var.location
size = var.vm_size
admin_username = var.admin_username
network_interface_ids = [azurerm_network_interface.nic.id]
admin_ssh_key {
username = var.admin_username
public_key = var.ssh_public_key
}
os_disk {
caching = "ReadWrite"
storage_account_type = "Standard_LRS"
}
source_image_reference {
publisher = "Canonical"
offer = "UbuntuServer"
sku = "22_04-lts-gen2"
version = "latest"
}
}