* 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>
Some operating system(s) like Talos use provider-id for their
cloud-provider implementation in the format of <provider>://<id>
to be picked up by the cloud-init impl. Having it available is pretty standard.
Signed-off-by: ekarlso <endre.karlson@gmail.com>
Co-authored-by: Mohamed Chiheb Ben Jemaa <mc.benjemaa@gmail.com>
* feat(gateway-optional): This commit makes gw definition optional for additionalNetworkDevices
There is no need to have a mandatory gateway for secondary network interfaces, this commit edits the validation and go template that is in charge of generating the cloudinit files.
* fix(tests): Fix regression in test
* test: Add testing for noGW feature
---------
Co-authored-by: Mohamed Chiheb Ben Jemaa <mc.benjemaa@gmail.com>
* 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>
`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
Previously, it was only checked for VMs, without taking their Template status into consideration. (A Template VM can't be started, without explicitly removing the flag.). Existing LXCs on a host weren't taken into consideration either.
Now, we'll no longer include VM Template in our calculations. But in exchange we include LXCs now.
Fixes#36.