-
-
Notifications
You must be signed in to change notification settings - Fork 208
Add support for provisioning storage types (NFS/CIFS/PBS/Directory/LVM) #2130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- implement interfaces for creating/updating each type of storage - common base fields are extracted and type embedded - as are the backup fields, as not all storage methods support backups Signed-off-by: James Neill <[email protected]>
- still need to implement adding the backup definitions but the models are implemented - this breaks `proxmoxtf/resource/file.go` as it was using the wrong storage client (should've been the node specific storage endpoint) Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
…sources Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
…source type Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
…ported by nfs Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
…ommon attrs - shared field is always included, just some it's always enabled, so handle that now in the schema factory by denoting it as computed with a default of true Signed-off-by: James Neill <[email protected]>
- supports automatic generation and management of encryption keys Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
Signed-off-by: James Neill <[email protected]>
d1b140c
to
a9d1250
Compare
…lock Signed-off-by: James Neill <[email protected]>
Signed-off-by: Pavel Boldyrev <[email protected]>
Signed-off-by: Pavel Boldyrev <[email protected]>
…aform-provider-proxmox into feat/support-cluster-storage
Thank you so much for adding this @jmsnll! ❤️ It will take some time to go over the code. Yeah, the PR is quite big, but I'm not sure if it will be much easier if we split it. Those resources are really close to each other, and you did a great job extracting generic pieces from them. So will review them together. |
Signed-off-by: Pavel Boldyrev <[email protected]>
My pleasure @bpg! I will hopefully get an opportunity to finish this off this weekend all being well 😄 |
Introduces a sub-set of new resources to the Terraform provider for managing storage configurations.
I'm marking this pull request as a draft as I still need to add the documentation and acceptance tests, in addition to verifying some of the
tfsdk
/json
/url
tags are set correctly. Also I have been developing again Proxmox VE 9 so I'm not sure which fields (if any) are specific to that version.There is currently an issue with the
backups
block, applying and being stored in the state, but not actually being set in the API. But I wanted to submit the PR for feedback, if it's also too large I'm happy to split it up to make it easier to review.New Resources
I have added the following new resources:
proxmox_virtual_environment_storage_directory
: Manages directory-based storage.proxmox_virtual_environment_storage_lvm
: Manages LVM storage pools.proxmox_virtual_environment_storage_lvmthin
: Manages LVM-thin pools.proxmox_virtual_environment_storage_nfs
: Manages NFS-based storage.proxmox_virtual_environment_storage_cifs
: Manages SMB/CIFS-based storage.proxmox_virtual_environment_storage_zfspool
: Manages ZFS pool storage.proxmox_virtual_environment_storage_pbs
: Manages Proxmox Backup Server (PBS) storage, including support for encryption keys.Those that still need to be implemented:
proxmox_virtual_environment_storage_ceph
proxmox_virtual_environment_storage_esxi
proxmox_virtual_environment_storage_iscsi
proxmox_virtual_environment_storage_rbd
proxmox_virtual_environment_storage_btrfs
– unsure as it's still a technical previewContributor's Note
/docs
for any user-facing features or additions./fwprovider/tests
for any new or updated resources / data sources.make example
to verify that the change works as expected.Proof of Work
Community Note
Relates #2101