summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.tf52
1 files changed, 52 insertions, 0 deletions
diff --git a/main.tf b/main.tf
new file mode 100644
index 0000000..5a898a0
--- /dev/null
+++ b/main.tf
@@ -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"
+}