Skip to content

Documentation

Hetzner

Hetzner sells two things through two APIs: Cloud, a rented project of hourly-billed virtual servers, and Robot, dedicated machines on a monthly contract. This page is about the Cloud integration, the one you can switch on today, and everything on it follows from that one difference: you do not own the hosts, so there is no node to choose, no storage to pick and no numbering range to hand out.

One integration is one project

A Hetzner API token belongs to exactly one project and sees nothing outside it. An account with three projects therefore becomes three integrations in Provibr, each with its own token and its own request budget.

There is no way for us to read the project name, because Hetzner has no endpoint for it. Give each integration a name you recognise, because that name is the only thing that tells them apart in the panel.

The token

One field, and that is the whole credential. Create it in the Hetzner Cloud Console under Security → API tokens, inside the project you want Provibr to manage.

  • Choose Read & Write. A read-only token connects fine and the connection test goes green, because that test only reads; it fails at the first button that changes something.
  • A read-write token is all or nothing: no scopes, no expiry date, no IP restriction. Whoever holds it can delete every server in that project.
  • Paste the token exactly as shown. A token with a stray space is refused, and Hetzner reports that the same way as a wrong token.
The token goes straight through to your agent and is sealed there. The platform stores the fact that an integration exists, never the token itself.

Machines arrive by import

Provibr ignores every server it has not been told about, so a fresh integration shows an empty list. Open the integration, run the import, and tick the servers you want in the panel.

That is deliberate: a project usually holds machines that have nothing to do with hosting customers, and adopting them automatically would put them in your capacity count without anyone asking.

What you can do with a machine

Start, stop, a graceful shutdown, removal and a rebuild onto another image. Removal really removes: the machine is gone and the billing stops. A rebuild keeps both the IPv4 address and the IPv6 block.

A graceful shutdown reports success as soon as the ACPI signal has been sent, not once the guest has obeyed. The status may still read running for a few seconds afterwards.

Suspending does not exist, and that is not a gap

Hetzner bills a server for as long as it exists, whether it runs or not. Powering one off therefore costs your customer exactly the same and gains them nothing, so Provibr does not offer it and the licence enforcement will not do it either.

When an account goes over its limit, Provibr says so and refuses new machines, but it will not switch a Hetzner server off. The honest way to free up capacity here is to remove a machine.

What is not there yet

Volumes, firewalls and primary IPs are separate objects at Hetzner, with their own lifetime and their own price. That is why there is no hardware tab, no firewall rules and no address assignment here. There is no pause either: Hetzner has no suspend of its own, so a machine that goes over your capacity is powered off instead.

Robot, the dedicated line at Hetzner, is a separate integration with its own host and its own credentials, and it does not connect yet. When it does it gets its own section on this page: the steps really do differ, so they will stay apart instead of being merged into one set of instructions.