* 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 optional TLS certificate checking when talking to Proxmox
* Fix: Define behavior for containers without RootCA store
* Fix: Allow all true-ish YAML values
* bootstrap: default to `format=cloud-config`
Not every bootstrap provider sets the `format` key and i wasn't able to find any requirement for it in the capi contract.
With this change we default to cloud-config, as it was without this check, to restore functionality with other non-kubeadm bootstrap providers.
Takes care of cases where the CAPMOX controller errored out with
```
err="failed to reconcile VM: error retrieving format data: secret `format` key is missing"
```
* make the linter happy
* 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>