Skip to content

Commit

Permalink
Elasticsearch backup and generic backup page
Browse files Browse the repository at this point in the history
  • Loading branch information
Jan Saidl committed Dec 23, 2024
1 parent 4b933bf commit 8e9db42
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 0 deletions.
7 changes: 7 additions & 0 deletions apps/docs/content/elasticsearch/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,13 @@ envSecrets:
- **Note**: To increase available memory, adjust the service's RAM allocation in scaling configuration <!-- fixme (js) add link to generic scaling page -->
- **Important**: Changes to HEAP_PERCENT require a service restart to take effect

## Backup

- **Format:** .gz
- **Implementation:** Created using elasticdump and compressed using gzip

For detailed information about backup configuration and management, see [Backup Management](/features/backup)

## Example Configuration

```yaml
Expand Down
50 changes: 50 additions & 0 deletions apps/docs/content/features/backup.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Backup data
description: Learn how you can work with backups in Zerops works.
---

Zerops provides data backup for certain services. The data is stored in S3 storage.

## Frequency and volume

By default, your data is backed up automatically **every day** between 00:00:00 UTC and 01:00:00 UTC, unless you update your settings:

### In GUI

Following changes are available in Zerops GUI. Go to the service detail and choose **Backups List & Configuration** section in the left menu.

- do a one-time backup of your data
- change time of your automatic backup
- turn off backing up your data completely
- view all of your backups
- download a backup
- delete a backup

### Via API

- do a one-time backup of your data
- change time of your automatic backup

### Limits

- Each backup is stored for a maximum period of **1 month**.
- For each **service** a maximum of **100 backups** is stored.
- For each **project** a maximum of **25 GiB** of backup volume is stored. Only full backups are stored, the backup that exceeds the limit by its part is not stored.

#### Examples

1. If you backup your data every day, and the total volume is less than 25 GiB, the maximum number of backups is ~30 for the last month. A new backup is stored every day (with the oldest one being deleted), unless you exceed the 25 GiB limit.
2. If you backup your data every hour, and the total volume is less than 25 GiB, the total number of backups is 100 for the last 100 hours. A new backup is stored every hour (with the oldest one being deleted), unless you exceed the 25 GiB limit.
3. If you backup your data every hour, and your backups exceed 25 GiB after 50 hours, the total number of backups is 50, unless you delete some of your backups or wait the oldest one is older than 1 month.

## Persistence

Let's say you have a project `my-project`, which contains a MariaDB service `db` with backups.

If you delete `db` service, but not `my-project` project, the service backups are kept untouched. The backups will be deleted only after you also delete a project `my-project`. After you delete the project, all project backups are deleted after 7 days.

## Security

All backups are stored in a separate S3 instance, isolated from the instance accessible by users.

A unique encryption key is created for every project and each backup of the project is encrypted with this key.
9 changes: 9 additions & 0 deletions apps/docs/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,15 @@ module.exports = {
},
className: 'homepage-sidebar-item',
},
{
type: 'doc',
id: 'features/backup',
label: 'Backup',
customProps: {
sidebar_icon: 'currency-dollar',
},
className: 'homepage-sidebar-item',
},
// {
// type: 'doc',
// id: 'features/remote-dev',
Expand Down

0 comments on commit 8e9db42

Please sign in to comment.