Terraform Bare Metal: 10 Providers Compared

Terraform Bare Metal: 10 Providers Compared
Published on Sep 3, 2026 Updated on Sep 4, 2026

Terraform can provision bare metal servers, but only through a Terraform provider built for that host’s API. No provider, no Terraform. Where a provider exists, it translates your resource blocks into API calls.

Coverage differs from host to host. One provider manages the server and nothing else, while with another, you also manage SSH keys, private networks, and OS reinstalls. That difference decides how much of your fleet runs as code.

This guide compares 10 bare metal providers on their Terraform integration. First, here is what to look for in one.

#What to Look for in a Bare Metal Terraform Integration

Bare metal Terraform support is easy to overstate. A provider may advertise server provisioning while exposing only part of the lifecycle: ordering hardware, installing an OS, managing networking, changing credentials, reinstalling the OS, and deleting or cancelling the service may all have different Terraform semantics. A provider can therefore support “bare metal” while leaving important operational steps outside Terraform or model destructive operations as one-time action resources rather than normal CRUD resources.

Each platform in this guide has a Terraform provider. The important question is what the provider lets you declare and what happens to a running server when a configuration changes. The following checks cover those differences, along with version compatibility and developer tooling.

#Provider maintenance

Find the host’s Terraform provider in the Terraform Registry and follow the source-code link to the repository, then check when the host last shipped a release.

Suppose the repository is active and releases arrive on schedule. Even a healthy Terraform provider depends on the platform it was built for, and the host can discontinue that platform. Equinix shut down their Metal platform on June 30, 2026. Metal’s Terraform resources are deprecated, and version 5.0.0 of the Equinix provider removes them. Any fleet declared through those resources now needs a new host and an updated configuration.

#Resource coverage beyond the server

A server resource gives you the server and nothing around it. To make the server usable, you add an SSH key to reach it, addresses to route traffic, and a private network to attach it to. When the server later needs a different OS image, you reinstall the OS. Each of those is either a resource in the Terraform provider or a task in the host's portal.

Check the Terraform provider’s documentation to see which of these tasks has its own resource. Whatever the provider omits becomes a portal task, and portal tasks never appear in state, version control, or review. On a fleet, those tasks repeat with every server you add.

#Safe and destructive changes

An edited configuration can destroy the data on a live server. Some changes, such as hostname changes, can be in-place, but the behaviour is provider-specific. A new OS image, though, is destructive. The Terraform provider applies that change by reinstalling the OS, which erases the disks. That split varies by Terraform provider, so check each resource’s argument reference before you automate changes to live servers.

Some hosts require explicit consent for destructive changes. For example, Cherry Servers defines an allow_reinstall argument on its server resource, and its Terraform provider refuses any reinstallation until you set that argument to true. That guard turns a surprise wipe into a deliberate choice, so check whether your host defines a similar guard in its Terraform provider.

Terraform is not the only way to edit a server’s settings. Anyone with portal access can edit them there, and the state then drifts from what the hardware runs.

#Terraform version requirements and OpenTofu compatibility

Check the Terraform provider’s README for the minimum Terraform version it requires. If the version you run is earlier than that minimum, upgrade Terraform first.

If you run OpenTofu, check the bare metal provider’s documentation for a compatibility statement. OpenTofu can use many Terraform providers, but registry availability alone does not guarantee compatibility. Check the provider’s documentation and test the exact version of the provider you intend to use.

#Breaking changes and migration guide

A Terraform provider upgrade can break a configuration that applied cleanly the day before. Open the Terraform provider’s changelog and look for past breaking changes. For each one, check whether the host has published a migration guide explaining how to update your configuration. Prefer providers that publish release notes and migration documentation for breaking changes. Without a guide, you work out the changes yourself from the changelog and error messages.

#Data sources and developer tools

Data sources let you read values such as server plans, regions, and OS images from the host instead of copying them from a pricing page. Check whether the Terraform provider defines data sources for the values you use. Also, check what else the host ships around the Terraform provider, such as a command-line tool, SDKs, or an Ansible collection.

A host that passes these checks lets you manage bare metal servers in code, the same way you manage your cloud infrastructure.

Rent Dedicated Servers

Deploy custom or pre-built dedicated bare metal. Get full root access, AMD EPYC and Ryzen CPUs, and 24/7 technical support from humans, not bots.

#10 Bare Metal Providers with Terraform Support

The following bare metal providers support Terraform. Some hosts let you manage nearly their whole platform from a configuration. With others, you get the server and a few resources around it, such as SSH keys. The table below compares their Terraform providers, from server resources to OpenTofu compatibility.

Provider versions checked: August 2026. Provisioning times, pricing, location counts, and product availability are platform claims and should be checked separately because they can change without a provider release.

Host Terraform provider Maintainer Server resource Other resources OpenTofu
Cherry Servers cherryservers/cherryservers Host-maintained cherryservers_server Projects, SSH keys, floating IPs Confirmed by host
OVHcloud ovh/ovh Host-maintained ovh_dedicated_server Reinstall and reboot tasks, vRack networking Confirmed by host
Latitude.sh latitudesh/latitudesh Host-maintained latitudesh_server Firewalls, elastic IPs, members, tags, VMs Not stated by host
Scaleway scaleway/scaleway Host-maintained scaleway_baremetal_server Full cloud catalog Confirmed by host
phoenixNAP phoenixnap/pnap Host-maintained pnap_server Networks, IP blocks, BGP, reservations Not stated by host
Vultr vultr/vultr Host-maintained vultr_bare_metal_server Full cloud catalog Not stated by host
Leaseweb LeaseWeb/leaseweb Host-maintained leaseweb_dedicated_server (import only) OS installations, credentials, DNS, IP management Not stated by host
Hivelocity hivelocity/hivelocity Host-maintained (last release 2023) hivelocity_bare_metal_device VLANs, ignition, hardware search Not stated by host
Servers.com serverscom/serverscom Host-maintained serverscom_dedicated_server, serverscom_sbm_server L2 segments, subnetworks, cloud instances Not stated by host
IBM Cloud IBM-Cloud/ibm Host-maintained ibm_compute_bare_metal, ibm_is_bare_metal_server Full cloud catalog Not stated by host

Now, let’s look into each host in detail and compare the strengths and limitations of their Terraform integrations.

#Cherry Servers

Cherry Servers lets you create and manage bare metal servers with Terraform, along with their floating IPs and SSH keys. Their Terraform provider is built for day-to-day operation on live servers. Some edits, such as a new OS image, rebuild the machine and erase its disks, so the provider rejects those changes by default. You can enable them by setting the allow_reinstall argument to true.

Billing options include hourly, monthly, and spot pricing, and pre-built servers deploy in 12 minutes across seven locations in Europe, North America, and Asia. Outside Terraform, the host maintains a REST API, the cherryctl command-line tool, an Ansible collection, and SDKs for Python and Go.

Pros

  • Plans and regions are accessible through data sources.
  • You can set each server’s billing period in the configuration through the cycle argument.
  • OpenTofu users can use the provider without modification.
  • You can import manually created servers into Terraform without rebuilding them.

Cons

  • The Terraform provider does not define resources for VLANs, load balancers, or storage.
  • No OS image data source; image identifiers must be specified manually.

#OVHcloud

On OVHcloud, you can order bare metal servers in Terraform by specifying the plan code, term, and pricing mode as arguments. Servers are deployed in under 120 seconds. When you destroy a server, OVHcloud’s Terraform provider ends the service unless you enable the keep_service_after_destroy argument.

Billing is monthly. OVHcloud has 46 data centers, including Sydney, Singapore, Warsaw, and Hillsboro. They also offer an API, a command-line tool, a browser-based shell, and a Model Context Protocol server for scripting and one-off checks.

Pros

  • You can declare hardware RAID and the partition layout in the Terraform configuration.
  • Memory, bandwidth, and storage options are ordered on the server resource.
  • You can reboot or reinstall a running server from Terraform.
  • A server can be attached to a private vRack network in the same configuration.

Cons

  • Ordering in the US needs a separate OVHcloud US account.
  • A server that takes more than two hours to arrive leaves a tainted resource, which you untaint manually before reapplying.

#Latitude.sh

Latitude.sh offers Terraform resources for firewalls, private networks, and elastic IPs, as well as bare metal servers. You can declare a server, the private network it joins, and the firewall attached to it in a single configuration. You can also run an operating system that they do not publish, such as Talos, through the ipxe argument.

Their 25 locations run from Buenos Aires to Tokyo, and you can deploy Ubuntu, Debian, or Windows Server in under 5 seconds. Hourly billing is available, with crypto accepted as payment. They also publish SDKs, a REST API, and lsh, their command-line tool.

Pros

  • You can add team members and assign their roles in Terraform.
  • Virtual machines can be declared beside bare metal servers.
  • Cloud-init scripts are reusable resources you can share across servers.
  • Create and update timeouts can be set per server.

Cons

  • A new firewall starts with an SSH rule that Terraform neither manages nor shows in your state.
  • You need Terraform 1.6 or later.

#Scaleway

Scaleway’s Terraform provider includes Elastic Metal, their bare metal line, alongside Kubernetes clusters, managed databases, and object storage. The server resource requires a private network, so a server can reach those services without crossing the public internet.

Elastic Metal runs in Paris, Amsterdam, and Warsaw. You can choose hourly or monthly billing. Scaleway offers a REST API, the scw command-line tool, and SDKs for Python, Go, and JavaScript.

Pros

  • You can set an install password that Terraform never saves to state.
  • You can order a server now and choose its operating system later.
  • You can reboot a server from Terraform.
  • A reserved private IP can be assigned when a server joins a private network.

Cons

  • Monthly pricing includes a one-time fee equal to one month’s rental.
  • Changes to a server’s startup configuration only take effect after a reboot.

#phoenixNAP

In phoenixNAP’s Terraform provider, a data source reports which server types are in stock at a location. You can then reserve one for 1, 12, 24, or 36 months, and point a server at that reservation. Private networks, storage networks, and IP blocks are resources of their own.

Hourly billing needs no contract, and every incomplete hour is charged as a full one. Servers run in Phoenix, Ashburn, Chicago, Seattle, Amsterdam, and Singapore.

Pros

  • You can list the IP addresses allowed to reach a Windows server over Remote Desktop.
  • Your default SSH keys can be automatically installed on every new server.
  • Kubernetes clusters can be created through Rancher from the same provider.
  • A server can be deployed with no public network at all.

Cons

  • Deleting a server does not cancel the billing on its reservation.
  • DHCP works only on servers whose networks are all private.

#Vultr

Vultr lets you deploy bare metal servers using the same images as their cloud instances. The SSH keys and startup scripts already in your Terraform configuration also work on a bare metal server. That server can also join the VPC that your instances use, on a single private network. Hourly billing stops at the monthly rate, because Vultr caps a month at 672 hours.

Pros

  • You can change a server’s operating system without replacing it.
  • You can build a custom image from a URL and use its snapshot to deploy to any number of servers.
  • New Linux servers can be created with a non-root default user.
  • You can set the hostname that a server’s IP address resolves to.

Cons

  • Renaming a server destroys it and builds a replacement.
  • New SSH keys or user data are applied to a server only through a rebuild.

#Leaseweb

Leaseweb’s bare metal server resource cannot create hardware, so Terraform takes over the servers you have already ordered. Once a server is imported, its power state, public network interface, and PXE boot URL are all set from the configuration. The state also records where that machine physically is, down to the site, rack, and unit.

Bandwidth is billed per gigabyte, on an unmetered flat-fee port, or at the 95th percentile.

Pros

  • You can select servers by site or by private rack.
  • Bandwidth and data traffic alerts can be set with a threshold and a frequency.
  • Traffic to an IP address can be dropped and restored automatically at a time you choose.
  • A server’s remote management IP is available in Terraform.

Cons

  • You cannot create a server with Terraform.
  • A server cannot be deleted through Terraform once imported.

#Hivelocity

Hivelocity offers a Terraform data source that finds hardware by memory, location, and stock, then passes its ID to the device resource. So a configuration specifies the desired specification, and the provider deploys the matching server. Hivelocity bills bare metal servers hourly, or on monthly to annual terms, discounted 33% to 48% for the first billing period.

Pros

  • You can order several servers together and place them in the same rack.
  • CoreOS and Flatcar servers can be installed from an Ignition file.
  • A post-install script can run on a device once it is deployed.
  • A VLAN can connect several servers.

Cons

  • The Terraform provider has had no releases since 2023.
  • The portal and Terraform state do not stay in sync.

#Servers.com

Servers.com offers two Terraform resources for bare metal, one for scalable servers chosen from fixed configurations and one for dedicated servers built to a model. The dedicated resource goes further, letting you fill drive slots by position and set RAID levels and partition sizes in the configuration. Scalable servers are billed by the hour, with outbound traffic charged per gigabyte.

Pros

  • The startup script that a server runs after provisioning can be changed without a reinstall.
  • Servers can share a Layer 2 segment across a location group.
  • You can set the public and private uplink speeds on each server.
  • The same SSH keys work on both server types.

Cons

  • The Terraform provider has no data source for locations or hardware models, so you hardcode both in every server block.
  • The startup script is stored in Terraform state, which anyone with access to the state file can read.

#IBM Cloud

IBM Cloud runs bare metal in two environments: their Classic infrastructure and VPC, and Terraform has a resource for each. On Classic, you specify the hardware itself, down to RAID and VLANs, and billing is hourly or monthly. In a VPC, you pick a profile, and the server runs in the zone and subnets you name.

Pros

  • Secure boot and a Trusted Platform Module can be enabled on VPC servers.
  • Terraform can gracefully shut down the operating system before deleting a VPC server.
  • Classic servers can be ordered with a redundant power supply.
  • Extended hardware testing can run before a Classic server is handed over.

Cons

  • A monthly Classic server cannot be cancelled immediately; deletion is delayed until its anniversary date.
  • Changing a VPC server’s image or SSH keys wipes the boot disk.

#Conclusion

These ten providers vary in how much they let you do with Terraform and how actively each one is maintained.

Start by listing what you want Terraform to do for you. Ordering a server, installing an operating system, changing its network configuration, and destroying it are separate steps, and providers differ on which of these they support. Then check when each provider was last released.

FAQs

Can Terraform provision bare metal servers?

Yes, where the host publishes a Terraform provider for their own platform.

Can Terraform install software on a server after it deploys?

Not on its own. Terraform passes a startup script or user data at deployment, so the software you name there is installed once, when the server is built. Changing software on a running server afterward is the job of a configuration management tool such as Ansible.

Can Terraform manage the servers I already have?

Yes, by importing them. You can import an existing server with an `import` block or the `terraform import` command. In recent Terraform versions, `terraform plan -generate-config-out=...` can also generate configuration for imported resources when the provider supports the required schema.

Bare Metal Servers - 12 Minute Deployment

Get 100% dedicated resources for high-performance workloads.

Share this article

Related Articles

Published on Sep 1, 2026 Updated on Sep 2, 2026

10 Best Bare Metal Provisioning Tools

Explore the 10 best bare metal provisioning tools, compare features, Kubernetes support, scalability, and licensing, and find the right fit for your fleet.

Read More
Published on Aug 16, 2026 Updated on Aug 20, 2026

7 Bare Metal Server Providers with 24/7 Human Support

Compare 7 bare metal server providers with 24/7 human support, plus key SLAs, support models, hardware, pricing, and features to consider.

Read More
Published on Jul 12, 2026 Updated on Aug 31, 2026

Bare Metal Servers Pricing: Hourly vs Monthly Guide

Learn when hourly or monthly bare metal server pricing saves more money. Compare costs, use cases, trade-offs, and choose the best billing model.

Read More
No results found for ""
Recent Searches
Navigate
Go
ESC
Exit