Terraform provider?

Jul 3, 2014
99
1
6
Toronto, Ontario, Canada
http://terraform.io is a hypervisor-agnostic way of specifying a set of virtual machines, the networking between them and associated services (such as DNS).

It has broad support for many clouds (AWS, Digital Ocean, Azure) and in-house (VMWare, OpenStack) computing resources, together with a declarative syntax for integrating with services like DNSimple, LogEntries, etc. (https://www.terraform.io/docs/providers/index.html )

There is no Proxmox VE driver. Per my links on https://github.com/lord2800/terraform-provider-proxmox/issues/1 building one should not be hard.
 
Nobody is stopping you (or anyone else) from building one ;) integrating PVE into other products is not what we are doing, but we offer a REST API that allows to do just that: https://pve.proxmox.com/wiki/Proxmox_VE_API
 
So I've signed up just to reply to this post. I have recently switched to Proxmox (from basic libvirt/kvm) on the recommendation of a previous work colleague.

The company I work for uses AWS and Terraform (almost exclusively) to manage our infrastructure in code (GitHub).

It would be wonderful if Proxmox would allow people to manage their resources in this fashion, without writing a custom tool which works with your API directly.

It's my belief that products which give this kind of integration with out products are the ones that thrive.

My 2 cents!
 
So I've signed up just to reply to this post. I have recently switched to Proxmox (from basic libvirt/kvm) on the recommendation of a previous work colleague.

The company I work for uses AWS and Terraform (almost exclusively) to manage our infrastructure in code (GitHub).

It would be wonderful if Proxmox would allow people to manage their resources in this fashion, without writing a custom tool which works with your API directly.

It's my belief that products which give this kind of integration with out products are the ones that thrive.

My 2 cents!

this is mainly a question of limited resources on our part - instead of writing integration code for tens or hundreds of management platforms (which come and go), we'd rather improve our own code base. like I said, we offer an easy to use, fully-featured, well-documented REST API (it is what all our tools including the GUI are using as well!) for integration into other platforms - or even to base new custom platforms on.
 
Thanks for the quick reply!

Fair enough and that makes sense. You should however at least consider it as part of future plans as I can tell you, more and more companies are looking to implement this sort of technology. I don't think it would be much work on your part and there aren't many tools out there anyway.

As far as I know, there is Terraform, CloudFormation (AWS only, so N/A) and maybe you could consider SaltStack (though it's slightly different and probably N/A either!)

Anyway, it's totally up to you guys :)

- James
 
  • Like
Reactions: lethargos
My organization advises clients on what systems stacks they should install. The lack of a proxmox driver is simply a showstopper for us.

As James says, it's your choice and up to you. I'm just letting you know how it is.
 
Exactly my case as well actually, we just couldn't use Proxmox even if we wanted to (unless we wanted to scrap many months of development time and capability/integrations).

We are surely in the minority, but I'd expect this post to get some serious views in future. And perhaps that's what is required to get the ball rolling.

For reference, here are the providers currently available. (officially)

https://www.terraform.io/docs/providers/

(Big ones are there, Azure, AWS, OpenStack (which covers many others), VMWare (cloud/vsphere), DigitalOcean...)
 
This one looks more functional github.com/Telmate/terraform-provider-proxmox
 
In sake of exhaustivity, I also found thie one github.com/andrexus/terraform-provider-proxmox
 
this is mainly a question of limited resources on our part - instead of writing integration code for tens or hundreds of management platforms (which come and go)

Actually Terraform is still on the market and is the market leader. As the IT architecture is moving to Infrastructure as Code you might want to reevaluate that position.
 
  • Like
Reactions: lethargos
No, seriously. I kicked some tires on Proxmox 6.0 and we really like it. But trying to plug it into our Foreman seems to be a pain. The existing plugin is maintained by one person and is buggy.

Integration into popular lifecycle-management tools is, more often than not, a key to adoption.
 
We use 6 CPU subscriptions for Proxmox. We use terraform for a few years - to manage in IaaC way rest of our infrastructure.
Necessity of clicking Proxmox GUI is more and more irritating for us and lack of IaaC workflow is very painfull.
Are you (Proxmox) planning to support terraform? Have any issue on backlog at least? Any work in progress?
Please, explain.
 
Just registered to mention that we are also interested in the Terraform provider. We have deployed Proxmox and are looking into using Terraform to manage the stack at some point in the future (as others have said IaC is the industry best practice).
 
We use 6 CPU subscriptions for Proxmox. We use terraform for a few years - to manage in IaaC way rest of our infrastructure.
Necessity of clicking Proxmox GUI is more and more irritating for us and lack of IaaC workflow is very painfull.
Are you (Proxmox) planning to support terraform? Have any issue on backlog at least? Any work in progress?
Please, explain.

you don't need to click anything in the GUI - everything the GUI does is also available via the API, as the GUI is just a (fancy) API client. there seems to be a terraform provider (and provisioner) with ongoing updates here: https://github.com/Telmate/terraform-provider-proxmox . we don't use terraform, so we are probably not in the best position to write such integration. we're always happy to help developers writing integration with our API - e.g., I currently have a patchset that should be finalized soon that allows generating API tokens with limited privileges, instead of requiring full-fledged login sessions.
 
I needed a provider for a proof of concept and found that most implementations only focused on the lifecycle management of containers/virtual machines. I then ended up writing a new one, which can be found here: https://github.com/danitso/terraform-provider-proxmox

Do note that this is a proof of concept and will most likely have some issues but if you stick to the example, you should be able to get something running. The example shows how to spin up Ubuntu using the official cloud image, custom cloud-init user data and the QEMU agent.
 
I needed a provider for a proof of concept and found that most implementations only focused on the lifecycle management of containers/virtual machines. I then ended up writing a new one, which can be found here: https://github.com/danitso/terraform-provider-proxmox

Do note that this is a proof of concept and will most likely have some issues but if you stick to the example, you should be able to get something running. The example shows how to spin up Ubuntu using the official cloud image, custom cloud-init user data and the QEMU agent.

The abilty to use the ubuntu cloud images and a regular cloud-init config make the danitso provider a lot more useful than the Telemate provider. I know it still has some quirks, but it looks a lot more feature rich and code wise it looks a lot more mature.

Good work! Starred, forked and I'll try to contribute to the project...
 
  • Like
Reactions: gurubert

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!