Commit 0f1d0347 authored by kiaplayer's avatar kiaplayer
Browse files

1.0.0: Postgres-ai

No related merge requests found
Showing with 35 additions and 32 deletions
+35 -32
......@@ -3,18 +3,19 @@
## Инфо
Данная роль устанавливает и конфигурирует Postgres AI.
Postgres AI - это ПО позволяющее создавать и использовать
снапшоты баз данных Postgress для нужд тестирования, и экономя дисковое пространство.
Подробнее https://postgres.ai/
Postgres AI - это ПО, позволяющее создавать и использовать
снапшоты баз данных PostgreSQL для нужд тестирования
(при этом экономя дисковое пространство).
Подробнее: https://postgres.ai/
## Установка
Перед запуском роли необходимо установить зависимости в виде
ролей:
Перед запуском роли необходимо установить зависимости в виде ролей:
```yaml
- role: zfs
- role: docker
```
Также установить следующие переменные:
Также необходимо задать следующие переменные:
```yaml
---
# Данный селектор применяется в основном в рантайме, т.к. если в списке присутствуют пулы, он произведет очистку разделов с базами данных
......@@ -22,48 +23,50 @@
# Токен для доступа к api, используется для создания клонов БД
pg_ai_api_key: "secret_token"
# Словарь пулов которые необходимо добавить
pg_ai_zpools:
# Название пула
dblab_pool:
# Список дампов и баз которые необходимо всстановить
bases:
- dump: 'dump.sql'
name: 'def'
# Порт по которому будут создаваться подключения
port: '2345'
# Ключ для доступа к API
api_key: "secret_token"
# Директория в которой лежат дайлы дампов БД
# Словарь пулов, которые необходимо добавить
pg_ai_zpools:
# Название пула
dblab_pool:
# Список дампов и баз, которые необходимо восстановить
bases:
- dump: 'dump.sql'
name: 'def'
# Порт, по которому будут создаваться подключения
port: '2345'
# Ключ для доступа к API
api_key: "secret_token"
# Директория, в которой лежат дайлы дампов БД
pg_ai_dumps_path: '/tmp/dumps'
# Образ сервера БД который будет использован для восстановления БД
# Образ сервера БД, который будет использован для восстановления БД
pg_ai_restore_image: 'postgres:13-alpine'
# Путь в котором располодены пулы zfs
# Путь, в котором располодены пулы zfs
pg_ai_zpool_path: '/var/lib/dblab'
# Образ сервера с которого будет создан сервер Postgres ai
# Образ сервера, с которого будет создан сервер Postgres ai
pg_ai_dblab_image: 'postgresai/dblab-server:2.5.0'
```
## Создание новых
Для инициализации соеденения с dblab сервером нужно вызвать следующую комманду:
## Создание новых клонов БД
Для инициализации соединения с dblab-сервером нужно вызвать следующую команду:
```bash
dblab init \
--environment-id=tutorial \ # Название окружения, используется в основном для взаимодействия с несколькими серверами
--url=http://localhost:2345 \ # Ссылка по которой доступен сервер
--token=secret_token \ # Токен, указывается в соответствуещей переменной
--insecure # Используется для указания отсутсвия ssl шифрования
--url=http://localhost:2345 \ # Ссылка, по которой доступен сервер
--token=secret_token \ # Токен, указывается в соответствующей переменной
--insecure # Используется для указания отсутсвия ssl-шифрования
```
Базы создаются при помощи клиенского приложения:
```bash
dblab clone create \
--username dblab_user_1 \ # пользователь postgres для доступа
--password secret_password \ # пользователь postgres для доступа
--id my_first_clone # id клона(имя)
--username dblab_user_1 \ # пользователь для доступа
--password secret_password \ # пароль пользователя для доступа
--id my_first_clone # id клона (имя)
```
Пример вывода комманды:
Пример вывода команды:
```json
{
"id": "botcmi54uvgmo17htcl0",
......
......@@ -64,7 +64,7 @@
- "{{ pg_ai_zpool_path }}:/var/lib/dblab/:rshared"
- "{{ pg_ai_zpool_path }}/{{ db_pool }}/dump:/var/lib/dblab/dblab_pool/dump"
- "/etc/postgres-ai/{{ db_pool }}/configs:/home/dblab/configs:ro"
- "/etc/engine_{{ db_pool }}/meta:/home/dblab/meta"
- "/etc/postgres-ai/{{ db_pool }}/meta:/home/dblab/meta"
- "/lib/modules:/lib/modules:ro"
- "/proc:/host_proc:ro"
env:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment