-
Notifications
You must be signed in to change notification settings - Fork 10k
Description
Terraform Version
1.13.1 (latest)
Use Cases
This would be used in Proxmox PVE environments, where other public cloud infrastructure support is not available or unsuitable.
A Proxmox cluster (or a single node deployment) has a shared, replicated pmxcfs
filesystem and built-in locking, without requiring any external storage system. Access this via the API is supported out-of-the-box without additional components. Use of the API can leverage the Proxmox PVE native authentication and authorisation.
Although Proxmox PVE has been popular for some time, the adoption rate is likely to increase given the changes in pricing model for other similar self hosted solutions.
Attempted Solutions
Tried to express the Proxmox API interface calls using the http
backend. Using the http
backend is a poor fit. The mismatch between a RESTful API (high richardson maturity), a CRUD interface, and a JSON RPC style leaves gaps between the http
plugin and the Proxmox API.
Writing a backend plugin is not possible, as only a forking strategy to write a backend is supported at this point in time.
None of the other supported backends (mainly various 's3' and 'db') are suitable. A local file based backend is only suitable for prototyping and development
Proposal
Add a Proxmox API based backend to store terraform state, and perform locking.
It is unclear which API methods provide the support for locking and file storage.