Controlling bare metal infrastructure should be simple, powerful and cloud-like.  That’s why RackN  built the Digital Rebar Platform (DRP) Terraform provider. The DRP provider gives Terraform access to pools of hardware to allocate and destroy hardware as needed. It is the easiest way to run Terraform on bare metal infrastructure. The DRP provider is part of the HashiCorp Terraform Registry, making it even easier to use.  

How does it work?

The latest revision to the Digital Rebar Terraform provider uses the Terraform declarative Infrastructure as Code operations. However, a tremendous amount of automation is required to make bare metal provisioning work reliably and transparently with Terraform.  

Digital Rebar performs the bare metal magic, all Terraform needs is our provider to access our machine Pool API.

Digital Rebar Pools are groups of machines that can be reserved by Terraform.  The Terraform provider “checks out” a machine by using HCL to define a drp_machine block during apply, then returns it during destroy.  Operators can monitor all the activity from the Digital Rebar UX, including live updates of both pools and machines.

Developers choose the desired pool in their Terraform plan. The pool allocation process is influenced by providing configuration instructions like SSH keys, machine parameters, or system profiles.  Developers can also provide additional filters to narrow their section within individual pools.  For example, they could choose machines with specific GPUs, ranges of RAM or installed applications.  These are general API controls and not specialized behavior.

Running Terraform on bare metal clouds

This is where the magic really starts. Operators can define pool-specific workflows that run with pool allocation (check out) or release (check in).  This means setup processes can be defined by operations. So, when Terraform makes a call to check out a machine, a setup process kicks off to install software, check compliance, install an operating system, or perform other required configuration before handing off to the developer.  

Additionally, a set of teardown actions can be defined for the release call. Operators can define the cleanup, recovery and reset actions so machines are ready for the next request. This level of control makes using Terraform on bare metal easy for developers and powerful for operators.

This also makes the check-in/checkout behavior highly visible to the infrastructure operators.  Like any Digital Rebar processes, these actions can be monitored live and even checked for consumption chargeback.  Enforcing these automated workflows opens a way for systems to adapt to each user’s specific needs with credentials, security and event networking configuration.  Further, operators can better support developers because they have visibility. In case of serious issues, operators can force recovery of resources outside of Terraform.

Make bare metal so easy that Terraform users won’t even know they are on premises.

Overall, Digital Rebar makes bare metal easy for developers without compromising site requirements. In fact, developers probably won’t detect a difference between their on-premises infrastructure and cloud infrastructure. However, the operations team knows, and will appreciate the added IaC controls.  

Digital Rebar makes Terraform simple to use with any infrastructure type and provides the exact same operational experience on each that our users have come to expect. 

The RackN maintained Digital Rebar (DRP) Terraform provider is available in the partner section of the HashiCorp repository.  Since Digital Rebar is self-managed, users must first install a Digital Rebar server as a target for the provider.  This is easily accessible from our self-trial and no bare metal is required to demonstrate pooling behavior.  Follow this documentation or watch our tutorial video which walks you through the process.

Want to learn more? Watch our short tutorial and CFD17 demo of the integration. Then try it out for yourself!