Operations

What is Terraform?

Also known as: OpenTofu
Definition

Terraform declares infrastructure in configuration files and reconciles the real environment against them. A provider with a Terraform provider can be treated as code: instances, addresses and firewall rules become reviewable, versioned artefacts.

Why Terraform matters

A provider with a Terraform provider can be treated as code: instances, addresses and firewall rules become reviewable, versioned artefacts.

Terraform in practice

Terraform turns a server into a set of declarations you can diff, review and roll back. The practice is: the state file is ground truth. You edit a .tf file, run terraform plan, see exactly what will change, then apply. The cost of getting it wrong is an instance rebuilt from scratch, an IP flipped, or a firewall rule deleted. You spend your time reading diffs, not clicking panel buttons.

What people get wrong about Terraform

People treat Terraform like a configuration management tool. It is not: it does not run on the box. It declares the box itself, and reconciles the provider against that declaration. If you change something out-of-band, Terraform reverts it on the next apply.

Terraform — common questions

What is a Terraform provider?

A provider is a plugin that speaks the API of a service, like OnionVPS or AWS. It translates Terraform's declarative resources into API calls. You declare a provider block and a resource, and Terraform creates, updates or destroys the underlying object to match your code.

How does Terraform track what it manages?

It keeps a state file, locally or remotely. That file maps each declared resource to its real ID. Before applying changes, Terraform reads the current state and computes a plan. A stale or missing state file causes drift, which Terraform flags when it diffs reality against configuration.

More from operations

SLA
An SLA is a contractual commitment to a service level, usually availability, with defined compensation when it is missed.
Out-of-band console
An out-of-band console attaches to a virtual machine's display and keyboard independently of its network connection.
Custom ISO
Custom ISO support lets you upload an installer image and boot the instance from it, rather than choosing from a fixed template list.
Seedbox
A seedbox is a server dedicated to downloading and seeding torrents at high speed, typically with large storage and a fast uplink.
Control panel
A control panel is a web interface for administering servers, websites, mail and databases — cPanel, DirectAdmin, CyberPanel and similar.
Provisioning
Provisioning is the process of creating, configuring and delivering a server so that it is ready to use.