diff options
| author | Max Bossing <info@maxbossing.de> | 2025-09-29 18:15:55 +0200 | 
|---|---|---|
| committer | Max Bossing <info@maxbossing.de> | 2025-09-29 18:15:55 +0200 | 
| commit | 538fd0b7f16f206df05438b8373f418fff79b7a5 (patch) | |
| tree | 1888e86d682d36f5570fad96429cdce81ee66a7d /main.tf | |
init
Diffstat (limited to 'main.tf')
| -rw-r--r-- | main.tf | 52 | 
1 files changed, 52 insertions, 0 deletions
| @@ -0,0 +1,52 @@ +terraform { +  required_providers { +    proxmox = { +      source = "telmate/proxmox" +      version = "3.0.2-rc04" +    } +  } +} + +provider "proxmox" { +  pm_api_url = "https://192.168.1.45:8006/api2/json" +  pm_tls_insecure = true +  #pm_api_token_id = "terraform-prov@pve!terraform" +  #pm_api_token_secret = "64bd4ba4-f4c0-4029-9f16-5b61bca2da0d" +  pm_user = "terraform-prov@pve" +  pm_password = "terraform" +  pm_debug = true +} + +resource "proxmox_lxc" "test" { +  target_node = "atlas"                 # your Proxmox node name +  hostname    = "web" +  ostemplate  = "local:vztmpl/alpine-3.21-default_20241217_amd64.tar.xz" + +  unprivileged = true +  password     = "test1" + +  cores   = 2 +  memory  = 512 +  swap    = 512 + +  # root disk +  rootfs { +    storage = "local-lvm"   # or your ZFS/LVM storage name +    size    = "4G" +  } + +  # network +  network { +    name   = "eth0" +    bridge = "vmbr0" +    ip     = "dhcp"         # or "192.168.10.50/24" +    # gw   = "192.168.10.1" # needed if using static IP +  } + +  # optional: inject your SSH key so you don’t use the password +  # ssh_public_keys = file("~/.ssh/id_rsa.pub") + +  # quality-of-life +  start = true +  #tags  = "tf,lxc,web" +} | 
