Documentation. Build with Sigilhosting.

API reference, SDK guides, CLI documentation, Terraform provider, and Ansible collection. Everything you need to manage infrastructure programmatically.

Quick Start Guide

Get from zero to a running server in under 5 minutes. This guide covers CLI installation, authentication, and your first deployment.

Prerequisites

You'll need a Sigilhosting account. Sign up at sigilhosting.com/register — no credit card required. You get $100 free trial credit.

Install the CLI

The Sigilhosting CLI is a single binary with zero dependencies.

BASHCopy
brew install sigilhosting/tap/sigilhosting

# Or download manually
curl -sL https://cli.sigilhosting.com/install.sh | sh
BASHCopy
# Debian / Ubuntu
sudo apt-get update && sudo apt-get install -y sigilhosting

# Fedora / RHEL
sudo dnf install sigilhosting

# Arch Linux
pacman -S sigilhosting

# Universal installer
curl -sL https://cli.sigilhosting.com/install.sh | sh
POWERSHELLCopy
# Via Scoop
scoop bucket add sigilhosting https://github.com/sigilhosting/scoop-bucket
scoop install sigilhosting

# Via winget
winget install Sigilhosting.CLI

# Via Chocolatey
choco install sigilhosting
BASHCopy
docker pull sigilhosting/cli:latest
docker run -it --rm sigilhosting/cli:latest server list

Verify your installation:

BASHCopy
$ sigilhosting version
sigilhosting 2.14.0 (build 2024-11-15, go1.22.5)

Authenticate

Generate an API token from Console → API Keys, then:

BASHCopy
$ sigilhosting auth login
  Enter your API token: hvm_live_xxxxxxxxxxxxxxxxxx
  ✓ Authenticated as user@example.com
  ✓ Default region set to us-east-1

Or set the environment variable:

BASHCopy
export SIGILHOSTING_TOKEN="hvm_live_xxxxxxxxxxxxxxxxxx"
TipUse sigilhosting auth switch to manage multiple profiles — useful for separating personal and team accounts.

Deploy your first server

BASHCopy
$ sigilhosting server create \
    --plan starter \
    --region us-east-1 \
    --image ubuntu-24.04 \
    --ssh-key deploy \
    --label my-first-server

  Creating server... done (11.2s)

  ID:       vps-7xk2m9
  Label:    my-first-server
  IPv4:     198.51.100.42
  IPv6:     2001:db8::42
  Plan:     Starter (1 vCPU, 1 GB, 25 GB NVMe)
  Region:   us-east-1 (New York)
  Status:   running

SSH into your server

BASHCopy
$ sigilhosting ssh vps-7xk2m9
  root@my-first-server:~#

# Or use standard SSH
$ ssh root@198.51.100.42

Clean up

BASHCopy
$ sigilhosting server delete vps-7xk2m9
  Delete server vps-7xk2m9 (my-first-server)? [y/N] y
  ✓ Server deleted. No further charges.
BillingServers are billed by the hour. Starter costs $0.007/hr — a 10-minute test costs less than a penny.

What's next?

  • Explore the CLI Reference for all available commands
  • Set up Private Networking between servers
  • Deploy a Kubernetes cluster with managed control plane
  • Configure Terraform for infrastructure as code
  • Read the API Reference for programmatic access

CLI Reference

Complete command reference for the Sigilhosting CLI. Every API operation is available as a CLI command.

Global flags

FlagDescriptionDefault
--tokenAPI token (overrides config)Config file
--regionTarget regionus-east-1
--outputFormat: table, json, yaml, csvtable
--no-colorDisable colored outputfalse
--verboseShow request/response detailsfalse
--quietSuppress non-error outputfalse

sigilhosting server

Manage cloud VPS instances.

BASHCopy
# List all servers
sigilhosting server list
sigilhosting server list --region eu-west-1
sigilhosting server list --output json

# Create a server
sigilhosting server create \
    --plan pro \
    --region us-east-1 \
    --image ubuntu-24.04 \
    --ssh-key deploy \
    --label web-prod-1 \
    --vpc vpc-abc123 \
    --firewall fw-web \
    --backups enabled \
    --user-data @cloud-init.yaml

# Server lifecycle
sigilhosting server stop vps-7xk2m9
sigilhosting server start vps-7xk2m9
sigilhosting server reboot vps-7xk2m9
sigilhosting server rebuild vps-7xk2m9 --image debian-12
sigilhosting server resize vps-7xk2m9 --plan scale
sigilhosting server delete vps-7xk2m9

# Info & access
sigilhosting server info vps-7xk2m9
sigilhosting server console vps-7xk2m9
sigilhosting ssh vps-7xk2m9
sigilhosting server history vps-7xk2m9

sigilhosting dedicated

Manage dedicated (bare metal) servers.

BASHCopy
# List available configurations
sigilhosting dedicated configs

# Order a dedicated server
sigilhosting dedicated create \
    --cpu epyc-9454 \
    --ram 128gb \
    --disk 2x1920gb-nvme \
    --network 10gbps-unmetered \
    --region us-east-1 \
    --os ubuntu-24.04

# Management
sigilhosting dedicated list
sigilhosting dedicated info ded-8fk2p3
sigilhosting dedicated power-cycle ded-8fk2p3
sigilhosting dedicated ipmi ded-8fk2p3
sigilhosting dedicated reinstall ded-8fk2p3 --os rocky-9

sigilhosting k8s

Manage Kubernetes clusters.

BASHCopy
# Create cluster
sigilhosting k8s create \
    --name production \
    --version 1.30 \
    --region us-east-1 \
    --node-pool default:3:pro

# Manage
sigilhosting k8s list
sigilhosting k8s kubeconfig production
sigilhosting k8s upgrade production --version 1.31

# Node pools
sigilhosting k8s pool add production \
    --name gpu-workers --size 2 --plan gpu-a100
sigilhosting k8s pool scale production default --size 5
sigilhosting k8s pool delete production gpu-workers

sigilhosting network

BASHCopy
# VPCs
sigilhosting vpc create --name backend --region us-east-1 --subnet 10.0.0.0/16
sigilhosting vpc list
sigilhosting vpc peer vpc-abc123 vpc-def456

# Floating IPs
sigilhosting ip create --region us-east-1
sigilhosting ip assign ip-a1b2c3 vps-7xk2m9
sigilhosting ip unassign ip-a1b2c3

# Firewalls
sigilhosting firewall create --name web-rules
sigilhosting firewall rule add fw-web \
    --direction in --protocol tcp --port 80,443 --source 0.0.0.0/0
sigilhosting firewall rule add fw-web \
    --direction in --protocol tcp --port 22 --source 203.0.113.0/24
sigilhosting firewall apply fw-web vps-7xk2m9

sigilhosting dns

BASHCopy
# Zones
sigilhosting dns zone create example.com
sigilhosting dns zone list
sigilhosting dns zone import example.com --file bind.zone
sigilhosting dns zone export example.com

# Records
sigilhosting dns record add example.com --type A --name @ --value 198.51.100.42 --ttl 300
sigilhosting dns record add example.com --type AAAA --name @ --value 2001:db8::42
sigilhosting dns record add example.com --type MX --name @ --value "10 mail.example.com"
sigilhosting dns record add example.com --type CNAME --name www --value example.com
sigilhosting dns record add example.com --type TXT --name @ --value "v=spf1 include:_spf.sigilhosting.com ~all"
sigilhosting dns record list example.com
sigilhosting dns record delete example.com rec-abc123

sigilhosting domain

BASHCopy
# Search & register
sigilhosting domain search example
sigilhosting domain register example.com --years 1 --whois-privacy
sigilhosting domain transfer example.com --auth-code EPP123ABC

# Management
sigilhosting domain list
sigilhosting domain info example.com
sigilhosting domain renew example.com --years 1
sigilhosting domain nameservers example.com --set ns1.sigilhosting.com,ns2.sigilhosting.com
sigilhosting domain lock example.com

sigilhosting lb

BASHCopy
# Create load balancer
sigilhosting lb create \
    --name web-lb \
    --region us-east-1 \
    --algorithm round-robin \
    --health-check http:/health --interval 10

# Targets
sigilhosting lb target add web-lb vps-7xk2m9 --port 8080
sigilhosting lb target add web-lb vps-abc123 --port 8080
sigilhosting lb target remove web-lb vps-7xk2m9

# Rules
sigilhosting lb rule add web-lb --listen 443 --target 8080 --protocol https --cert cert-abc
sigilhosting lb rule add web-lb --listen 80 --target 8080 --protocol http

Authentication

Every API request requires authentication. Sigilhosting uses bearer tokens with granular scoping and automatic rotation support.

API tokens

Generate tokens in Console → API Keys. Each token can be scoped:

ScopePermissionsUse case
full_accessAll operationsAdmin, CI/CD
computeServer CRUD, snapshots, backupsDeployment scripts
networkVPC, firewall, DNS, floating IPNetwork automation
dnsDNS zones and records onlyACME / cert-manager
read_onlyGET requests onlyMonitoring, dashboards
billingInvoice, usage, payment methodsFinance tools

Using tokens

BASHCopy
curl -H "Authorization: Bearer hvm_live_xxxxxxxxxx" \
     https://api.sigilhosting.com/v1/servers
BASHCopy
# Interactive login (stores in ~/.config/sigilhosting/config.yaml)
sigilhosting auth login

# Direct token
sigilhosting --token hvm_live_xxx server list

# Multiple profiles
sigilhosting auth add --name production --token hvm_live_xxx
sigilhosting auth add --name staging --token hvm_live_yyy
sigilhosting auth switch production
BASHCopy
export SIGILHOSTING_TOKEN="hvm_live_xxxxxxxxxxxxxxxxxx"
export SIGILHOSTING_REGION="eu-west-1"  # optional default region
SecurityNever commit tokens to version control. Use environment variables or a secrets manager. Tokens prefixed hvm_test_ have no access to production resources.

Token rotation

Rotate tokens without downtime:

BASHCopy
# Generate new token (old stays valid 24 hours)
sigilhosting auth rotate

# Explicitly revoke old token
sigilhosting auth revoke hvm_live_old_token

OAuth2 (Teams)

For team integrations, Sigilhosting supports OAuth2 authorization code flow. Register your application in Console → Settings → OAuth Apps.

TEXTCopy
Authorization URL:  https://auth.sigilhosting.com/oauth/authorize
Token URL:          https://auth.sigilhosting.com/oauth/token
Scopes:             compute network dns billing read

SDKs & Libraries

Official client libraries for popular languages. All open-source and published to standard package registries.

Python

BASHCopy
pip install sigilhosting
PYTHONCopy
import sigilhosting

client = sigilhosting.Client(token="hvm_live_xxx")

# Create a server
server = client.servers.create(
    plan="pro",
    region="us-east-1",
    image="ubuntu-24.04",
    ssh_keys=["deploy"],
    label="web-prod-1",
    vpc="vpc-abc123"
)

print(f"Server {server.id} ready at {server.ipv4}")

# List all servers
for s in client.servers.list():
    print(f"{s.label:20} {s.ipv4:15} {s.status}")

# Async support
import asyncio
async def main():
    async with sigilhosting.AsyncClient(token="hvm_live_xxx") as client:
        servers = await client.servers.list()
        tasks = [client.servers.delete(s.id) for s in servers if s.label.startswith("temp-")]
        await asyncio.gather(*tasks)

asyncio.run(main())

Node.js / TypeScript

BASHCopy
npm install @sigilhosting/sdk
JAVASCRIPTCopy
import { Sigilhosting } from "@sigilhosting/sdk";

const client = new Sigilhosting({ token: "hvm_live_xxx" });

// Create a server
const server = await client.servers.create({
  plan: "pro",
  region: "us-east-1",
  image: "ubuntu-24.04",
  sshKeys: ["deploy"],
  label: "web-prod-1"
});

console.log(`Server ${server.id} ready at ${server.ipv4}`);

// Stream events
for await (const event of client.events.stream()) {
  console.log(`[${event.type}] ${event.resource}: ${event.status}`);
}

Go

BASHCopy
go get github.com/sigilhosting/sigilhosting-go
GOCopy
package main

import (
    "context"
    "fmt"
    "github.com/sigilhosting/sigilhosting-go"
)

func main() {
    client := sigilhosting.NewClient("hvm_live_xxx")
    ctx := context.Background()

    server, err := client.Servers.Create(ctx, &sigilhosting.ServerCreateRequest{
        Plan:   "pro",
        Region: "us-east-1",
        Image:  "ubuntu-24.04",
        Label:  "web-prod-1",
    })
    if err != nil {
        panic(err)
    }
    fmt.Printf("Server %s ready at %s\n", server.ID, server.IPv4)
}

Ruby

BASHCopy
gem install sigilhosting
RUBYCopy
require "sigilhosting"

client = Sigilhosting::Client.new(token: "hvm_live_xxx")

server = client.servers.create(
  plan: "pro",
  region: "us-east-1",
  image: "ubuntu-24.04",
  label: "web-prod-1"
)

puts "Server #{server.id} ready at #{server.ipv4}"

PHP

BASHCopy
composer require sigilhosting/sigilhosting-php

Cloud VPS

Deploy high-performance virtual servers with dedicated vCPU, NVMe storage, and 10 Gbps networking across 28 global regions.

Plans

PlanvCPUMemoryNVMeTransferPrice
Starter1 core1 GB25 GB1 TB$5/mo · $0.007/hr
Builder2 cores4 GB80 GB3 TB$12/mo · $0.018/hr
Pro4 cores8 GB160 GB5 TB$24/mo · $0.036/hr
Scale8 cores32 GB320 GB10 TB$48/mo · $0.071/hr
Enterprise16 cores64 GB500 GBUnmetered$96/mo · $0.143/hr
IncludedAll plans include DDoS protection, automated daily backups, private networking, and IPv4 + IPv6 addresses at no additional cost.

Available images

ImageSlugEnd of Life
Ubuntu 24.04 LTSubuntu-24.04Apr 2029
Ubuntu 22.04 LTSubuntu-22.04Apr 2027
Debian 12debian-12Jun 2028
Rocky Linux 9rocky-9May 2032
Fedora 40fedora-40May 2025
Arch Linuxarch-latestRolling
Alpine 3.20alpine-3.20Nov 2026
FreeBSD 14freebsd-14Mar 2029
ImageSlugStack
WordPresswordpressNginx, MariaDB, PHP 8.3, WP-CLI
LAMPlamp-ubuntuApache, MySQL 8, PHP 8.3
LEMPlemp-ubuntuNginx, MySQL 8, PHP 8.3
Node.jsnodejs-ubuntuNode 22 LTS, Yarn, PM2
Dockerdocker-ubuntuDocker CE, Compose v2
GitLab CEgitlabGitLab CE, Nginx, PostgreSQL
PlausibleplausiblePlausible Analytics, ClickHouse

Upload your own images in raw, qcow2, or VMDK format:

BASHCopy
sigilhosting image upload \
    --file ubuntu-custom.qcow2 \
    --name "Ubuntu Custom" \
    --description "Base with monitoring"

sigilhosting image list --type custom
sigilhosting server create --image img-custom-abc123 --plan pro

Regions

RegionSlugLocationPlans
New Yorkus-east-1Secaucus, NJAll
Los Angelesus-west-1El Segundo, CAAll
Dallasus-south-1Dallas, TXAll
Chicagous-north-1Chicago, ILStarter–Scale
Amsterdameu-west-1Amsterdam, NLAll
Frankfurteu-cent-1Frankfurt, DEAll
Londoneu-north-1London, UKAll
Singaporeap-se-1Singapore, SGAll
Tokyoap-ne-1Tokyo, JPAll
Sydneyap-south-1Sydney, AUStarter–Pro
São Paulosa-east-1São Paulo, BRStarter–Pro
Torontoca-east-1Toronto, CAAll

Backups & snapshots

Automated daily backups retained for 7 days. Manual snapshots at any time:

BASHCopy
sigilhosting server snapshot vps-7xk2m9 --name "pre-upgrade"
sigilhosting server restore vps-7xk2m9 --snapshot snap-abc123
sigilhosting snapshot list
sigilhosting server create --image snap-abc123 --plan pro

Cloud-init / user data

Pass cloud-init config at creation to automate setup:

YAMLCopy
#cloud-config
package_update: true
packages:
  - nginx
  - certbot
  - fail2ban

runcmd:
  - systemctl enable --now nginx
  - ufw allow "Nginx Full"
  - ufw allow OpenSSH
  - ufw --force enable
BASHCopy
sigilhosting server create --plan pro --image ubuntu-24.04 --user-data @cloud-init.yaml

Dedicated Servers

Single-tenant bare metal with full hardware control. No hypervisor overhead, no noisy neighbors.

CPU configurations

ProcessorCores/ThreadsBase/BoostL3 CacheTDPPrice
AMD EPYC 925424C/48T2.9/4.15 GHz128 MB200W$89/mo
AMD EPYC 945448C/96T2.75/3.8 GHz256 MB290W$179/mo
AMD EPYC 965496C/192T2.4/3.55 GHz384 MB360W$349/mo
Intel Xeon w9-3495X56C/112T1.9/4.8 GHz105 MB350W$399/mo

Memory options

ConfigurationTypeSpeedPrice
64 GB (4×16 GB)DDR5 ECC4800 MT/sIncluded
128 GB (4×32 GB)DDR5 ECC4800 MT/s+$40/mo
256 GB (8×32 GB)DDR5 ECC4800 MT/s+$120/mo
512 GB (8×64 GB)DDR5 ECC4800 MT/s+$280/mo

Provisioning times

  • In-stock configurations: 15–60 minutes
  • Custom configurations: 2–4 hours
  • Special orders: 1–5 business days

IPMI / Remote management

BASHCopy
sigilhosting dedicated ipmi ded-8fk2p3
sigilhosting dedicated console ded-8fk2p3
sigilhosting dedicated power-on ded-8fk2p3
sigilhosting dedicated power-off ded-8fk2p3
sigilhosting dedicated power-cycle ded-8fk2p3

GPU Instances

NVIDIA A100 and H100 GPU servers with pre-installed ML stack for training, inference, and rendering.

Configurations

GPUVRAMvCPURAMNVMePrice
1× A10080 GB HBM2e12120 GB500 GB$2.50/hr
2× A100160 GB HBM2e24240 GB1 TB$4.80/hr
4× A100320 GB HBM2e48480 GB2 TB$9.20/hr
8× A100 (DGX)640 GB HBM2e96960 GB4 TB$17.60/hr
1× H10080 GB HBM316200 GB1 TB$3.80/hr
8× H100 (DGX)640 GB HBM31281.5 TB8 TB$28.50/hr

Pre-installed stack

  • NVIDIA Driver 550.x, CUDA 12.4, cuDNN 9.x
  • PyTorch 2.4, TensorFlow 2.16, JAX 0.4
  • Jupyter Lab with GPU monitoring extension
  • conda environment with common ML libraries
  • Docker + NVIDIA Container Toolkit
  • NVLink / NVSwitch for multi-GPU configs
BASHCopy
sigilhosting gpu create --config a100-1x --region us-east-1
sigilhosting gpu jupyter gpu-abc123
sigilhosting ssh gpu-abc123
nvidia-smi

Kubernetes

Managed Kubernetes with free control plane. Pay only for worker nodes. Certified conformant, auto-upgrading.

Cluster creation

BASHCopy
sigilhosting k8s create \
    --name production \
    --version 1.30 \
    --region us-east-1 \
    --node-pool "default:3:pro" \
    --node-pool "gpu:2:gpu-a100"

Supported versions

VersionStatusEnd of Support
1.30CurrentFeb 2026
1.29SupportedOct 2025
1.28DeprecatedJun 2025

Integrated add-ons

BASHCopy
sigilhosting k8s addon list
sigilhosting k8s addon install production metrics-server
sigilhosting k8s addon install production cert-manager
sigilhosting k8s addon install production nginx-ingress
sigilhosting k8s addon install production sigilhosting-csi
sigilhosting k8s addon install production external-dns

Auto-scaling

YAMLCopy
# cluster-autoscaler.yaml
apiVersion: autoscaling.sigilhosting.com/v1
kind: NodePoolAutoscaler
spec:
  nodePool: default
  minNodes: 2
  maxNodes: 10
  scaleDown:
    enabled: true
    delay: 10m
    utilizationThreshold: 0.5

Kubeconfig

BASHCopy
sigilhosting k8s kubeconfig production > ~/.kube/config
kubectl get nodes
kubectl get pods --all-namespaces

Load Balancers

Layer 4 and Layer 7 load balancing with health checks, SSL termination, sticky sessions, and WebSocket support.

FeatureL4 (TCP/UDP)L7 (HTTP/HTTPS)
AlgorithmsRound Robin, Least ConnRound Robin, Least Conn, IP Hash
SSLPassthroughFull termination + Let's Encrypt
Health ChecksTCP port checkHTTP path + status code
Sticky SessionsSource IPCookie-based
Proxy Protocolv1, v2X-Forwarded-For
Price$12/mo per load balancer
BASHCopy
sigilhosting lb create \
    --name web-lb \
    --region us-east-1 \
    --type http \
    --algorithm round-robin \
    --health-check "http:/health:10:3:5" \
    --ssl-cert auto \
    --domains example.com,www.example.com \
    --listen "443:8080:https" \
    --listen "80:8080:http:redirect-https" \
    --target vps-7xk2m9 \
    --target vps-abc123

Private Networks (VPC)

Isolated Layer 2 networks between your servers within a region. Zero-cost internal traffic.

Create a VPC

BASHCopy
sigilhosting vpc create --name backend --region us-east-1 --subnet 10.0.0.0/16
sigilhosting vpc attach backend vps-7xk2m9
sigilhosting vpc attach backend vps-abc123
sigilhosting ssh vps-7xk2m9
ping 10.0.0.2  # reaches vps-abc123

Subnet planning

CIDRUsable IPsRecommended for
10.0.0.0/24254Small deployments
10.0.0.0/204,094Medium deployments
10.0.0.0/1665,534Large deployments

VPC peering

BASHCopy
# Same region (free)
sigilhosting vpc peer vpc-abc123 vpc-def456

# Cross-region ($0.01/GB)
sigilhosting vpc peer vpc-abc123 vpc-ghi789 --cross-region
Architecture tipUse separate VPCs for different tiers: frontend (10.1.0.0/16), backend (10.2.0.0/16), database (10.3.0.0/16). Peer them selectively for isolation.

Firewalls

Stateful packet-filtering firewalls applied at the hypervisor level. Rules enforced before traffic reaches your server.

BASHCopy
sigilhosting firewall create --name web-rules

# Allow HTTP/HTTPS from anywhere
sigilhosting firewall rule add web-rules \
    --direction in --protocol tcp --port 80,443 \
    --source 0.0.0.0/0 --action accept

# Allow SSH from your IP only
sigilhosting firewall rule add web-rules \
    --direction in --protocol tcp --port 22 \
    --source 203.0.113.42/32 --action accept

# Allow internal VPC traffic
sigilhosting firewall rule add web-rules \
    --direction in --protocol all \
    --source 10.0.0.0/16 --action accept

# Default deny inbound
sigilhosting firewall rule add web-rules \
    --direction in --protocol all \
    --source 0.0.0.0/0 --action drop

# Apply to servers
sigilhosting firewall apply web-rules vps-7xk2m9 vps-abc123

Rules are evaluated top-to-bottom. First matching rule wins. Default is deny.

WarningAlways include an SSH allow rule before applying a firewall, or you may lock yourself out. Use sigilhosting server console to recover.

Floating IPs

Static IP addresses that can be reassigned between servers instantly. Perfect for failover and blue-green deployments.

BASHCopy
sigilhosting ip create --region us-east-1 --label production-ip
sigilhosting ip assign ip-a1b2c3 vps-7xk2m9
sigilhosting ip reassign ip-a1b2c3 vps-newserver  # instant failover
sigilhosting ip delete ip-a1b2c3
FeatureDetails
Price$3/mo per IP (free when assigned to a server)
IPv4One public IPv4 per floating IP
IPv6/64 block per floating IP
Failover time< 30 seconds
PTR recordsConfigurable via API

DNS Management

Anycast DNS with sub-3-second propagation across 16 global nodes. Free for all customers.

Supported record types

TypeDescriptionExample
AIPv4 address198.51.100.42
AAAAIPv6 address2001:db8::42
CNAMECanonical name aliaswww → example.com
MXMail exchange10 mail.example.com
TXTText recordv=spf1 include:...
NSNameserver delegationns1.sigilhosting.com
SRVService locator0 5 5269 xmpp.example.com
CAACertificate authority auth0 issue "letsencrypt.org"
ALIASCNAME-like at zone apex@ → lb-abc.sigilhosting.com

Zone import & export

BASHCopy
sigilhosting dns zone import example.com --file zone.db
sigilhosting dns zone export example.com > zone.db
sigilhosting dns zone import example.com --from cloudflare --api-key xxx

Domain Registration

Register domains across 500+ TLDs with free WHOIS privacy and auto-renewing SSL.

Pricing

TLDRegisterRenewTransfer
.com$11.99/yr$13.99/yr$11.99
.net$13.99/yr$15.99/yr$13.99
.org$12.99/yr$14.99/yr$12.99
.io$39.99/yr$39.99/yr$39.99
.dev$14.99/yr$14.99/yr$14.99
.co$29.99/yr$29.99/yr$29.99
.cloud$9.99/yr$12.99/yr$9.99
IncludedAll domains include free WHOIS privacy protection and auto-renewing SSL certificates via Let's Encrypt.

SSL Certificates

Free auto-renewing SSL via Let's Encrypt, or bring your own certificates.

BASHCopy
# Auto-provision (requires DNS pointed to Sigilhosting)
sigilhosting ssl auto example.com
sigilhosting ssl auto example.com --wildcard  # *.example.com
sigilhosting ssl list
sigilhosting ssl info cert-abc123

Custom certificates

BASHCopy
sigilhosting ssl upload \
    --cert cert.pem \
    --key key.pem \
    --chain chain.pem \
    --name "Wildcard 2025"

sigilhosting lb ssl web-lb --cert cert-abc123

WHOIS Privacy

Free WHOIS privacy protection on all domains. Your personal information replaced with proxy details in the public WHOIS database.

FieldWithout privacyWith privacy
Registrant nameYour full nameSigilhosting Privacy Protection
EmailYour emailproxy-xxxxx@whois.sigilhosting.com
PhoneYour phone+1.2198745722
AddressYour address200 Winski Dr, Michigan City, IN

API Overview

The Sigilhosting API is a RESTful JSON API at https://api.sigilhosting.com/v1. All endpoints require Bearer token authentication.

Base URL

https://api.sigilhosting.com/v1

Authentication

BASHCopy
curl -H "Authorization: Bearer hvm_live_xxx" \
     -H "Content-Type: application/json" \
     https://api.sigilhosting.com/v1/servers

Pagination

List endpoints return paginated results. Use page and per_page parameters.

X-Total: 142
X-Total-Pages: 3
X-Page: 2
X-Per-Page: 50
Link: <https://api.sigilhosting.com/v1/servers?page=3>; rel="next"

Rate limits

Endpoint typeLimitWindow
Read (GET)300 requestsPer minute
Write (POST/PUT/DELETE)60 requestsPer minute
Authentication10 requestsPer minute

Compute Endpoints

Create, manage, and destroy compute resources.

Servers

GET/v1/serversList all servers
POST/v1/serversCreate a server
GET/v1/servers/:idGet server details
PUT/v1/servers/:idUpdate server
DELETE/v1/servers/:idDelete server
POST/v1/servers/:id/startStart server
POST/v1/servers/:id/stopStop server
POST/v1/servers/:id/rebootReboot server
POST/v1/servers/:id/rebuildRebuild from image
POST/v1/servers/:id/resizeResize plan
POST/v1/servers/:id/snapshotCreate snapshot

Create server — parameters

planstringrequiredPlan slug: starter, builder, pro, scale, enterprise
regionstringrequiredRegion slug: us-east-1, eu-west-1, etc.
imagestringrequiredImage slug or snapshot ID
ssh_keysstring[]optionalArray of SSH key names or IDs
labelstringoptionalHuman-readable label (max 64 chars)
vpcstringoptionalVPC ID to attach to
backupsbooleanoptionalEnable daily backups (default: true)
user_datastringoptionalCloud-init config (base64 or raw)
tagsstring[]optionalTags for organization and filtering

Kubernetes

GET/v1/kubernetesList clusters
POST/v1/kubernetesCreate cluster
GET/v1/kubernetes/:idGet cluster
DELETE/v1/kubernetes/:idDelete cluster
GET/v1/kubernetes/:id/kubeconfigGet kubeconfig
POST/v1/kubernetes/:id/poolsCreate node pool

Load Balancers

GET/v1/load-balancersList LBs
POST/v1/load-balancersCreate LB
GET/v1/load-balancers/:idGet LB details
PUT/v1/load-balancers/:idUpdate LB
DELETE/v1/load-balancers/:idDelete LB
POST/v1/load-balancers/:id/targetsAdd target

Network Endpoints

Manage VPCs, firewalls, and floating IPs.

VPCs

GET/v1/vpcsList VPCs
POST/v1/vpcsCreate VPC
DELETE/v1/vpcs/:idDelete VPC
POST/v1/vpcs/:id/membersAttach server
POST/v1/vpcs/peerCreate peering

Firewalls

GET/v1/firewallsList firewalls
POST/v1/firewallsCreate firewall
POST/v1/firewalls/:id/rulesAdd rule
DELETE/v1/firewalls/:id/rules/:ridRemove rule
POST/v1/firewalls/:id/applyApply to servers

Floating IPs

GET/v1/floating-ipsList
POST/v1/floating-ipsAllocate
DELETE/v1/floating-ips/:idRelease
POST/v1/floating-ips/:id/assignAssign to server
POST/v1/floating-ips/:id/unassignUnassign

DNS Endpoints

Manage DNS zones and records.

GET/v1/dns/zonesList zones
POST/v1/dns/zonesCreate zone
GET/v1/dns/zones/:domainGet zone
DELETE/v1/dns/zones/:domainDelete zone
GET/v1/dns/zones/:domain/recordsList records
POST/v1/dns/zones/:domain/recordsCreate record
PUT/v1/dns/zones/:domain/records/:idUpdate record
DELETE/v1/dns/zones/:domain/records/:idDelete record

Domain Endpoints

Register, transfer, and manage domains.

GET/v1/domainsList domains
POST/v1/domains/searchSearch availability
POST/v1/domains/registerRegister domain
POST/v1/domains/transferInitiate transfer
GET/v1/domains/:domainGet domain
POST/v1/domains/:domain/renewRenew
PUT/v1/domains/:domain/nameserversUpdate NS

Errors & Rate Limits

Standard HTTP status codes with structured error responses.

HTTP status codes

CodeMeaningCommon causes
200OKRequest succeeded
201CreatedResource created
204No ContentSuccessful delete
400Bad RequestInvalid parameters, malformed JSON
401UnauthorizedMissing or invalid token
403ForbiddenToken lacks required scope
404Not FoundResource doesn't exist
429Too Many RequestsRate limit exceeded
500Internal ErrorServer-side error (contact support)

Error codes

CodeDescription
invalid_parameterA parameter value is invalid or missing
server_not_foundThe specified server does not exist
region_unavailableRegion temporarily unavailable
quota_exceededAccount resource quota reached
insufficient_fundsAccount balance too low
action_in_progressAnother action already running on resource
domain_unavailableDomain is already registered
rate_limitedToo many requests — retry after reset

Terraform Provider

Infrastructure as code with the official Sigilhosting Terraform provider.

Installation

HCLCopy
terraform {
  required_providers {
    sigilhosting = {
      source  = "sigilhosting/sigilhosting"
      version = "~> 2.0"
    }
  }
}

provider "sigilhosting" {
  token = var.sigilhosting_token  # or SIGILHOSTING_TOKEN env var
}

Deploy a VPS

HCLCopy
resource "sigilhosting_server" "web" {
  label    = "web-prod-1"
  plan     = "pro"
  region   = "us-east-1"
  image    = "ubuntu-24.04"
  ssh_keys = [sigilhosting_ssh_key.deploy.id]
  vpc      = sigilhosting_vpc.backend.id
  backups  = true
  tags     = ["production", "web"]
}

resource "sigilhosting_ssh_key" "deploy" {
  name       = "deploy"
  public_key = file("~/.ssh/id_ed25519.pub")
}

resource "sigilhosting_vpc" "backend" {
  name   = "backend"
  region = "us-east-1"
  subnet = "10.0.0.0/16"
}

Available resources

ResourceDescription
sigilhosting_serverCloud VPS instance
sigilhosting_dedicatedDedicated server
sigilhosting_k8s_clusterKubernetes cluster
sigilhosting_k8s_poolNode pool within cluster
sigilhosting_load_balancerLoad balancer
sigilhosting_vpcPrivate network
sigilhosting_firewallFirewall with rules
sigilhosting_floating_ipFloating IP address
sigilhosting_dns_zoneDNS zone
sigilhosting_dns_recordDNS record
sigilhosting_domainRegistered domain
sigilhosting_ssl_certSSL certificate
sigilhosting_ssh_keySSH public key
sigilhosting_snapshotServer snapshot

Ansible Collection

Automate Sigilhosting infrastructure with the official Ansible collection.

BASHCopy
ansible-galaxy collection install sigilhosting.cloud

Inventory plugin

YAMLCopy
# sigilhosting.yml
plugin: sigilhosting.cloud.sigilhosting
regions:
  - us-east-1
  - eu-west-1
groups:
  web: "'web' in tags"
  database: "'db' in tags"

Playbook example

YAMLCopy
---
- name: Deploy web stack
  hosts: localhost
  collections:
    - sigilhosting.cloud
  tasks:
    - name: Create VPC
      sigilhosting_vpc:
        name: app-network
        region: us-east-1
        subnet: 10.0.0.0/16
      register: vpc

    - name: Create web servers
      sigilhosting_server:
        label: "web-{{ item }}"
        plan: pro
        region: us-east-1
        image: ubuntu-24.04
        vpc: "{{ vpc.id }}"
        ssh_keys: [deploy]
        state: present
      loop: [1, 2, 3]
      register: servers

GitHub Actions

Deploy to Sigilhosting from your CI/CD pipeline with official GitHub Actions.

Deploy on push

YAMLCopy
# .github/workflows/deploy.yml
name: Deploy to Sigilhosting
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Sigilhosting CLI
        uses: sigilhosting/setup-cli@v2
        with:
          token: ${{ secrets.SIGILHOSTING_TOKEN }}

      - name: Deploy application
        run: |
          sigilhosting server list --tag production --output json | \
            jq -r '.[].ipv4' | \
            while read ip; do
              ssh root@$ip "cd /app && git pull && docker compose up -d"
            done

      - name: Verify
        run: |
          sleep 10
          curl -f https://example.com/health || exit 1

Billing & Invoices

Hourly billing with monthly invoices. No contracts, no minimums, no hidden fees.

How billing works

  • Resources billed per-hour from creation to deletion
  • Monthly invoices generated on the 1st
  • Prepaid credit applied first; overage charged to payment method
BASHCopy
sigilhosting billing usage
sigilhosting billing invoices
sigilhosting billing invoice inv-202601 --download
sigilhosting billing payment-methods
sigilhosting billing credit add --amount 100
sigilhosting billing usage --group-by resource
sigilhosting billing usage --group-by region

Teams & Permissions

Invite team members with role-based access control.

RoleServersNetworkDNSBillingTeam mgmt
OwnerFullFullFullFullFull
AdminFullFullFullViewInvite/remove
DeveloperFullFullFullNoneNone
OperatorStart/StopViewEdit recordsNoneNone
ViewerViewViewViewNoneNone
BillingNoneNoneNoneFullNone
BASHCopy
sigilhosting team invite user@example.com --role developer
sigilhosting team list
sigilhosting team update user@example.com --role admin
sigilhosting team remove user@example.com

Rate Limits & Quotas

Default account quotas and API rate limits. Contact support to increase.

Resource quotas

ResourceDefaultMax (on request)
VPS instances25500
Dedicated servers550
Kubernetes clusters520
Load balancers1050
Floating IPs10100
VPCs per region525
Firewalls1050
DNS zones50500
DNS records per zone50010,000
Registered domains1005,000
Snapshots25100
SSH keys50200
API tokens1050

API rate limits

TypeLimitWindowBurst
GET (list/read)3001 minute50
POST/PUT/PATCH601 minute10
DELETE301 minute5
Auth endpoints101 minute3
Increasing limitsOpen a support ticket at Console → Support or email limits@sigilhosting.com with your account ID and desired limits.