first commit

This commit is contained in:
2026-01-12 01:24:58 +04:00
commit f5b7fc63db
7 changed files with 87 additions and 0 deletions

25
main.tf Normal file
View File

@@ -0,0 +1,25 @@
resource "proxmox_lxc" "lxc" {
count = length(var.lxc)
ostemplate = "${var.images_lxc}"
password = "${var.lxc_auth.pass}"
target_node = var.lxc[count.index].nodes
unprivileged = var.lxc[count.index].unprivileged
ssh_public_keys = <<-EOT
${var.lxc_auth.ssh_keys}
EOT
hostname = var.lxc[count.index].name
memory = var.lxc[count.index].mem
cores = var.lxc[count.index].cpus
nameserver = var.lxc[count.index].dns
rootfs {
storage = var.lxc[count.index].pool
size = var.lxc[count.index].disks
}
network {
name = var.lxc[count.index].name
bridge = var.lxc[count.index].eth
ip = var.lxc[count.index].ip
ip6 = "auto"
}
}

0
outputs.tf Normal file
View File

7
providers.tf Normal file
View File

@@ -0,0 +1,7 @@
provider "proxmox" {
pm_tls_insecure = true
pm_api_url = ""
pm_api_token_secret = ""
pm_api_token_id = ""
pm_otp = ""
}

3
pve.auto.tfvars Normal file
View File

@@ -0,0 +1,3 @@
pve_api_url = ""
pve_api_token_id = ""
pve_api_token_secret = ""

18
terraform.tfvars Normal file
View File

@@ -0,0 +1,18 @@
lxc_auth = {
ssh_keys = ""
pass = ""
}
lxc = [
{
nodes = ""
name = ""
cpus =
mem =
pool = ""
disks = ""
eth = ""
ip = ""
unprivileged = true
}
]

26
variables.tf Normal file
View File

@@ -0,0 +1,26 @@
variable "images_lxc" {
type = string
default = "local:vztmpl/almalinux-9-default_20240911_amd64.tar.xz"
}
variable "lxc_auth" {
type = object({
ssh_keys = string,
pass = string
})
}
variable "lxc" {
description = "Parametrs lxc"
type = list(object({
nodes = string,
name = string,
cpus = number,
mem = number,
pool = string,
disks = string,
eth = string,
ip = string,
unprivileged = bool
dns = number
})
)
}

8
versions.tf Normal file
View File

@@ -0,0 +1,8 @@
terraform {
required_providers {
proxmox = {
source = "telmate/proxmox"
version = "3.0.2"
}
}
}