* MINOR: Remove duplicate rules to avoid validation warning when applying
* optional fix for duplicate validation rule
* +optional validation should not be on type level, but field
---------
Co-authored-by: Kenneth Holm Seelig <xkhse@energinet.dk>
* WIP: Add API spec for machine ip pool ref
* Adjusting code to comply with the new API
* Implement the logic for the IP Pool Ref for proxmoxmachines
* Make Default network required when setting network and add tests
* add metadata handling for proxmox node name
* First draft: flatcar and ignition support
* Revert "add metadata handling for proxmox node name"
This reverts commit 3dd5aae409a70da006e35c7130ca9ecc39fe73f0.
* Make The Ignition ISO able to be unmounted
* Fixes lints
* Fixes Tests
* remove unsed config and Fixes Test
* Set ipv6
* add tests
* add tests for injector
* more test coverage
* Fix lint
* Provide a correct cluster template
* Provide docs on how to provision cluster with flatcar
* Address reviews
* Update envtest
* Address reviwes and try e2e test with skip label
* Implement networkd config units with VRFs
* Tidy
* E2e test for flatcar
* Use correct template for flatcar
* Add more tests
* Simpler units name
* add comment for netdev index
* Address reviews
* remove uncessary variable
* Add note about EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION
* Address reviews
* Change ignition docs
* Remove quotes
* pkg/ignition/network.go: fix VRF routing rules policy table, add tests
---------
Co-authored-by: tuunit <jan@larwig.com>
Co-authored-by: Felix Wischke (65278) <felix@zeynix.de>
* Return VMIDFreeErr or the error object itself if CheckID returns true/an error
* Rename VMIDFreeErr to ErrVMIDFree and fix comment to make linter happy
* feat: Add ability to specify range of VM IDs to use
* Fix codespell error: fix spelling
* When checking if a vmid is free, first check the existing ProxmoxMachines before querying the Proxmox API.
* Check that the vmid of the Proxmox machine is set (not -1) before adding it to usedVMIDs
* Move spec.vmidRange from ProxmoxCluster to ProxmoxMachine
* Update github.com/luthermonson/go-proxmox to v0.2.0
* Revert "Update github.com/luthermonson/go-proxmox to v0.2.0"
This reverts commit c5d15e56ef7c61ab884c3726e2e9707ba8038a27.
Because of this bug https://github.com/luthermonson/go-proxmox/pull/169
* Update github.com/luthermonson/go-proxmox to v0.2.1
* Add test for ClusterScope.ListProxmoxMachinesForCluster
* Fix wording in ProxmoxMachine types test
* Rename vmidRange to vmIDRange to follow k8s API conventions
* Add validation for vmIDRange: end should be greater than or equal to start
* Set failureMessage and failureReason when ErrNoVMIDInRangeFree is thrown
* Refactor getVMID to improve code quality
---------
Co-authored-by: Mohamed Chiheb Ben Jemaa <mc.benjemaa@gmail.com>
* feat(vlan): Add vlan tag support for VM reconcile.
This commit implement VLAN tag support when creating - or more in general reconciling - a ProxmoxMachine. This feature implements a new optional value in the ProxmoxMachine CRS, defined in the NetworkDevice type. The value is an integer, delimited in the range 1-4094.
Tests have been also implemented to prevent regression, and e2e tests have been conducted creating both cluster using the new property and without - to check past compat.
* test(vlan): Add more testing and fix validation
* fix(test-vlan): Fix regression in test caused by a typo
* misc: Add more entry to gitignore
* refactor: Removed unused validator and refactor variable name
* refactor: Refactor variable name
* Add VRF device support
* cluster-template-cilium-load-balancer: metallb based loadbalancer nodes
* LoadBalancerNodes: Documentation
* load-balancer-nodes: taint and toleration for metallb
* cluster-template-cilium-load-balancer: force ipvs/strictARP for metallb
* Add tests
* Add Comment for webhook
* Add tests
* Add minmal test for proxmoxmachine controller
* Add comment for mtu
* Rephrase special case for MTU
---------
Co-authored-by: Mario Valderrama <mario.valderrama@ionos.com>
The copyright status of autogenerated files is at best dubious.
The copyright year does not change just because the calendar year has changed.
The header will only cause problems every January.
* feat: implement setting mtu for virtio network device
See https://git.proxmox.com/?p=qemu-server.git;a=commit;h=61a14cde8d568e552d3deaab2da76b479b8aca7b
* fix: split extractNetworkModelAndBridge into multiple functions
* fix: set maximum mtu to 65520
* test: should not allow mtu less than 1 or more than 65520
* feat: add validating webhook for proxmoxmachine
* fix: remove default mtu
`ProxmoxCluster.spec.SchedulerHints.MemoryAdjustment=300` allows to (theoretically) allocate 300% of a host's memory for VMs (use with caution - enabling memory ballooning highly recommended)
`ProxmoxCluster.spec.SchedulerHints.MemoryAdjustment=95` allows to limit memory allocation to 95% of a host's memory
`ProxmoxCluster.spec.SchedulerHints.MemoryAdjustment=0` entirely disables scheduling memory constraints