Multiple disks
Describe the solution you'd like
Ability to add extra disks to ProxmoxMachines and ProxmoxMachineTemplates beyond the ...spec.disks.bootVolume.
Anything else you would like to add: Currently can only attach a single disk (for the bootVolume). Other providers allow creating additional disks for data storage. Eg vSphere has: VSphereMachineTemplate.spec.template.spec.dataDisks[] VSphereMachine.spec.dataDisks[] GCP has: GCPMachineTemplate.spec.template.spec.additionalDisks[] GCPMachine.spec.additionalDisks[] AWS has: AWSMachineTemplate.spec.template.spec.nonRootVolumes[] AWSMachine.spec.nonRootVolumes[]
etc. These are lists that take multiple disks. In this provider, there is only a single: ProxmoxMachine.spec.disks.bootVolume ProxmoxMachineTemplate.spec.template.spec.disks.bootVolume object.
I suggest a non-breaking solution of keeping the ...spec.disks.bootVolume object, and create a ...spec.disks.additionalVolumes[] list. So will be able to specify, eg:
spec:
disks:
bootVolume:
disk: boot
sizeGb: 100
additionalVolumes:
- disk: data-0
sizeGb: 100
- disk: data-1
sizeGb: 50
The alternative is to scrap ...spec.disks.bootVolume since there will always be a bootVolume, move its properties to the root of ..spec. Ie just its diskGiB, like GCP & vSphere. Then change ...spec.disks from an object to a list of extra disks. But while a simpler structure, would be a breaking change.
Environment: Cluster-api-provider-proxmox version: 0.7.1
Yeah, this is in our schedule.
https://github.com/ionos-cloud/cluster-api-provider-proxmox/blob/e31953e7c9340659154357d456a985fa2b090535/api/v1alpha1/proxmoxmachine_types.go#L147