25 Commits

Author SHA1 Message Date
Vic Kerr
92ac7a597d update copyright 2025-03-13 16:52:28 +01:00
Mohamed Chiheb Ben Jemaa
b6635a09fa Add API spec for machine ip pool ref (#429)
* 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
2025-03-13 13:25:20 +00:00
Mohamed Chiheb Ben Jemaa
4fd0cb6c84 Add custom tags to machines (#158)
* Add custom tags to machines

* Add test cases

* Revive add tags

* Revive  tags

* Address reviews

* Remove default description

* Add kustomize when running e2e
2025-03-13 11:40:50 +00:00
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
Vic Kerr
11692d339c webhook_suite_test: goimports 2024-11-12 11:52:49 +01:00
Vic Kerr
fbbec81a9b proxmoxcluster_webhook: goimports 2024-11-12 11:52:49 +01:00
Dario Tranchitella
c8cc3a4ce1 feat: support for externally managed control plane (#106)
* feat: support for externally managed control plane

Signed-off-by: Dario Tranchitella <dario@tranchitella.eu>

* proxmoxcluster_controller.go: check for nil ControlPlaneEnpoint

* gofmt -s

---------

Signed-off-by: Dario Tranchitella <dario@tranchitella.eu>
Co-authored-by: Vic Kerr <wiktor.kerr@ionos.com>
2024-11-04 15:27:55 +00:00
Mohamed Chiheb Ben Jemaa
9bba25568b Fix CNI cluster templates (#264)
* Fix CNI cluster templates

* Add condition to skip webhook when network is not set
2024-08-21 13:07:37 +02:00
Felix Wischke
1d2a859e20 api/v1alpha1/proxmoxcluster_types: validate controlplane port (#241)
* api/v1alpha1/proxmoxcluster_types: validate controlplane port

* pkg/scope/cluster: remove unused clusterScope.ControlPlaneEndpoint (make coverage happy)

* api/v1alpha1/proxmoxcluster_types: add port 0 test

---------

Co-authored-by: Felix Wischke (65278) <felix@zeynix.de>
2024-06-26 10:45:39 +00:00
Vic Kerr
43fe9fff17 misc: update copyright dates for 2024 2024-04-19 14:33:20 +00:00
Philipp Born
59ad710fe0 fix: allow FQDNs as controlPlaneEndpoint (#157)
* fix: allow FQDNs as controlPlaneEndpoint

* add testcases with plain ip4/ip6 endpoints
2024-04-17 09:04:48 +00:00
Felix Wischke (65278)
736a064997 proxmox_webhook: check routing policy tables (netplan lied more) 2024-04-16 14:25:20 +00:00
Felix Wischke (65278)
b7d130df26 proxmox_webhook_test: add LinkMTU test 2024-04-16 14:25:20 +00:00
Felix Wischke (65278)
c575eaa0a5 api/v1alpha1/proxmoxmachine_types: netplan lied about common interface settings 2024-04-16 14:25:20 +00:00
Felix Wischke (65278)
e00c558ad7 api/v1alpha1/proxmoxmachine_types: introduce per linkMTU 2024-04-16 14:25:20 +00:00
Felix Wischke (65278)
d4e607b0c6 proxmoxmachine_types: refactor AdditionalNetworkInterfaces 2024-04-16 14:25:20 +00:00
Felix Wischke (65278)
b35a8b2bc9 clusterClass: add loadbalancers 2024-04-16 12:40:35 +00:00
Felix Wischke (65278)
594a469f28 clusterClass: add no-cni and calico 2024-04-16 12:40:35 +00:00
Mohamed Chiheb Ben Jemaa
d0640dd29a Upgrade ipam to 0.1.0 and capi to 1.6.3 (#138)
* Upgrade ipam to 0.1.0 and capi to 1.6.3

* Update

* Fix circular dependency

* remove ipam deps from api pkg

* Update e2e tests

* Fix deps

* Rename Type

* Update godoc
2024-03-21 15:07:28 +01:00
Nicolò Ciraci
7dbe6e4ad1 feat(vlan): Add vlan tag support for VM reconcile. (#133)
* 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
2024-03-20 11:28:34 +00:00
Philipp Born
0b7d163815 fix: wrap controlplaneEndpoint in [], if provided address is an IPv6 address (#145)
Fixes #143.
2024-03-18 11:21:04 +01:00
Vic Kerr
a31de6ca05 misc: update copyright dates for 2024 2024-02-20 15:31:54 +00:00
Mohamed Chiheb Ben Jemaa
c729eb7048 Add unit tests (#78)
* 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>
2024-01-25 15:25:13 +00:00
Lucas Pape
e4a915b93e feat: implement setting mtu for virtio network device (#42)
* 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
2024-01-08 16:38:41 +01:00
Vic Kerr
45f5888c41 Initial open source release
Co-authored-by: Felix Wischke <felix.wischke@ionos.com>
Co-authored-by: Jonas Bender <90411737+jonas-be@users.noreply.github.com>
Co-authored-by: Ludwig Bedacht <132355999+lubedacht@users.noreply.github.com>
Co-authored-by: Mario Valderrama <15158349+avorima@users.noreply.github.com>
Co-authored-by: Mohamed Chiheb Ben jemaa <mohamed-chiheb.ben-jemaa@ionos.com>
Co-authored-by: Vic Kerr <318870+wikkyk@users.noreply.github.com>
2023-11-29 14:17:03 +00:00