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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,6 @@ hugo/

# IDE files
.idea

# Claude Code local settings
.claude/
40 changes: 39 additions & 1 deletion assets/scss/blocks/_nav.scss
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,10 @@ nav.navbar {
// Sidebar background
.td-sidebar {
background-color: rgba(61, 109, 221, 0.03);
padding-top: 0 !important;

@include media-breakpoint-up(md) {
padding-top: 1rem;
}
}

.td-sidebar-nav {
Expand Down Expand Up @@ -244,3 +247,38 @@ nav.navbar {
color: #3c6ddd !important;
}
}

// Sidebar version switcher
.version-switcher {
display: flex;
gap: 0.5rem;
padding: 0.75rem 1rem;

&__item {
flex: 1;
text-align: center;
padding: 0.35rem 0.75rem;
border-radius: 0.25rem;
font-size: 0.85rem;
font-weight: 600;
color: $cozy-dark-blue;
background: rgba($cozy-dark-blue, 0.05);
border: 1px solid rgba($cozy-dark-blue, 0.2);
text-decoration: none;
transition: background 0.15s, color 0.15s;

&:hover {
background: rgba($cozy-dark-blue, 0.12);
}

&--active {
background: $cozy-dark-blue;
color: $cozy-white;
border-color: $cozy-dark-blue;

&:hover {
background: $cozy-darkest-blue;
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ two years ago was entirely built using this approach. But unfortunately, it does
deploy your very first parent cluster that will hold the others. So now you have prepared a
solution that will help you do this the same using PXE approach.

Essentially, all you need to do is [run temporary]({{% ref "/docs/install/talos/pxe" %}})
Essentially, all you need to do is [run temporary]({{% ref "/docs/v1/install/talos/pxe" %}})
**DHCP** and **PXE** servers inside containers. Then your nodes will boot from your
image, and you can use a simple Debian-flavored script to help you bootstrap your nodes.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ project and development team.
Virtual machines are the primary means of isolating tenants from each other in a cloud environment.
In virtual machines, users can execute code and programs with administrative privilege, but this
doesn't affect other tenants or the environment itself. In other words, virtual machines allow to
achieve [hard multi-tenancy isolation]({{% ref "/docs/guides/concepts#tenant-system" %}}), and run
achieve [hard multi-tenancy isolation]({{% ref "/docs/v1/guides/concepts#tenant-system" %}}), and run
in environments where tenants do not trust each other.

## Virtualization technologies in Kubernetes
Expand Down
28 changes: 20 additions & 8 deletions content/en/docs/_index.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,31 @@
---
title: "Cozystack Documentation"
title: "Choose Documentation Version"
linkTitle: "Documentation"
description: "Free PaaS platform and framework for building clouds"
taxonomyCloud: []
description: "Select the version of Cozystack documentation that matches your installation"
weight: 40
cascade:
type: docs
menu:
main:
weight: 40
aliases:
- /docs/reference
---

Cozystack is a free PaaS platform and framework for building clouds
**New users:** Start with [v1 documentation](/docs/v1/) — the current stable release.

With Cozystack, you can transform your bunch of servers into an intelligent system with a simple REST API for spawning Kubernetes clusters, Database-as-a-Service, virtual machines, load balancers, HTTP caching services, and other services with ease.
**Existing v0.4x users:** Continue with [v0 documentation](/docs/v0/) until you're ready to [upgrade](/docs/v1/operations/upgrades/).

You can use Cozystack to build your own cloud or to provide a cost-effective development environments.
### Check Your Current Version

If you have an existing installation, run:

```bash
kubectl get deployment -n cozy-system
```

- **v1:** You will see a `cozystack-operator` deployment.
- **v0:** You will see a `cozystack` deployment (the legacy installer).
- **Namespace not found:** Cozystack is not installed — start with [v1](/docs/v1/).

**Additional Resources:**
- [Release notes](https://github.com/cozystack/cozystack/releases)
- [v0 to v1 upgrade guide](/docs/v1/operations/upgrades/)
10 changes: 0 additions & 10 deletions content/en/docs/cozystack-api/rest.md

This file was deleted.

5 changes: 0 additions & 5 deletions content/en/docs/operations/services/monitoring/_index.md

This file was deleted.

File renamed without changes.
18 changes: 18 additions & 0 deletions content/en/docs/v0/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: "Cozystack v0 Documentation"
linkTitle: "Cozystack v0"
description: "Free PaaS platform and framework for building clouds"
taxonomyCloud: []
cascade:
type: docs
weight: 20
aliases:
- /docs/v0/reference
- /docs/reference
---

Cozystack is a free PaaS platform and framework for building clouds

With Cozystack, you can transform your bunch of servers into an intelligent system with a simple REST API for spawning Kubernetes clusters, Database-as-a-Service, virtual machines, load balancers, HTTP caching services, and other services with ease.

You can use Cozystack to build your own cloud or to provide a cost-effective development environments.
9 changes: 9 additions & 0 deletions content/en/docs/v0/applications/_include/clickhouse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: "Managed ClickHouse Service"
linkTitle: "ClickHouse"
description: ""
weight: 10
aliases:
- /docs/v0/reference/applications/clickhouse
---

8 changes: 8 additions & 0 deletions content/en/docs/v0/applications/_include/ferretdb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: "Managed FerretDB Service"
linkTitle: "FerretDB"
weight: 20
aliases:
- /docs/v0/reference/applications/ferretdb
---

8 changes: 8 additions & 0 deletions content/en/docs/v0/applications/_include/kafka.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: "Managed Kafka Service"
linkTitle: "Kafka"
weight: 30
aliases:
- /docs/v0/reference/applications/kafka
---

8 changes: 8 additions & 0 deletions content/en/docs/v0/applications/_include/mongodb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: "Managed MongoDB Service"
linkTitle: "MongoDB"
weight: 65
aliases:
- /docs/v0/reference/applications/mongodb
---

8 changes: 8 additions & 0 deletions content/en/docs/v0/applications/_include/mysql.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: "Managed MariaDB Service"
linkTitle: "MariaDB"
weight: 40
aliases:
- /docs/v0/reference/applications/mariadb
---

8 changes: 8 additions & 0 deletions content/en/docs/v0/applications/_include/nats.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: "Managed NATS Service"
linkTitle: "NATS"
weight: 50
aliases:
- /docs/v0/reference/applications/nats
---

8 changes: 8 additions & 0 deletions content/en/docs/v0/applications/_include/postgres.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: "Managed PostgreSQL Service"
linkTitle: "PostgreSQL"
weight: 60
aliases:
- /docs/v0/reference/applications/postgres
---

8 changes: 8 additions & 0 deletions content/en/docs/v0/applications/_include/rabbitmq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: "Managed RabbitMQ Service"
linkTitle: "RabbitMQ"
weight: 70
aliases:
- /docs/v0/reference/applications/rabbitmq
---

8 changes: 8 additions & 0 deletions content/en/docs/v0/applications/_include/redis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: "Managed Redis Service"
linkTitle: "Redis"
weight: 80
aliases:
- /docs/v0/reference/applications/redis
---

8 changes: 8 additions & 0 deletions content/en/docs/v0/applications/_include/tenant.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: "Tenant Application Reference"
linkTitle: "Tenant"
weight: 90
aliases:
- /docs/v0/reference/applications/tenant
---

24 changes: 24 additions & 0 deletions content/en/docs/v0/applications/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: "Managed Applications: Guides and Reference"
linkTitle: "Managed Applications"
description: "Learn how to deploy, configure, access, and backup managed applications in Cozystack."
weight: 45
aliases:
- /docs/v0/components
- /docs/v0/guides/applications
- /docs/applications
- /docs/components
- /docs/guides/applications
---

## Available Application Versions

Cozystack deploys applications in two complementary ways:

- **Operator‑managed applications** – Cozystack bundles a specific version of a Kubernetes Operator that installs and continuously reconciles the application.
As a rule, the operator chooses one of the most recent stable versions of the application by default.

- **Chart‑managed applications** – When no mature operator exists, Cozystack packages an upstream (or in‑house) Helm chart.
The chart’s `appVersion` pin tracks the latest stable upstream release, keeping deployments secure and up‑to‑date.


115 changes: 115 additions & 0 deletions content/en/docs/v0/applications/clickhouse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
---
title: "Managed ClickHouse Service"
linkTitle: "ClickHouse"
description: ""
weight: 10
aliases:
- /docs/v0/reference/applications/clickhouse
- /docs/applications/clickhouse
- /docs/reference/applications/clickhouse
---

<!--
Autogenerated content. Don't edit this file directly; edit sources instead.
metadata: https://github.com/cozystack/website/blob/main/content/en/docs/v0/applications/_include/clickhouse.md
source: https://github.com/cozystack/cozystack/blob/main/packages/apps/clickhouse/README.md
-->


ClickHouse is an open source high-performance and column-oriented SQL database management system (DBMS).
It is used for online analytical processing (OLAP).

### How to restore backup from S3

1. Find the snapshot:

```bash
restic -r s3:s3.example.org/clickhouse-backups/table_name snapshots
```

2. Restore it:

```bash
restic -r s3:s3.example.org/clickhouse-backups/table_name restore latest --target /tmp/
```

For more details, read [Restic: Effective Backup from Stdin](https://blog.aenix.io/restic-effective-backup-from-stdin-4bc1e8f083c1).

## Parameters

### Common parameters

| Name | Description | Type | Value |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ---------- | ------- |
| `replicas` | Number of ClickHouse replicas. | `int` | `2` |
| `shards` | Number of ClickHouse shards. | `int` | `1` |
| `resources` | Explicit CPU and memory configuration for each ClickHouse replica. When omitted, the preset defined in `resourcesPreset` is applied. | `object` | `{}` |
| `resources.cpu` | CPU available to each replica. | `quantity` | `""` |
| `resources.memory` | Memory (RAM) available to each replica. | `quantity` | `""` |
| `resourcesPreset` | Default sizing preset used when `resources` is omitted. | `string` | `small` |
| `size` | Persistent Volume Claim size available for application data. | `quantity` | `10Gi` |
| `storageClass` | StorageClass used to store the data. | `string` | `""` |


### Application-specific parameters

| Name | Description | Type | Value |
| ---------------------- | ------------------------------------------------------------- | ------------------- | ------- |
| `logStorageSize` | Size of Persistent Volume for logs. | `quantity` | `2Gi` |
| `logTTL` | TTL (expiration time) for `query_log` and `query_thread_log`. | `int` | `15` |
| `users` | Users configuration map. | `map[string]object` | `{}` |
| `users[name].password` | Password for the user. | `string` | `""` |
| `users[name].readonly` | User is readonly (default: false). | `bool` | `false` |


### Backup parameters

| Name | Description | Type | Value |
| ------------------------ | ----------------------------------------------- | -------- | ------------------------------------------------------ |
| `backup` | Backup configuration. | `object` | `{}` |
| `backup.enabled` | Enable regular backups (default: false). | `bool` | `false` |
| `backup.s3Region` | AWS S3 region where backups are stored. | `string` | `us-east-1` |
| `backup.s3Bucket` | S3 bucket used for storing backups. | `string` | `s3.example.org/clickhouse-backups` |
| `backup.schedule` | Cron schedule for automated backups. | `string` | `0 2 * * *` |
| `backup.cleanupStrategy` | Retention strategy for cleaning up old backups. | `string` | `--keep-last=3 --keep-daily=3 --keep-within-weekly=1m` |
| `backup.s3AccessKey` | Access key for S3 authentication. | `string` | `<your-access-key>` |
| `backup.s3SecretKey` | Secret key for S3 authentication. | `string` | `<your-secret-key>` |
| `backup.resticPassword` | Password for Restic backup encryption. | `string` | `<password>` |


### ClickHouse Keeper parameters

| Name | Description | Type | Value |
| ---------------------------------- | ------------------------------------------------------------ | ---------- | ------- |
| `clickhouseKeeper` | ClickHouse Keeper configuration. | `object` | `{}` |
| `clickhouseKeeper.enabled` | Deploy ClickHouse Keeper for cluster coordination. | `bool` | `true` |
| `clickhouseKeeper.size` | Persistent Volume Claim size available for application data. | `quantity` | `1Gi` |
| `clickhouseKeeper.resourcesPreset` | Default sizing preset. | `string` | `micro` |
| `clickhouseKeeper.replicas` | Number of Keeper replicas. | `int` | `3` |


## Parameter examples and reference

### resources and resourcesPreset

`resources` sets explicit CPU and memory configurations for each replica.
When left empty, the preset defined in `resourcesPreset` is applied.

```yaml
resources:
cpu: 4000m
memory: 4Gi
```

`resourcesPreset` sets named CPU and memory configurations for each replica.
This setting is ignored if the corresponding `resources` value is set.

| Preset name | CPU | memory |
|-------------|--------|---------|
| `nano` | `250m` | `128Mi` |
| `micro` | `500m` | `256Mi` |
| `small` | `1` | `512Mi` |
| `medium` | `1` | `1Gi` |
| `large` | `2` | `2Gi` |
| `xlarge` | `4` | `4Gi` |
| `2xlarge` | `8` | `8Gi` |
Loading