Mozilla Public License 2.0

项目介绍

bpg/terraform-provider-proxmox 是一个托管在 GitHub 上的开源项目,主要使用 Go 编写,采用 Mozilla Public License 2.0 许可证,目前获得 2.3k 个 Star、335 次 Fork。

仓库全名
bpg/terraform-provider-proxmox
开源许可证
Mozilla Public License 2.0
Star 数
2.3k
Fork 数
335
未关闭 Issue
79

README 摘要

Terraform / OpenTofu Provider for Proxmox VE A Terraform / OpenTofu Provider that adds support for Proxmox Virtual Environment. Maintained by BPG Labs. Disclaimer This project is a personal open-source initiative by @bpg-dev and is not affiliated with, endorsed by, or associated with any of their current or former employers. All opinions, code, and documentation are solely those of the maintainer and the individual…

完整内容见 GitHub 原始 README 或本页 。

常见问题

terraform-provider-proxmox 用什么语言开发?

主要使用 Go 编写,采用 Mozilla Public License 2.0 许可证,目前有 2.3k 个 Star。

terraform-provider-proxmox 可以免费商用吗?

仓库标注的许可证为 Mozilla Public License 2.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 terraform-provider-proxmox 的源码?

可以直接克隆仓库:git clone https://github.com/bpg/terraform-provider-proxmox.git,默认分支为 main;安装与运行步骤见仓库 README。

terraform-provider-proxmox 最近还在维护吗?

仓库最近一次更新为 2 天前,当前有 79 个未关闭 Issue;Star 数为 2.3k,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Terraform / OpenTofu Provider for Proxmox VE

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
2985
价值分
1475
活跃状态
活跃

语言占比

Dockerfile
Go
Go Template
HCL
Makefile
Python
Shell

Release

README

Terraform / OpenTofu Provider for Proxmox VE

GitHub release (latest by date) GitHub Release Date Terraform Provider Downloads All Contributors GitHub stars GitHub Sponsors

A Terraform / OpenTofu Provider that adds support for Proxmox Virtual Environment.

Maintained by BPG Labs.

Disclaimer

This project is a personal open-source initiative by @bpg-dev and is not affiliated with, endorsed by, or associated with any of their current or former employers. All opinions, code, and documentation are solely those of the maintainer and the individual contributors.

The project is not affiliated with Proxmox Server Solutions GmbH or any of its subsidiaries. The use of the Proxmox name and/or logo is for informational purposes only and does not imply any endorsement or affiliation with the Proxmox project.

Quick Start

terraform {
  required_providers {
    proxmox = {
      source = "bpg/proxmox"
    }
  }
}

provider "proxmox" {
  endpoint  = "https://pve.example.com:8006/"
  api_token = "terraform@pve!provider=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Most resources work entirely through the Proxmox VE API. SSH access to the nodes is only needed for a few operations, such as uploading snippets. See the provider documentation at bpg.sh/docs for authentication options, SSH configuration, the full list of resources and data sources, and the known issues.

Releases are published to the Terraform Registry and the OpenTofu Registry. Binaries for manual installation are on the Releases page, and their provenance can be verified with gh, see attestations.

Compatibility

This provider targets Proxmox VE 9.x and is acceptance-tested against the current 9.x release.

Important 重要

Proxmox VE 8.x is supported, but some functionality might be limited or not work as expected. Testing against 8.x is not a priority, and issues specific to 8.x will not be addressed.

Proxmox VE 7.x is NOT supported. While some features might work with 7.x, we do not test against it, and issues specific to 7.x will not be addressed.

While the provider is on version 0.x, it is not guaranteed to be backward compatible with all previous minor versions. However, we will try to maintain backward compatibility between provider versions as much as possible.

Terraform and OpenTofu version requirements are listed in the provider documentation.

Security

  • Report vulnerabilities privately as described in SECURITY.md. Do not open public issues for them.
  • Published advisories are listed on the security advisories page.
  • Nearly all operations use the Proxmox VE API. Use an API token with only the privileges your resources need.
  • The few operations that require SSH run commands on the node through sudo. Use the sudoers configuration from the SSH User section of the documentation as written. Granting the SSH user unrestricted sudo access to binaries such as qm or pvesm is equivalent to giving it root on the host.

Building and Testing the Provider

Building requires Go 1.26. Docker is optional, for running the dev tools.

make build

Unit tests cover the API client, model conversion and schema logic, and run with:

make test

Most of the test coverage is acceptance tests, which exercise the provider end-to-end against a real Proxmox VE instance. They live next to the resource or data source they cover (and in fwprovider/test for cross-resource scenarios), are grouped into light/medium/heavy tiers, and are run with ./testacc (requires testacc.env in the project root, see CONTRIBUTING.md). They are not run in CI by default, as they require a Proxmox VE environment; maintainers run them against a lab cluster before merging changes, and new or changed functionality must come with acceptance tests.

Example Resources

The example directory contains sample configurations, mostly for the legacy SDKv2 resources; Framework resources are covered by their acceptance tests instead. make example builds the provider, applies the samples against a test Proxmox VE environment, and destroys them again, so it needs a dedicated environment and an example/terraform.tfvars. See Setting up Proxmox in a VM for development for the prerequisites and configuration.

Future Work

The provider was originally built on the Terraform SDKv2, which is considered legacy and is in maintenance mode. New resources and data sources are implemented with the Terraform Plugin Framework, and both are served from a single binary. The core resources, including proxmox_virtual_environment_vm, proxmox_virtual_environment_container, proxmox_virtual_environment_file and the firewall and access-control resources, are still on SDKv2 and continue to receive fixes and enhancements there. Migrating them to the Plugin Framework, starting with the VM resource (#1231), is a prerequisite for the 1.0 release.

Contributors

See CONTRIBUTORS.md for a list of contributors to this project.

History

The provider was forked in 2021 from danitso/terraform-provider-proxmox after upstream maintenance stopped, and has been developed independently since.

Repository Metrics

Alt

Sponsorship

❤️ This project is sponsored by:

Thanks again for your continuous support, it is much appreciated! 🙏

Acknowledgements

This project has been developed with GoLand IDE under the JetBrains Open Source license, generously provided by JetBrains s.r.o.

GoLand logo

评论

暂无评论