migrate
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
resource "proxmox_lxc" "<< resource_name >>" {
|
||||
hostname = "<< hostname >>"
|
||||
<%- if description %>
|
||||
description = "<< description >>"
|
||||
<%- endif %>
|
||||
target_node = "<< target_node >>"
|
||||
unprivileged = << unprivileged | lower >>
|
||||
ostemplate = "<< ostemplate >>"
|
||||
|
||||
cores = << cores >>
|
||||
swap = << swap_mb >>
|
||||
memory = << memory_mb >>
|
||||
|
||||
start = << start_container | lower >>
|
||||
|
||||
rootfs {
|
||||
storage = "<< rootfs_storage >>"
|
||||
size = "<< rootfs_size_gb >>G"
|
||||
}
|
||||
|
||||
nameserver = "<< nameserver >>"
|
||||
<%- if searchdomain %>
|
||||
searchdomain = "<< searchdomain >>"
|
||||
<%- endif %>
|
||||
|
||||
network {
|
||||
name = "<< network_name >>"
|
||||
bridge = "<< bridge >>"
|
||||
ip = "<< ip_address >>"
|
||||
}
|
||||
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
rootfs,
|
||||
network,
|
||||
cmode
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,231 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user