mirror of
https://github.com/rssnyder/terraform-proxmox-vm
synced 2026-06-30 08:40:32 -05:00
No description
- HCL 100%
| .gitignore | ||
| .terraform.lock.hcl | ||
| cloud-config.yaml | ||
| dns.tf | ||
| LICENSE | ||
| main.tf | ||
| outputs.tf | ||
| provider.tf | ||
| README.md | ||
| variables.tf | ||
| vm.tf | ||
terraform-proxmox-vm
opinionated terraform module for provisioning vms in my homelab
module "test" {
source = "github.com/rssnyder/terraform-proxmox-vm"
}
customization is avalible but sane defaults are provided to get me a machine asap for testing
Requirements
No requirements.
Providers
| Name | Version |
|---|---|
| proxmox | 0.93.0 |
| random | 3.7.2 |
| unifi | n/a |
Modules
No modules.
Resources
| Name | Type |
|---|---|
| proxmox_virtual_environment_file.user_data_cloud_config | resource |
| proxmox_virtual_environment_vm.this | resource |
| random_integer.node | resource |
| random_pet.vm_name | resource |
| unifi_dns_record.this | resource |
| unifi_dns_record.ttyd | resource |
| proxmox_virtual_environment_nodes.this | data source |
Inputs
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| cpu | cores | number |
1 |
no |
| datastore_id | datastore for root vm disk | string |
"data" |
no |
| default_image_url | cloud image to download for vm | string |
"https://cloud.debian.org/images/cloud/trixie/latest/debian-13-genericcloud-amd64.qcow2" |
no |
| default_packages | include default packages: (gcc git zsh) | bool |
true |
no |
| dns_name | local dns name | string |
null |
no |
| domain | domain for local dns entry | string |
"r.ss" |
no |
| gateway | gateway for static ip | string |
"192.168.2.1" |
no |
| ip_address | static ip address in CIDR notation (e.g. 192.168.1.100/24), uses DHCP if not set | string |
null |
no |
| iso_id | source iso to use for vm | string |
null |
no |
| memory | mb | number |
512 |
no |
| node_name | name of the node to place the vm on | string |
null |
no |
| packages | additional packages to install | list(string) |
[] |
no |
| pet | prevent destroy | bool |
false |
no |
| public_key | public key for ssh access | string |
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC0eYIj1qScmuGmXxYgu54r7s99s5chsjqFwZ/Vwamu5HLb0AmcgCdDaUkHX7YpGTcbafVTHJXVx/V8JKzu2jiztoXZy52JbIpYbkZNgo+aLwB9Sj3XZXFEjarG+P6/iqNNMPIGhLvGOH61keyYoA8cUOhcBUODZWMssK8L2mQxcTNATzC5mv67H6IDiowcFnRV3CKe2VvsVdOLjAjJzQ1xBUpVENyIFohyV+7kmFI5dODct6UdhHjYfW9YA1qlQYfV+S8vU20jcmXcHF+M6x4i1D6kDb5Ig8/5B/Ym1dHFIjcFnBezF2CIT5tsUc4vqfY0DtdVqt9rHFS/swiNZl3GaG4pMF5ooG4RIkb16oFTwBhsEHMzjzG+Pqaqt8UAHC7MXbY6fQxUts8SZUSal7ydoMw3mOKFCtOog517PkqgGUJt2UNsur0R204Vgxlqx3xTkYbW7VKdglr4MrLjglCM1bT6+cnrP+h2FiWAlXpMXmS4ymsWlrkucmyX0hmLWAk= riley@hurley" |
no |
| size_gb | disk size in gb | number |
8 |
no |
| snippet_datastore_id | datastore to use for snippet files | string |
"zira-red" |
no |
| tags | tags | list(string) |
[] |
no |
| ttyd_password | password for ttyd web terminal (enables ttyd when set) | string |
null |
no |
| ttyd_port | port for ttyd web terminal | number |
7681 |
no |
| usb | n/a | list(object({ |
null |
no |
| username | admin username | string |
"riley" |
no |
| vm_name | name of the vm | string |
null |
no |
Outputs
| Name | Description |
|---|---|
| ipv4_address | n/a |