Skip to content

Providers and servers

Provider commands answer two different questions: what the market offers, and what exists in your account. Public research can run without credentials where the provider exposes public pricing; account inventory and mutations require a configured credential.

Provider research

Terminal window
vops providers list
vops providers capabilities hetzner
vops providers locations hetzner
vops providers plans ovh
vops providers prices ovh
vops providers availability hetzner
vops compare

providers list is the authoritative capability and provisioning-gate summary for the installed version. Current integrations include Hetzner, Scaleway, Contabo, OVH and Cherry Servers, with different billing and network capabilities.

Use --refresh on commands that expose it to bypass the local provider cache.

Server plans

Planning resolves the plan, location, image, SSH key and estimated cost into a local vops.plan.v1 artifact:

Terminal window
vops servers plan \
--provider hetzner \
--plan cx23 \
--location fsn1 \
--ssh-key deploy \
--out ./vops-plan.json

If no image is given, the command defaults to Ubuntu 24.04. The output also states whether the billing gate allows vops to create the resource.

Validate the plan without spending:

Terminal window
vops servers create --from-plan ./vops-plan.json --dry-run

Create only after review:

Terminal window
vops servers create --from-plan ./vops-plan.json --yes

For a guidance-only provider, creation prints the steps the user must take and does not place the order.

Inventory and deletion

Terminal window
vops servers list --provider hetzner
vops servers show <server-id> --provider hetzner
vops servers delete <server-id> --provider hetzner --yes

Deletion is restricted to resources marked as vops-managed. --force can permit deletion of a running owned resource; it does not bypass the ownership check.

Provider-native firewalls

Hetzner and Scaleway expose a usable native firewall path:

Terminal window
vops firewall list --provider hetzner
vops firewall create \
--provider hetzner \
--name web \
--rules '<json-array>' \
--dry-run
vops firewall create \
--provider hetzner \
--name web \
--rules '<json-array>' \
--yes

The show, rules, apply and delete commands complete the lifecycle. For providers without a usable native firewall, use the unified vops host firewall path after registering the server as a host.

Private networks

Terminal window
vops vnet list --provider ovh
vops vnet create --help
vops vnet subnet --help
vops vnet route --help
vops vnet attach --help

Private-network operations are capability-dependent. Ask vops providers capabilities <provider> before assuming a provider supports the entire topic.