# Cloud Compute

> Run KVM virtual machines with their own disk, public address and console, billed by the hour or the month.

Source: https://www.coritan.com/docs/cloud-compute/

In the dashboard:

- /solutions/cloud: https://www.coritan.com/solutions/cloud
- /dashboard/compute: https://www.coritan.com/dashboard/compute

Cloud Compute gives you a KVM virtual machine with its own disk, operating system, public IP address and display console. You choose the image it starts from, get full root access and install what you like. The dashboard calls each one an *instance*.

Use it when you want to run the whole machine yourself. If you would rather we install and run the software for you, use [Container Apps](/docs/managed-containers/) instead.

## Your instances

Select **Cloud Compute** in the [dashboard](https://www.coritan.com/dashboard/compute) sidebar to open its page. It lists every instance on your account, newest first. Each card shows the hostname, status, address, location and image, with rings for **CPU**, **Memory** and **Disk** use. A **Rescue** badge marks an instance that is booted into rescue media.

- Filter the list with **All**, **Running**, **Stopped** or **Suspended**, or select a tag to see only the instances that carry it. **Clear** removes the tag filter.
- Type in the search box to find an instance by name, address, image or location.
- Select **Order instance** to open the [order page](/docs/cloud-compute/create-an-instance/), where you can also add floating IPs and a DDoS Shield profile to the order.

Select an instance's hostname to open it. The header shows its status, image, plan, location and address, how long it has been up, and the power buttons. **Copy address** copies the address. The tabs below the header hold everything else, and each has a page here.

The public page at `https://www.coritan.com/solutions/cloud` describes the product. The order page shows the plans, images and locations you can actually order.

## What you can do

Get started:

- [Create an instance](/docs/cloud-compute/create-an-instance/)
- [Operating system images](/docs/cloud-compute/images/): what each image gives you and who you sign in as
- [Connect to an instance over SSH](/docs/cloud-compute/connect-to-an-instance/)

Run the instance:

- [Start, stop and restart an instance](/docs/cloud-compute/power/)
- [Use an instance's console](/docs/cloud-compute/console/), the **Console** tab
- [Manage an instance's password, SSH keys and hostname](/docs/cloud-compute/access/), the **Access** tab
- [Rebuild an instance](/docs/cloud-compute/rebuild/) onto a fresh image
- [Repair an instance in rescue mode](/docs/cloud-compute/rescue-mode/), the **Rescue** tab

Protect your data:

- [Take and roll back instance snapshots](/docs/cloud-compute/snapshots/), the **Snapshots** tab
- [Back up and restore an instance](/docs/cloud-compute/backups/), the **Backups** tab

Network and usage:

- [Manage an instance's addresses and names](/docs/cloud-compute/networking/), the **Network** tab
- [How instance traffic is counted](/docs/cloud-compute/traffic/)
- [Read an instance's graphs](/docs/cloud-compute/graphs/), the **Graphs** tab

Plan and settings:

- [Change an instance's plan or cancel it](/docs/cloud-compute/billing/), the **Billing** tab
- [Rename and tag an instance](/docs/cloud-compute/settings/), the **Settings** tab

Reference:

- [Cloud Compute limits](/docs/cloud-compute/limits/)
- [Troubleshoot instances](/docs/cloud-compute/troubleshooting/)

## How instances are billed

Each instance is a service on the plan and billing cycle you chose when you ordered it. The plan sets the vCPU, memory, disk and monthly traffic allowance, and the order page shows its price for each cycle it sells. Hourly plans draw on your account credit as the instance runs, as [How hourly billing works](/docs/billing/hourly-billing/) explains.

One public IPv4 address comes with each instance at no charge while it stays attached as the instance's primary address. More addresses and subnets are [Floating IPs](/docs/floating-ips/), billed as services of their own. [Billing](/docs/billing/) covers invoices, credit and payment.

## Limits

- The size you order sets each instance's vCPU, memory, disk and monthly traffic allowance. It stays with the instance: for another size, move to a new instance, as [Get a different size](/docs/cloud-compute/billing/#get-a-different-size) describes.
- An instance holds up to 8 snapshots and up to 16 backups.
- Power actions, backups, restores and rebuilds are rate limited per instance. [Cloud Compute limits](/docs/cloud-compute/limits/) lists every limit.

## With the API

`GET /api/v1/client/vps` lists the instances on your account, newest first. Add `?tag=` with one of your tags to list only the instances that carry it.

```bash
curl https://api.coritan.com/api/v1/client/vps \
  -H "Authorization: Bearer $CORITAN_TOKEN"
```

Each item carries the instance's `uuid`, `hostname`, `status`, `power_state` and `ip_address`, its size (`cpu_cores`, `memory_mb`, `disk_gb`, `traffic_tb`), `template_name` for its image, `location_name`, and `tags`. It also carries the service behind it: `service_id`, `service_status`, `billing_cycle`, `next_due_date` and `product_name`. Use the `uuid` in every other instance request.

`status` is one of `creating`, `running`, `stopped`, `suspended`, `error` or `migrating`. `power_state` is `running`, `stopped`, `paused` or `unknown`.

`GET /api/v1/client/vps/{uuid}` returns one instance with the same fields, plus `rescue_mode` and `rescue_iso`, the image's `os_family`, `os_version` and `username`, and `migration`. `migration` is `null` unless we are moving the instance to another host, and most changes answer `409` while a move runs.

```bash
curl https://api.coritan.com/api/v1/client/vps/$INSTANCE_UUID \
  -H "Authorization: Bearer $CORITAN_TOKEN"
```

An instance that is not on your account, or that has been cancelled and removed, answers `404` with `Cloud Compute instance not found`.

## API

- `GET /api/v1/client/vps`: List all VPS instances owned by the current user (https://www.coritan.com/docs/api/reference/client/cloud-compute/#op-get-api-v1-client-vps)
- `GET /api/v1/client/vps/{uuid}`: Get VPS instance details including template metadata (https://www.coritan.com/docs/api/reference/client/cloud-compute/#op-get-api-v1-client-vps-uuid)
