TL;DR: We’ve built a buttery smooth Terraform provider for Bare Metal that runs equally on, of course, servers, Packet.net servers or VirtualBox VMs. If you like Hashicorp Terraform and want it to own your data center too, then read on.
Deep into the Digital Rebar Provision (DRP) release plan, a customer asked the RackN team to build a Terraform provider for DRP. They had some very specific requirements that would stress all the new workflows and out-of-band management features in the release: in many ways, this integration is the ultimate proof point for DRP v3.1 because it drives DRP autonomously.
The primary goal was simple: run a data center as a resource pool for Terraform.
Here our CTO, Greg Althaus, giving a short demo of the integration.
Of course, it is not that simple. Operators need to be able to provide plans to pick correct nodes from resources pools. Also, the customer request was to deploy both Linux and Windows images based on Packet. That meant that the system needed both direct-to-disk image writing and cloud-init style post-configuration. The result is deployments that are blazingly fast (sub 5 minutes) and highly portable.
An additional challenge in building the Terraform Provider is that no one wants to practice building plans against actual servers. They are way too slow. We need to be able to build and test the Terraform provider and plans quickly on a laptop or cloud infrastructure like Packet.net. Our solution was to build parallel out-of-band IPMI type plugins for all three platforms so that the Terraform provider could interact with Digital Rebar Provision consistently regardless of the backing infrastructure.
We were able to build a full fidelity CI/CD pipeline for plans without committing dedicated infrastructure at the dev or test phases. That is a significant breakthrough.
Terraform is kicking aaS for cluster deployments on cloud and we’re getting some very enthusiastic responses when we describe both the depth and simplicity of integration with Digital Rebar Provision. We’re actively collecting feedback and testing both new DRP features and Terraform integration so it’s not available for open consumption; however, we very much want to find operators interested in field trials.
Please contact us if Terraform on Metal is interesting. We’d be happy to show you how it works and discuss our next steps.
Further Listening? Our Latest Shiny (L8stSh9y) podcast with Greg Althaus and Stephen Spector covers the work.