Files
homelab/netbox/initializers/custom_fields.yml
2026-05-25 20:21:24 -05:00

79 lines
2.3 KiB
YAML

# NetBox Custom Fields for VM Provisioning Pipeline
# Object type: Virtualization > Virtual Machine
#
# These fields must be created in NetBox before the pipeline can function.
# Operators must populate these fields before setting VM status to Staged.
#
# To apply: NetBox Admin > Custom Fields > Import (or create manually)
custom_fields:
- name: proxmox_template
label: Proxmox Template
type: selection
object_types:
- virtualization.virtualmachine
required: true
description: VM template to clone on Proxmox. Must match an available template on the target node.
choices:
- ubuntu-24.04-small
- ubuntu-24.04-medium
- ubuntu-24.04-large
- ubuntu-24.04-large-plus
- ubuntu-24.04-xlarge
- ubuntu-24.04-xlarge-plus
- name: proxmox_node
label: Proxmox Node
type: selection
object_types:
- virtualization.virtualmachine
required: true
description: >
Target node for final VM placement. VM is always cloned from templates
on fantasyland, then migrated to this node by Terraform automatically.
choices:
- fantasyland
- main-street-usa
- tomorrowland
- name: proxmox_datastore
label: Proxmox Datastore
type: selection
object_types:
- virtualization.virtualmachine
required: true
description: Storage backend for the primary VM disk on the target Proxmox node.
choices:
- liberty-tree
- utilidor
- name: data_disk_enabled
label: Data Disk Enabled
type: boolean
object_types:
- virtualization.virtualmachine
required: false
default: false
description: >
When true, Terraform provisions a second disk for application data.
Used for stateful workloads that separate OS and data storage (e.g. Ollama model storage).
- name: data_disk_size_gb
label: Data Disk Size (GB)
type: integer
object_types:
- virtualization.virtualmachine
required: false
description: >
Size in GB for the optional second data disk.
Only used when data_disk_enabled is true.
Datastore for the data disk matches proxmox_datastore.
- name: provisioning_notes
label: Provisioning Notes
type: text
object_types:
- virtualization.virtualmachine
required: false
description: Free-text field for operator notes during provisioning.