232 lines
5.6 KiB
JSON
232 lines
5.6 KiB
JSON
{
|
|
"slug": "proxmox-lxc",
|
|
"kind": "terraform",
|
|
"metadata": {
|
|
"name": "Proxmox LXC",
|
|
"description": "Creates a Proxmox Linux container with configurable template, compute, root filesystem, and single-interface network settings.",
|
|
"tags": [],
|
|
"icon": {
|
|
"provider": "selfhst",
|
|
"id": "proxmox"
|
|
},
|
|
"draft": false,
|
|
"version": {
|
|
"name": "3.0.2-rc07",
|
|
"source_dep_name": "telmate/proxmox",
|
|
"source_dep_version": "3.0.2-rc07"
|
|
}
|
|
},
|
|
"variables": [
|
|
{
|
|
"title": "Terraform",
|
|
"name": "terraform",
|
|
"items": [
|
|
{
|
|
"name": "resource_name",
|
|
"type": "str",
|
|
"title": "Resource Name",
|
|
"required": false,
|
|
"default": "lxc",
|
|
"config": {
|
|
"placeholder": "lxc"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Container Identity",
|
|
"name": "identity",
|
|
"items": [
|
|
{
|
|
"name": "hostname",
|
|
"type": "str",
|
|
"title": "Container hostname",
|
|
"required": true,
|
|
"config": {
|
|
"placeholder": "Container Name"
|
|
}
|
|
},
|
|
{
|
|
"name": "description",
|
|
"type": "str",
|
|
"title": "Container description",
|
|
"required": false,
|
|
"description": "Add a description here...",
|
|
"config": {
|
|
"placeholder": "Application container",
|
|
"textarea": true
|
|
}
|
|
},
|
|
{
|
|
"name": "target_node",
|
|
"type": "str",
|
|
"title": "Target Node",
|
|
"required": true,
|
|
"description": "Proxmox node that will host the container",
|
|
"config": {
|
|
"placeholder": "Proxmox node"
|
|
}
|
|
},
|
|
{
|
|
"name": "unprivileged",
|
|
"type": "bool",
|
|
"title": "Unprivileged",
|
|
"required": false,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "ostemplate",
|
|
"type": "str",
|
|
"title": "Template",
|
|
"required": true,
|
|
"config": {
|
|
"placeholder": "template reference"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Compute",
|
|
"name": "compute",
|
|
"items": [
|
|
{
|
|
"name": "cores",
|
|
"type": "int",
|
|
"title": "CPU Cores",
|
|
"required": false,
|
|
"default": 4,
|
|
"config": {
|
|
"slider": true,
|
|
"min": 1,
|
|
"max": 32,
|
|
"step": 1,
|
|
"placeholder": "4"
|
|
}
|
|
},
|
|
{
|
|
"name": "memory_mb",
|
|
"type": "int",
|
|
"title": "Memory",
|
|
"required": false,
|
|
"default": 8192,
|
|
"config": {
|
|
"slider": true,
|
|
"min": 256,
|
|
"max": 262144,
|
|
"step": 256,
|
|
"placeholder": "8192",
|
|
"unit": "MB"
|
|
}
|
|
},
|
|
{
|
|
"name": "swap_mb",
|
|
"type": "int",
|
|
"title": "Swap",
|
|
"required": false,
|
|
"default": 512,
|
|
"config": {
|
|
"slider": true,
|
|
"min": 0,
|
|
"max": 65536,
|
|
"step": 128,
|
|
"placeholder": "512",
|
|
"unit": "MB"
|
|
}
|
|
},
|
|
{
|
|
"name": "start_container",
|
|
"type": "bool",
|
|
"title": "Auto Start",
|
|
"required": false,
|
|
"default": true,
|
|
"description": "Start the container after creation"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Storage and Network",
|
|
"name": "storage-network",
|
|
"items": [
|
|
{
|
|
"name": "rootfs_storage",
|
|
"type": "str",
|
|
"title": "Rootfs Storage",
|
|
"required": false,
|
|
"default": "local-lvm",
|
|
"description": "Storage pool for the root filesystem",
|
|
"config": {
|
|
"placeholder": "local-lvm"
|
|
}
|
|
},
|
|
{
|
|
"name": "rootfs_size_gb",
|
|
"type": "int",
|
|
"title": "Rootfs Size",
|
|
"required": false,
|
|
"default": 256,
|
|
"description": "Root filesystem size in GB",
|
|
"config": {
|
|
"slider": true,
|
|
"min": 4,
|
|
"max": 4096,
|
|
"step": 1,
|
|
"placeholder": "256",
|
|
"unit": "GB"
|
|
}
|
|
},
|
|
{
|
|
"name": "nameserver",
|
|
"type": "str",
|
|
"title": "Container DNS server",
|
|
"required": true,
|
|
"description": "DNS server used by the container.",
|
|
"config": {
|
|
"placeholder": "DNS_SERVER"
|
|
}
|
|
},
|
|
{
|
|
"name": "searchdomain",
|
|
"type": "str",
|
|
"title": "Container search domain",
|
|
"required": false,
|
|
"default": "",
|
|
"description": "Search domain used by the container.",
|
|
"config": {
|
|
"placeholder": "home.arpa"
|
|
}
|
|
},
|
|
{
|
|
"name": "network_name",
|
|
"type": "str",
|
|
"title": "Network Name",
|
|
"required": false,
|
|
"default": "eth0",
|
|
"config": {
|
|
"placeholder": "eth0"
|
|
}
|
|
},
|
|
{
|
|
"name": "bridge",
|
|
"type": "str",
|
|
"title": "Proxmox bridge name",
|
|
"required": false,
|
|
"default": "vmbr1",
|
|
"description": "Bridge name to use in Proxmox.",
|
|
"config": {
|
|
"placeholder": "vmbr1"
|
|
}
|
|
},
|
|
{
|
|
"name": "ip_address",
|
|
"type": "str",
|
|
"title": "Container IP address",
|
|
"required": true,
|
|
"config": {
|
|
"placeholder": "IP_ADDRESS"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|