Skip to content
Coritan Docs

Manage your customers' instances

See the Cloud Compute instances your customers run, and start, stop, reboot or inspect one for them.

View as Markdown

The Cloud Compute tab lists the Cloud Compute instances behind your organization's services, with their power state as it is now. Owners and admins can start, reboot and stop them from the tab. The API adds rebuilds, snapshots, backups, rescue mode, the console and password resets. Your customers manage their own instances from your storefront, as Let customers run Cloud Compute instances describes.

  • Every member can see the tab. Power actions, and every change through the API, need the owner or admin role.
  • An instance appears once a customer orders one of your products that is linked to Cloud Compute. Set up products and pricing explains linked products.

The cards at the top count your Instances and how many are running, and add up their vCPU, Memory and Storage. The table shows for each instance:

  • Instance: its hostname, IP address, operating system and location.
  • Power: whether it is running or stopped, and how long it has been up. The state updates by itself while the page is open.
  • Service: the status of the service it belongs to.
  • Size: its vCPU, memory and disk.
  • Created: when it was created.

Select Refresh at the top of the table to load everything again.

Start, reboot or stop an instance

Section titled Start, reboot or stop an instance
  1. In the dashboard, open the organization, then Cloud Compute.
  2. When the instance is stopped, select Start in its row.
  3. When it is running, open Power in its row and choose an action, then confirm it:
    • Reboot asks the operating system to restart. Anything unsaved inside it is lost.
    • Shut down asks the operating system to power off cleanly.
    • Force stop cuts the power at once, like pulling the plug. Use it only when the instance does not respond to Shut down.

The row shows the new state a moment later. Power controls are off while the service is suspended or the instance is moving to another host.

"Instance is suspended"
The service is suspended. Unsuspend it first.
"Instance is migrating"
Coritan is moving the instance to another host. Try again when it has finished.
"Cloud Compute instance not found"
The instance does not belong to one of your organization's services, or it has been terminated.
No instances yet
No customer has ordered a product linked to Cloud Compute.

Reads take any member's access token; changes take the owner or admin role. {uuid} is the instance's uuid from the list.

Shell
curl "https://api.coritan.com/api/v1/orgs/acme/vps" \
  -H "Authorization: Bearer $CORITAN_TOKEN"

Start, reboot or stop an instance. action is start, reboot, shutdown or stop (force stop):

Shell
curl -X POST "https://api.coritan.com/api/v1/orgs/acme/vps/{uuid}/power" \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "reboot"}'

Read an instance (the paths are under /api/v1/orgs/acme/vps):

Operation What it returns
GET /templates The operating system templates you can rebuild onto, with their id, name, os_family, os_version, default_username and minimum size.
GET /{uuid} The instance, with its template name and default username, and any move in progress as migration.
GET /{uuid}/status Its power state now, with its uptime and usage.
GET /{uuid}/config Its configuration, without secrets.
GET /{uuid}/guest What the operating system reports about itself.
GET /{uuid}/graphs Usage over timeframe: hour (the default), day, week, month or year.
GET /{uuid}/bandwidth Its traffic use.
GET /{uuid}/ips Its IP addresses.
GET /{uuid}/console A session for its browser console.
GET /{uuid}/snapshots Its snapshots.
GET /{uuid}/backups Its backups.
GET /{uuid}/rescue/media The rescue images you can boot it from, each with a volid.

Change an instance (owner or admin):

Operation Body What it does
POST /{uuid}/rebuild template_id Reinstalls the instance from a template. This erases its disk and sets a new password; get one with a password reset.
POST /{uuid}/reset-password none Sets a new password and returns it as password.
PATCH /{uuid}/hostname hostname, reboot Renames it. With reboot set to true, a running instance restarts to use the name.
PUT /{uuid}/ssh-keys ssh_keys Replaces its SSH public keys, one per line. An empty string removes them all.
POST /{uuid}/cloud-init/regenerate none Applies its user, password, hostname and network settings again at boot.
POST /{uuid}/snapshots name, description, vmstate Takes a snapshot. name starts with a letter and has up to 40 letters, digits, hyphens or underscores. vmstate set to true saves the memory too. An instance holds up to 8 snapshots.
POST /{uuid}/snapshots/{snapshot_id}/rollback none Returns the instance to a snapshot.
DELETE /{uuid}/snapshots/{snapshot_id} none Deletes a snapshot.
POST /{uuid}/backups note, mode Starts a backup. mode is snapshot (the default), suspend or stop.
POST /{uuid}/backups/{backup_id}/restore none Restores a backup over the instance.
DELETE /{uuid}/backups/{backup_id} none Deletes a backup.
POST /{uuid}/rescue/enter iso_volid Boots the instance from a rescue image.
POST /{uuid}/rescue/exit none Takes the rescue image out and restarts the instance from its own disk.

A suspended instance answers 403 with "Instance is suspended" to most changes, and an instance on the move answers 409 with "Instance is migrating". One backup or restore runs at a time; another answers 409.

API operations on this page

MethodPathWhat it does
GET/api/v1/orgs/{org_slug}/vpsOrg list instances
GET/api/v1/orgs/{org_slug}/vps/templatesOrg list templates
GET/api/v1/orgs/{org_slug}/vps/{uuid}Org get instance
GET/api/v1/orgs/{org_slug}/vps/{uuid}/backupsOrg list backups
POST/api/v1/orgs/{org_slug}/vps/{uuid}/backupsOrg create backup
DELETE/api/v1/orgs/{org_slug}/vps/{uuid}/backups/{backup_id}Org delete backup
POST/api/v1/orgs/{org_slug}/vps/{uuid}/backups/{backup_id}/restoreOrg restore backup
GET/api/v1/orgs/{org_slug}/vps/{uuid}/bandwidthOrg bandwidth
POST/api/v1/orgs/{org_slug}/vps/{uuid}/cloud-init/regenerateOrg regenerate cloud init
GET/api/v1/orgs/{org_slug}/vps/{uuid}/configOrg config
GET/api/v1/orgs/{org_slug}/vps/{uuid}/consoleOrg console
GET/api/v1/orgs/{org_slug}/vps/{uuid}/graphsOrg graphs
GET/api/v1/orgs/{org_slug}/vps/{uuid}/guestOrg guest
PATCH/api/v1/orgs/{org_slug}/vps/{uuid}/hostnameOrg hostname
GET/api/v1/orgs/{org_slug}/vps/{uuid}/ipsOrg IPs
POST/api/v1/orgs/{org_slug}/vps/{uuid}/powerOrg power
POST/api/v1/orgs/{org_slug}/vps/{uuid}/rebuildOrg rebuild
POST/api/v1/orgs/{org_slug}/vps/{uuid}/rescue/enterOrg rescue enter
POST/api/v1/orgs/{org_slug}/vps/{uuid}/rescue/exitOrg rescue exit
GET/api/v1/orgs/{org_slug}/vps/{uuid}/rescue/mediaOrg rescue media
POST/api/v1/orgs/{org_slug}/vps/{uuid}/reset-passwordOrg reset password
GET/api/v1/orgs/{org_slug}/vps/{uuid}/snapshotsOrg list snapshots
POST/api/v1/orgs/{org_slug}/vps/{uuid}/snapshotsOrg create snapshot
DELETE/api/v1/orgs/{org_slug}/vps/{uuid}/snapshots/{snapshot_id}Org delete snapshot
POST/api/v1/orgs/{org_slug}/vps/{uuid}/snapshots/{snapshot_id}/rollbackOrg rollback snapshot
PUT/api/v1/orgs/{org_slug}/vps/{uuid}/ssh-keysOrg SSH keys
GET/api/v1/orgs/{org_slug}/vps/{uuid}/statusOrg status