Files
cluster-api-provider-proxmox/envfile.example
Philipp Born 604ae96879 feat: allow vmtemplate selection based on tags (#343)
* feat: allow template selection based on tags

* `sourceNode + templateID` and `templateSelector` are mutually exclusive
* automatically detects both `sourceNode` + `templateID`
* errors out if anything but one (1) VM template with desired flags was found

* revert webhook changes

* introduce TemplateSource

* comment on TemplateSource

* add testcase for VMTemplateNotFound

* add test for SourceNode, TemplateID and TemplateSelector being unset

* revert GetNode() changes

* remove redundant TemplateSelector check

* update TemplateSelector description

* introduce ErrTemplateNotFound error

* add FindVMTemplateByTags test-case with nil vmTags

* Update api/v1alpha1/proxmoxmachine_types_test.go

Co-authored-by: Vic Kerr <wiktor.kerr@ionos.com>

* make the linter happy

* Update proxmoxmachine_types.go

* Update advanced-setups.md

* Update proxmoxmachine_types.go

* refaormat

---------

Co-authored-by: Vic Kerr <wiktor.kerr@ionos.com>
Co-authored-by: Mohamed Chiheb Ben Jemaa <mc.benjemaa@gmail.com>
2025-02-05 16:25:17 +00:00

59 lines
1.8 KiB
Plaintext

export PROXMOX_URL=https://pve.example.com
export PROXMOX_TOKEN=""
export PROXMOX_SECRET=""
export PROXMOX_SOURCENODE="pve"
export TEMPLATE_VMID=100
export TEMPLATE_TAGS="tag1,tag2"
export VM_SSH_KEYS="ssh-ed25519 ..., ssh-ed25519 ..."
export KUBERNETES_VERSION="1.25.1"
export CONTROL_PLANE_ENDPOINT_IP=10.10.10.4
export NODE_IP_RANGES="[10.10.10.5-10.10.10.50, 10.10.10.55-10.10.10.70]"
export GATEWAY="10.10.10.1"
export IP_PREFIX=24
export DNS_SERVERS="[8.8.8.8,8.8.4.4]"
export ALLOWED_NODES="[pve1,pve2,pve3]"
# Optional config for boot disk and default NIC
export BOOT_VOLUME_DEVICE=scsi0
export BOOT_VOLUME_SIZE=100
export NUM_SOCKETS=2
export NUM_CORES=4
export MEMORY_MIB=16384
export BRIDGE=vmbr0
# Multiple NICS
export NODE_SECONDARY_IP_RANGES="[10.10.10.100-10.10.10.150]"
export SECONDARY_IP_PREFIX=24
export SECONDARY_GATEWAY="10.10.10.254"
export SECONDARY_DNS_SERVERS="[8.8.8.8, 8.8.4.4]"
export SECONDARY_BRIDGE=vmbr1
# IPV6
export NODE_IPV6_RANGES="[2001:db8:1::1-2001:db8:1::10]"
export IPV6_PREFIX=64
export IPV6_GATEWAY="2001:db8:1::1"
# LoadBalancers
export EXT_SERVICE_BRIDGE=vmbr2
export LB_BGP_IPV4_RANGES="[172.16.4.10-172.16.4.20]"
export LB_BGP_IPV4_PREFIX=24
export LB_BGP_IPV6_RANGE="[2001:db8:1::10-2001:db8:1::ffff]"
export LB_BGP_IPV6_PREFIX=64
export METALLB_IPV4_ASN=65400
export METALLB_IPV4_BGP_PEER=172.24.16.1
export METALLB_IPV4_BGP_PEER2=172.24.16.2
export METALLB_IPV4_BGP_SECRET=REDACTED
export METALLB_IPV4_BGP_PEER_ASN=65500
export METALLB_IPV4_BGP_PEER2_ASN=65500
export METALLB_IPV4_RANGE=7.6.5.0/24
export METALLB_IPV6_ASN=65400
export METALLB_IPV6_BGP_PEER=2001:db8:1::1
export METALLB_IPV6_BGP_PEER2=2001:db8:1::2
export METALLB_IPV6_BGP_SECRET=REDACTED
export METALLB_IPV6_BGP_PEER_ASN=65500
export METALLB_IPV6_BGP_PEER2_ASN=65500
export METALLB_IPV6_RANGE=2001:db8:2::0/64