Skip to content

Terraform Proxmox Backend #37537

@gbrackley

Description

@gbrackley

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.

References

PMXCFS

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions