Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 25 additions & 15 deletions src/content/docs/public-cloud/auto-scaling/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ title: Auto Scaling
Auto-scaling automatically adjusts the number of VM instances in response to real-time demand,
ensuring availability while minimizing costs.

:::caution

Before you begin, you need an existing **[Load Balancer](/public-cloud/load-balancer)** with a
load-balancing rule that has **no instances attached**. An autoscaling group attaches to that rule
to distribute traffic, and user-bound VMs cannot coexist with an autoscale group on the same rule.

:::

### Create an Auto-Scaling Group

- From the left-hand menu, click **Auto-Scaling**.
Expand All @@ -14,20 +22,22 @@ ensuring availability while minimizing costs.

### Steps

1. **Project**: assign to a project.
1. **Project**: select the project.
2. **Location**: select the data center.
3. **Network**: select or create a network.
4. **Load Balancer**: select the load balancer to distribute traffic.
5. **Forwarding Rules**: set public and private port ranges.
6. **Image**: select OS/template.
7. **Plan**: choose CPU, memory, storage.
8. **Server Settings**: set password for instances.
9. **Capacity Planner**: set min/max instance count and grace period (seconds).
10. **Policies**:
- **Scale Up Policy**: triggered when usage exceeds a threshold; adds instances.
- **Scale Down Policy**: triggered when demand drops; removes instances.
- **Expressions**: set Counter, Operator, Threshold for each policy.
- **Scheduled Policies**: scale at specific times instead of reacting to metrics.
11. **Name**: provide a unique name.
12. **Create**: billing cycles: Monthly, Quarterly, Semiannually, Yearly, Bi-annually, Tri-annually.
Click **Create**.
4. **Load Balancer**: select an existing load balancer.
5. **Rule**: select a load-balancing rule with no instances attached.
6. **Image**: select the OS (Linux or Windows) and version.
7. **Storage Type**: select the storage type (for example, `b2.g1` or `b2.g2`).
8. **VM Autoscale Plan**: select an autoscale plan.
9. **Plan**: select a compute plan, or set a custom plan (CPU, memory, storage).
10. **Server Settings**: add an SSH key and a startup script (both optional).
11. **Affinity Groups**: add the instances to an affinity group (optional).
12. **Capacity Planner**: set **Minimum Instances**, **Maximum Instances**, **Expunge VM Grace
Period** (seconds), and **Polling Interval** (seconds).
13. **Scale Up Policy**: add at least one. Set a **Name**, **Duration** (seconds), and **Quiet
Time** (seconds).
14. **Scale Down Policy**: add at least one. Set a **Name**, **Duration** (seconds), and **Quiet
Time** (seconds).
15. **Name**: enter a unique name.
16. **Create**: select a billing cycle and click **Create**.
6 changes: 3 additions & 3 deletions src/content/docs/public-cloud/compute/connect-ssh.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Manage your instance using a terminal and SSH for secure remote access.
Before connecting, ensure you have:

- **IP Address**: Available on the instance card or Instance Overview.
- **Default Username**: Depends on the OS image see the table below.
- **Default Username**: Depends on the OS image; see the table below.
- **Authentication Method**: SSH Key (recommended) or the **Provisioning Password** shown on the
instance's Overview tab (see below).

Expand All @@ -23,7 +23,7 @@ Before connecting, ensure you have:
| Rocky Linux | `rocky` |
| AlmaLinux | `almalinux` |
| CentOS | `centos` |
| Oracle Linux | `opc` |
| Oracle Linux | `cloud-user` |
| Fedora | `fedora` |

If an image has no distribution-specific user, it may use `root`. The exact username is shown in
Expand All @@ -32,7 +32,7 @@ If an image has no distribution-specific user, it may use `root`. The exact user
### Where to find the password

If you deployed without an SSH key, open the instance's **Overview** tab and reveal the
**Provisioning Password** click the eye icon to show it, or the copy icon to copy it. Use it with
**Provisioning Password**: click the eye icon to show it, or the copy icon to copy it. Use it with
the default username above.

![Virtual Machine Overview with the Provisioning Password field highlighted](../../../../assets/compute/provisioning-password.webp)
Expand Down
66 changes: 42 additions & 24 deletions src/content/docs/public-cloud/compute/create-instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,31 @@ Cloud, enabling you to launch and scale servers as needed.

![Starting a new compute instance from the Instances tab](../../../../assets/compute/create-instance-creating-a-compute-instance.webp)

## Assign to a Project

Assign the server to one of your projects to organize resources.

![Assigning the server to a project](../../../../assets/compute/create-instance-assign-to-a-project.webp)

## Choose a Location

Select the data center location where your server will be physically hosted.

![Choosing a data center location](../../../../assets/compute/create-instance-choose-a-location.webp)

## Choose the Type of CPU Allocation

- **Shared CPU**: Affordable, with resources shared among users. Ideal for development, testing, and
low-performance workloads like small websites.
- **Dedicated CPU**: Provides exclusive resources for consistent performance. Perfect for production
environments, high-traffic applications, and databases.
- **High-Frequency Compute**: Offers high clock speeds for compute-intensive tasks like simulations,
financial modeling, and low-latency applications.
- **Cloud GPU**: Delivers GPU acceleration for demanding tasks like machine learning, AI, video
rendering, and scientific simulations.

![Choosing the type of CPU allocation](../../../../assets/compute/create-instance-choose-the-type-of-cpu-allocation.webp)

## Choose an Image

Select an OS or application template. Import a custom ISO if needed.
Expand All @@ -38,18 +57,10 @@ Browse the full catalogs: [OS Images](https://zcp.zsoftly.ca/marketplace/os-imag

![Choosing an operating system image](../../../../assets/compute/create-instance-choose-an-image.webp)

## Choose the Type of CPU Allocation
## Choose a Storage Type

- **Shared CPU**: Affordable, with resources shared among users. Ideal for development, testing, and
low-performance workloads like small websites.
- **Dedicated CPU**: Provides exclusive resources for consistent performance. Perfect for production
environments, high-traffic applications, and databases.
- **High-Frequency Compute**: Offers high clock speeds for compute-intensive tasks like simulations,
financial modeling, and low-latency applications.
- **Cloud GPU**: Delivers GPU acceleration for demanding tasks like machine learning, AI, video
rendering, and scientific simulations.

![Choosing the type of CPU allocation](../../../../assets/compute/create-instance-choose-the-type-of-cpu-allocation.webp)
Choose the storage type for your instance based on your performance needs (for example, `b2.g1` or
`b2.g2`).

## Choose a Plan

Expand All @@ -65,25 +76,32 @@ See [Instance Types](/public-cloud/compute/instance-types) for families and stor

![Choosing a plan](../../../../assets/compute/create-instance-choose-a-plan.webp)

## Assign to a Project

Assign the server to one of your projects to organize resources.

![Assigning the server to a project](../../../../assets/compute/create-instance-assign-to-a-project.webp)

## Choose a Network

- **Public Network**: A simple, pre-configured network for external connectivity. Includes cloud
firewall protection, port forwarding, and remote access VPN.
- **VPC Network**: A Virtual Private Cloud (VPC) offering complete control over traffic routing and
enhanced security. Supports VPN gateway, site-to-site VPN connections, and traffic segregation.

> **Note:** By default, a VPC is created with a random CIDR block and one network tier.
:::note

Choose whether to enable public IPv4.
By default, a VPC is created with a random CIDR block and one network tier.

:::

![Choosing a network](../../../../assets/compute/create-instance-choose-a-network.webp)

## Public IP

Choose whether to enable a public IPv4 address. Enable it if the instance needs to be reachable
directly from the internet. You can also assign one later from the
[Public IPs](/public-cloud/networking/public-network/public-ips) page.

## Affinity Groups

Optionally place the instance in an affinity group to control how instances are distributed across
physical hosts. See [Affinity Groups](/public-cloud/affinity-groups).

## Configure Server Settings

- Add SSH Key for secure access. Click **Add Now**. For some OS images (e.g., Arch Linux) an SSH key
Expand Down Expand Up @@ -117,16 +135,16 @@ Provide a unique Server Name and valid Server Hostname.
## Connect to your instance

Once the instance is running, open **Instance Overview** to get its **IP address**, the **default
username** (depends on the OS image `ubuntu` for Ubuntu, `rocky` for Rocky Linux, and so on; see
[Connect With SSH](/public-cloud/compute/connect-ssh)), andif you did not add an SSH key the
username** (depends on the OS image: `ubuntu` for Ubuntu, `rocky` for Rocky Linux, and so on; see
[Connect With SSH](/public-cloud/compute/connect-ssh)), and, if you did not add an SSH key, the
**Provisioning Password**.

To reach it over SSH (port 22) from the internet, the instance needs a public IP **and** a rule that
allows the traffic. This is not opened automatically:

**Public Network**

- Make sure the instance has a public IPv4 address see
- Make sure the instance has a public IPv4 address; see
[Public IPs](/public-cloud/networking/public-network/public-ips).
- Allow SSH: add a [firewall](/public-cloud/compute/settings/firewall) rule for TCP **22**, then a
[port-forwarding](/public-cloud/compute/settings/port-forwarding) rule mapping port 22 on the
Expand All @@ -141,8 +159,8 @@ allows the traffic. This is not opened automatically:

Then connect:

- **SSH key** use the key you added under _Configure Server Settings_.
- **Password** if you did not add a key, use the **Provisioning Password** from the instance's
- **SSH key**: use the key you added under _Configure Server Settings_.
- **Password**: if you did not add a key, use the **Provisioning Password** from the instance's
Overview tab (see
[Connect With SSH](/public-cloud/compute/connect-ssh#where-to-find-the-password)); change it after
your first login.
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/public-cloud/dns/domains.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ To make ZSoftly authoritative for your domain, replace the name servers at the r

:::caution

Name server changes take up to 24 to 48 hours to propagate globally, and often complete much sooner.
Name server changes take 24 to 48 hours to propagate globally, and often complete much sooner.
During propagation, visitors reach either the old or new DNS. Add your DNS records in ZCP _before_
switching name servers to avoid downtime.

Expand Down
14 changes: 7 additions & 7 deletions src/content/docs/public-cloud/dns/records.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,43 +10,43 @@ your domain's dashboard.

**A Record**: maps a domain to an IPv4 address.

```
```text
@ A 192.0.2.1 14400
```

**AAAA Record**: maps a domain to an IPv6 address.

```
```text
@ AAAA 2001:0db8:85a3::8a2e:0370:7334 14400
```

**CNAME Record**: creates an alias pointing to another domain.

```
```text
blog CNAME example.com. 14400
```

**MX Record**: directs email to a mail server.

```
```text
@ MX 10 mail.example.com. 14400
```

**TXT Record**: stores text data (SPF, DKIM, domain verification).

```
```text
@ TXT "v=spf1 mx -all" 14400
```

**NS Record**: designates authoritative name servers.

```
```text
@ NS ns1.example.com. 14400
```

**SRV Record**: locates a specific service.

```
```text
_sip._tcp SRV 10 60 5060 sipserver.example.com. 14400
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,13 @@ you add is credited to your account as **infra credit you can spend**, so you ke

### Account Credit

New accounts receive **CAD $100 in credit** automatically at sign-up, valid for **30 days**.
New accounts receive **CA$100 in credit** automatically at sign-up, valid for **30 days**.

After you spend **CAD $200** on the platform, you can claim an extra **CAD $200 in credit**: request
it from your account email address through our
After you spend **CA$200** on the platform, you can claim an extra **CA$200 in credit**: request it
from your account email address through our
[contact page](https://zcp.zsoftly.ca/contact?source=docs&topic=billing), including your **account
number** and referencing **"$200 Credit Request"**. We'll apply the **CAD $200** credit to your
account directly, valid for **60 days**, for up to **CAD $300 total**.
number** and referencing **"$200 Credit Request"**. We'll apply the **CA$200** credit to your
account directly, valid for **60 days**, for up to **CA$300 total**.

The credit applies to Small through XLarge plans. The offer is available until **December 31,
2026**.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ sidebar_position: 1
description: Welcome to ZSoftly Cloud Platform (ZCP) documentation.
---

# ZSoftly Cloud Platform (ZCP)

**ZCP** (ZSoftly Cloud Platform) is a cloud infrastructure platform that lets you provision and
manage virtual machines, private networks, block storage, object storage, and Kubernetes clusters
from a single portal.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ sidebar_position: 4
description: Deploy your first VM on ZSoftly Public Cloud in under 10 minutes.
---

# Quickstart

Deploy a VM, connect to it via SSH, and attach a block storage volume. End to end.

## Prerequisites
Expand Down Expand Up @@ -45,7 +43,7 @@ Your VM needs a network. For a simple setup, use a Public Network.
3. Configure:
- **Location**: same as your network
- **Image**: choose an OS (e.g., Ubuntu 24.04)
- **CPU Type**: Shared CPU for testing, Dedicated for production
- **CPU Type**: Shared CPU for dev/test, Dedicated for prd
- **Plan**: General Compute, pick the smallest that fits
- **Project**: assign to your project
- **Network**: select the public network you just created
Expand Down
35 changes: 17 additions & 18 deletions src/content/docs/public-cloud/kubernetes/create-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ cluster's minor version. See [kubectl Access](/public-cloud/kubernetes/kubectl-a

## What you get

- **Managed control plane** ZSoftly runs and maintains the control plane. You focus on workloads.
- **High availability (optional)** add control nodes for a redundant control plane.
- **Autoscaling** set a minimum and maximum worker-node count and the cluster scales to demand.
- **Node plans** choose a fixed plan (set CPU, memory, and storage) or a custom plan (your own
- **Managed control plane**: ZSoftly runs and maintains the control plane. You focus on workloads.
- **High availability (optional)**: add control nodes for a redundant control plane.
- **Autoscaling**: set a minimum and maximum worker-node count and the cluster scales to demand.
- **Node plans**: choose a fixed plan (set CPU, memory, and storage) or a custom plan (your own
sizing and node count).
- **Persistent volumes** dynamically provisioned block storage through the cluster's CSI driver.
- **Load balancers** expose a `Service` of type `LoadBalancer` and reach it on a public address.
- **Standard tooling** works with `kubectl`, Helm, and the Kubernetes dashboard. Download a
- **Persistent volumes**: dynamically provisioned block storage through the cluster's CSI driver.
- **Load balancers**: expose a `Service` of type `LoadBalancer` and reach it on a public address.
- **Standard tooling**: works with `kubectl`, Helm, and the Kubernetes dashboard. Download a
`kubeconfig` from the portal.
- **In-place version upgrades** and optional **SSH access** to the nodes.

Expand All @@ -43,29 +43,28 @@ cluster's minor version. See [kubectl Access](/public-cloud/kubernetes/kubectl-a

### Steps

1. **Location**: select the data center.
2. **Project**: assign to a project.
3. **Network**: select an existing private network, or create a new one.
4. **Cluster Capacity**:
1. **Project**: assign to a project.
2. **Location**: select the data center.
3. **Cluster Capacity**:
- Select a predefined **Node Plan** (fixed CPU/memory/storage)
- Or use a **Custom Plan** (specify CPU, memory, storage, and node count)
5. **Advanced Settings** (optional):
4. **Advanced Settings** (optional):
- Enable **High Availability** for redundancy
- Add **Control Nodes** for additional stability
- Add an **SSH Key** for node access
6. **Cluster Name**: provide a unique name.
7. **Create**:
5. **Cluster Name**: provide a unique name.
6. **Create**:
Comment thread
coderabbitai[bot] marked this conversation as resolved.
- Billing cycles: Hourly, Monthly, Quarterly, Semiannually, Yearly, Bi-annually, Tri-annually
- Billing rules: Date to Date, Fixed Calendar Month, Unfixed Calendar Month, Fixed Prorata,
Unfixed Prorata
- Click **Create Cluster**

![Create Kubernetes Cluster form: location, project, network, capacity, advanced settings, name, and billing](../../../../assets/kubernetes/create-cluster-steps.webp)
![Create Kubernetes Cluster form: project, location, capacity, advanced settings, name, and billing](../../../../assets/kubernetes/create-cluster-steps.webp)

## After you create

- [Connect with kubectl](/public-cloud/kubernetes/kubectl-access) download your `kubeconfig` and
- [Connect with kubectl](/public-cloud/kubernetes/kubectl-access): download your `kubeconfig` and
run your first commands.
- [Cluster Overview](/public-cloud/kubernetes/cluster-overview) scale, upgrade, and manage the
- [Cluster Overview](/public-cloud/kubernetes/cluster-overview): scale, upgrade, and manage the
cluster.
- [Dashboard Access](/public-cloud/kubernetes/dashboard-access) use the web dashboard.
- [Dashboard Access](/public-cloud/kubernetes/dashboard-access): use the web dashboard.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ This starts a local server at `http://localhost:8001`.

### Open the Dashboard

```
```text
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
```

Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/public-cloud/load-balancer/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ reliability, and improved performance.

### Steps

1. **Location**: select the data center.
2. **Project**: assign to a project.
1. **Project**: assign to a project.
2. **Location**: select the data center.
3. **Network**: select the network where the load balancer will operate.
4. **IP**: choose an **Existing IP** or **Acquire New IP** (creates a default isolated IP in the
selected zone).
Expand Down
Loading
Loading