name: postgres
service_id: 90
service_display_name: PostgreSQL
service_short_name: postgres
service_man: '# Инструкция по развертыванию PostgreSQL через платформу
---
## 1. Общая информация
PostgreSQL — это надёжная объектно-реляционная СУБД с открытым исходным кодом, поддерживающая расширенный набор функций, транзакции и хранение сложных типов данных. Развёртывание полностью автоматизировано платформой на базе Zalando Postgres Operator с использованием Kubernetes.
## Доступные операции
- **create** — Создание кластера
- **delete** — Удаление кластера
- **modify** — Модификация кластера
- **suspend** — Остановка кластера
- **resume** — Запуск кластера
- **restart** — Перезапуск кластера
- **recovery** — Восстановление из резервной копии
- **create_user** — Создание пользователя
- **delete_user** — Удаление пользователя
- **create_database** — Создание базы данных
- **delete_database** — Удаление базы данных
---
## 2. Параметры развертывания кластера
Ниже перечислены параметры, которые необходимо указать при создании ресурса PostgreSQL:
* **Платформа для развертывания:**
Платформа для развертывания (среда, в которой будет развернут кластер). Пример: `k8s-3.ext.nubes.ru`.
* **Количество узлов в сети:**
Количество инстансов (реплик) в кластере PostgreSQL. Пример: `2` (master + slave).
* **Квота (megabyte) памяти пода:**
Квота памяти пода в мегабайтах. Пример: `2048`
* **Квота (millicore) ядра пода:**
Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `1000`
* **Размер (gigabyte) диска для базы данных:**
Размер диска для хранения данных в гигабайтах. Пример: `20`
* **Выделяет внешний IP для доступа к master:**
Флаг, определяющий, нужно ли выделять внешний IP для доступа к master. Пример: `true` или `false`
* **Имя ipSpace для публикации внешнего IP master:**
Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`
* **Выделяет внешний IP для доступа к slave:**
Флаг для выделения внешнего IP для slave (реплики чтения). Работает, если slave присутствует в кластере.
* **Имя ipSpace для публикации внешнего IP slave:**
Если включен параметр для slave, то поле необходимо заполнить.
* **UUID экземпляра услуги S3:**
UUID экземпляра S3 для хранения резервных копий.
* **Версия PostgreSQL:**
Версия PostgreSQL для развертывания. Пример: `16`
* **Расписание бэкапов (ext_BACKUP_SCHEDULE):**
Необязательный. Cron-выражение для времени запуска бэкапов. По умолчанию: `0 0 * * *` (ежедневно в полночь).
* **Количество сохраняемых бэкапов (ext_BACKUP_NUM_TO_RETAIN):**
Необязательный. Количество сохраняемых бэкапов. По умолчанию: `7`
* **PgPooler (master / slave):**
Флаги включения PgBouncer для подключений на запись и чтение. При включении создаётся отдельный под.
* **Разрешить подключение без SSL (allowNoSSL):**
По умолчанию подключение с sslmode=require. При `true` разрешается подключение без SSL.
* **Автоскейлинг PV (autoScale):**
Включает автоскейлинг тома. Требует настройки autoScalePercentage, autoScaleTechWindow, autoScaleQuotaGb.
* **Дополнительные параметры PostgreSQL (jsonParameters):**
JSON с переменными конфигурации PostgreSQL. Документация: https://www.postgresql.org/docs/current/runtime-config.html
---
## 3. Выходные параметры
После успешного развертывания ресурса PostgreSQL платформа возвращает ряд параметров.
#### externalConnect
Внешние эндпоинты для подключения к кластеру:
- **master** — для операций записи (host: `write.${namespace}`, port: 5432)
- **slave** — для операций чтения (host: `read.${namespace}`, port: 5432)
Пример ответа платформы:
```json
{
"slave": {
"ip": "",
"fqdn": "",
"uuid": "",
"isExternal": false
},
"master": {
"ip": "<ip>",
"fqdn": "write.<namespace>.<cluster-domain>",
"uuid": "<uuid>",
"isExternal": false
}
}
```
Поля: `ip` — внешний IP; `fqdn` — полное имя хоста; `uuid` — идентификатор; `isExternal` — признак внешнего доступа.
#### internalConnect
Внутренние эндпоинты (FQDN) для подключения из других сервисов внутри той же сети Kubernetes.
Пример ответа платформы:
```json
{
"slave": "",
"master": {
"slave": "",
"master": {
"slave": "",
"master": "postgresqlk8s-master.<namespace>.svc.cluster.local"
}
}
}
```
Для подключения используйте значение `master.master.master` (host для записи) или соответствующее значение slave (host для чтения).
Для подключения используется порт **5432**.
---
## 4. Управление пользователями
### create_user — Создание пользователя
* **Имя пользователя (username):**
Имя создаваемого пользователя. Используется для подключения к базе и настройки прав.
Пример: `myapp_user`
* **Роль (role):**
Тип роли пользователя. Допустимые значения:
- `app_user` — базовые права для DML-операций (SELECT, INSERT, UPDATE, DELETE)
- `ddl_user` — расширенные права: createdb, createrole (управление базами и ролями)
Защищённые имена, которые нельзя использовать: `admin`, `postgres`, `standby`.
### delete_user — Удаление пользователя
* **Имя пользователя (username):**
Имя удаляемого пользователя. Пример: `myapp_user`
Пользователя нельзя удалить, если он является владельцем базы данных. Сначала удалите или передайте владение базами данных другому пользователю.
---
## 5. Управление базами данных
### create_database — Создание базы данных
* **Имя базы данных (dbName):**
Название создаваемой базы данных. Пример: `myapp_db`
* **Владелец базы данных (dbOwner):**
Имя пользователя-владельца базы. Должен существовать в кластере (создан через create_user). Пример: `myapp_user`
### delete_database — Удаление базы данных
* **Имя базы данных (dbName):**
Название удаляемой базы данных. Пример: `myapp_db`
'
lifecycle:
suspend_on_destroy_default: true
adopt_existing_on_create_default: false
outputs:
params:
- code: state_params
type: map
- code: state_out
type: map
- code: state_params_flat
type: map
- code: state_out_flat
type: map
- code: vault_secrets
type: map
sensitive: true
- code: vault_url
type: string
- code: vault_user_path
type: string
- code: vault_fields
type: list
operations:
- name: create
id: 19
kind: instance
action: create
man: руководство
params:
- id: 788
code: clusterConfiguration
data_type: map-fixed
required: true
sort: 20
is_modifiable: true
sub_params:
- id: 106
code: replicas
data_type: integer > 0
required: true
default: "1"
value_list:
- "1"
- "3"
- "5"
- "7"
is_modifiable: false
- id: 107
code: disk
data_type: integer > 0
required: true
default: "10"
man: Указывается в GIGAbytes
is_modifiable: false
- id: 104
code: cpu
data_type: integer > 0
required: true
default: "500"
man: Указывается в Milicores
`1000` Mili == `1` Ядро
is_modifiable: false
- id: 105
code: memory
data_type: integer > 0
required: true
default: "512"
man: Указывается в Megabytes
is_modifiable: false
- id: 789
code: startupConfiguration
data_type: map-fixed
required: true
sort: 10
sub_params:
- id: 108
code: resourceRealm
data_type: string
required: true
default: ""
value_list:
- iot-naeel
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
- naeel-test-3
man: Кластер Kubernetes, на котором будет развернут экземпляр
is_modifiable: false
- id: 790
code: accessConfiguration
data_type: map-fixed
required: true
sort: 30
is_modifiable: true
sub_params:
- id: 112
code: slaveAccessList
data_type: json
required: true
default: '[]'
man: Необходимо настраивать, когда зарезервирован внешний адрес
Если передан пустой массив, доступ выделяется всем
is_modifiable: false
- id: 109
code: masterIpSpace
data_type: string
required: true
default: ""
man: Из какого Ip-Space резервировать внешний IP
Список предоставляется из Организации, в котором развёрнута ресурсная платформа
is_modifiable: false
- id: 110
code: masterAccessList
data_type: json
required: true
default: '[]'
man: Необходимо настраивать, когда зарезервирован внешний адрес
Если передан пустой массив, доступ выделяется всем
is_modifiable: false
- id: 111
code: slaveIpSpace
data_type: string
required: true
default: ""
man: Из какого Ip-Space резервировать внешний IP
Список предоставляется из Организации, в котором развёрнута ресурсная платформа
is_modifiable: false
- id: 791
code: postgresConfiguration
data_type: map-fixed
required: true
sort: 40
is_modifiable: true
sub_params:
- id: 113
code: version
data_type: string
required: true
default: "17"
value_list:
- "17"
- "16"
is_modifiable: false
- id: 116
code: sslRequired
data_type: boolean
required: true
default: "true"
value_list:
- "false"
- "true"
man: По умолчанию подключение обязательное (sslmode=require)
is_modifiable: false
- id: 114
code: poolerMaster
data_type: boolean
required: true
default: "false"
value_list:
- "false"
- "true"
man: Включает pgPooler (на запись). Будет создан новый под
Размер пода **200m/400Mi**
is_modifiable: false
- id: 115
code: poolerSlave
data_type: boolean
required: true
default: "false"
value_list:
- "false"
- "true"
man: Включает pgPooler (на чтение). Будет создан новый под
Размер пода **200m/400Mi**
is_modifiable: false
- id: 792
code: postgresConf
data_type: array-map-fixed
required: false
sort: 50
is_modifiable: true
sub_params:
- id: 118
code: paramName
data_type: string
required: true
default: ""
value_list:
- log_connections
- log_disconnections
is_modifiable: false
- id: 117
code: paramValue
data_type: string
required: true
default: ""
man: Как правильно вводить значения описано здесь (https://www.postgresql.org/docs/current/runtime-config.html)
is_modifiable: false
- id: 793
code: backupConfiguration
data_type: map-fixed
required: true
sort: 60
is_modifiable: true
sub_params:
- id: 119
code: s3Uid
data_type: uuid
required: true
default: ""
man: Экземпляр S3 обязателен
is_modifiable: false
- id: 120
code: retain
data_type: integer > 0
required: true
default: "7"
is_modifiable: false
- id: 121
code: schedule
data_type: string
required: true
default: 0 0 * * *
regex: ^((((\d+,)+\d+|(\d+(\/|-|#)\d+)|(\d+L?)|(\*(\/\d+)?)|(L(-\d+)?)|(\?)|([A-Z]{3}(-[A-Z]{3})?)) ?){5,7})|(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)$
is_modifiable: false
- id: 794
code: autoscaleConfiguration
data_type: map-fixed
required: true
sort: 70
is_modifiable: true
sub_params:
- id: 125
code: percent
data_type: integer > 0
required: true
default: "10"
value_list:
- "10"
- "15"
- "20"
man: Требует включения autoScale. Позволяет указать в процентах расширение от текущего макс объема
Минимальный размер на который расширяется - **1Gb**
is_modifiable: false
- id: 122
code: enabled
data_type: boolean
required: true
default: "false"
value_list:
- "false"
- "true"
man: Включает автоскейлинг PV. При включении параметра необходимо настроить autoScalePercentage и autoScaleTechWindow. Алерт при срабатывании вызывает modify у текущей услуги
is_modifiable: false
- id: 123
code: schedule
data_type: integer >= 0
required: true
default: "0"
value_list:
- "0"
- "5"
- "12"
- "23"
man: Требует включения autoScale. Окно обновления (пока не реализовано). Указывается час в виде Integer (0 / 5 / 12 / 23)
is_modifiable: false
- id: 124
code: quota
data_type: integer > 0
required: true
default: "100"
man: До какого размера возможно увеличивать диск, когда включен Autoscale
is_modifiable: false
- id: 1094
code: mtlsConfiguration
data_type: map-fixed
required: true
default: '{}'
sort: 80
is_modifiable: true
sub_params:
- id: 613
code: certServer
data_type: string
required: false
default: ""
is_modifiable: false
- id: 609
code: type
data_type: string
required: true
default: "off"
value_list:
- "off"
- manual
- auto
man: '`off` - Настройка MTLS производиться не будет
`manual` - После создания кластера в полях данных будет запрос на создание сертификата. **Вам необходимо будет выписать сертификат через вашу CA** и уже после включить через операцию **modify** режим MTLS
`auto` - Сертификаты будут созданы через Cert-Manager
Режимы **auto** и **manual** требует включить настройку `Включить sslMode` - **true**
MTLS в режиме **auto** будет работать сразу, в режиме **manual** только после того как будет предоставлен **CA** и **Сертификат сервера**'
is_modifiable: false
- id: 610
code: durationCA
data_type: integer > 0
required: true
default: "175200"
man: Указывается в **часах**
Необходимо настраивать, когда параметр `Режим настройки` - **auto**
is_modifiable: false
- id: 611
code: durationServer
data_type: integer > 0
required: true
default: "87600"
man: Указывается в **часах**
Не может быть больше чем время жизни СА
Обновляется **раз в год**, если выставлено значение **более 2 лет**
Обновляется **раз в пол года**, если выставлено значение **менее 2 лет**
Необходимо настраивать, когда параметр `Режим настройки` - **auto**
is_modifiable: false
- id: 612
code: certCA
data_type: string
required: false
default: ""
is_modifiable: false
- name: create_backup
id: 264
kind: subresource
action: create
subresource: backup
params: []
- name: create_database
id: 245
kind: subresource
action: create
subresource: database
params:
- id: 741
code: dbName
data_type: string
required: true
regex: ^[A-Za-z0-9]+$
- id: 742
code: dbOwner
data_type: string
required: true
- name: create_user
id: 241
kind: subresource
action: create
subresource: user
params:
- id: 733
code: username
data_type: string
required: true
regex: ^[A-Za-z0-9]+$
maxlength: 62
minlength: 2
sort: 10
- id: 740
code: role
data_type: string
required: true
value_list:
- app_user
- ddl_user
descr: Выбрать роль из списка
man: '`app_user` — стандартный пользователь с базовым набором прав
`ddl_user` — пользователь с расширенными правами, включая управление ролями и базами данных'
sort: 20
- id: 1096
code: mtlsAccess
data_type: boolean
required: true
default: "false"
value_list:
- "false"
- "true"
man: Подключение пользователя без ввода паролей
Политика применяется **ко всем базам** внутри Postgresql
RBAC на базы настраивать вручную
sort: 30
- name: delete
id: 20
kind: instance
action: delete
params:
- id: 457
code: deleteS3Bucket
data_type: boolean
required: true
default: "true"
value_list:
- "false"
- "true"
descr: Также удалить технический S3 Bucket с бэкапами?
sort: 10
- name: delete_database
id: 246
kind: subresource
action: delete
subresource: database
params:
- id: 743
code: dbName
data_type: string
required: true
- name: delete_user
id: 244
kind: subresource
action: delete
subresource: user
params:
- id: 739
code: username
data_type: string
required: true
descr: 'Пример: `username-admin`'
- name: modify
id: 48
kind: instance
action: modify
params:
- id: 795
code: clusterConfiguration
data_type: map-fixed
required: true
sort: 10
sub_params:
- id: 126
code: cpu
data_type: integer > 0
required: true
default: ""
man: Указывается в Milicores
`1000` Mili == `1` Ядро
is_modifiable: false
- id: 127
code: memory
data_type: integer > 0
required: true
default: ""
man: Указывается в Megabytes
is_modifiable: false
- id: 128
code: replicas
data_type: integer > 0
required: true
default: ""
value_list:
- "1"
- "3"
- "5"
- "7"
is_modifiable: false
- id: 129
code: disk
data_type: integer > 0
required: true
default: ""
man: Указывается в GIGAbytes
is_modifiable: false
- id: 796
code: accessConfiguration
data_type: map-fixed
required: true
sort: 20
sub_params:
- id: 130
code: masterIpSpace
data_type: string
required: true
default: ""
man: Из какого Ip-Space резервировать внешний IP
Список предоставляется из Организации, в котором развёрнута ресурсная платформа
is_modifiable: false
- id: 131
code: masterAccessList
data_type: json
required: true
default: ""
man: Необходимо настраивать, когда зарезервирован внешний адрес
Если передан пустой массив, доступ выделяется всем
is_modifiable: false
- id: 132
code: slaveIpSpace
data_type: string
required: true
default: ""
man: Из какого Ip-Space резервировать внешний IP
Список предоставляется из Организации, в котором развёрнута ресурсная платформа
is_modifiable: false
- id: 133
code: slaveAccessList
data_type: json
required: true
default: ""
man: Необходимо настраивать, когда зарезервирован внешний адрес
Если передан пустой массив, доступ выделяется всем
is_modifiable: false
- id: 797
code: postgresConfiguration
data_type: map-fixed
required: true
sort: 30
sub_params:
- id: 134
code: version
data_type: string
required: true
default: ""
value_list:
- "17"
- "16"
is_modifiable: false
- id: 135
code: sslRequired
data_type: boolean
required: true
default: false,true
man: По умолчанию подключение обязательное (sslmode=require)
is_modifiable: false
- id: 136
code: poolerMaster
data_type: boolean
required: true
default: ""
value_list:
- "false"
- "true"
man: Включает pgPooler (на запись). Будет создан новый под
Размер пода **200m/400Mi**
is_modifiable: false
- id: 137
code: poolerSlave
data_type: boolean
required: true
default: ""
value_list:
- "false"
- "true"
man: Включает pgPooler (на чтение). Будет создан новый под
Размер пода **200m/400Mi**
is_modifiable: false
- id: 798
code: postgresConf
data_type: array-map-fixed
required: false
sort: 40
sub_params:
- id: 272
code: paramValue
data_type: string
required: true
default: ""
man: Как правильно вводить значения описано здесь (https://www.postgresql.org/docs/current/runtime-config.html)
is_modifiable: false
- id: 271
code: paramName
data_type: string
required: true
default: ""
value_list:
- log_connections
- log_disconnections
is_modifiable: false
- id: 799
code: backupConfiguration
data_type: map-fixed
required: true
sort: 50
sub_params:
- id: 193
code: s3Uid
data_type: uuid
required: true
default: ""
man: Экземпляр S3 обязателен
is_modifiable: false
- id: 138
code: retain
data_type: integer > 0
required: true
default: ""
is_modifiable: false
- id: 139
code: schedule
data_type: string
required: true
default: 0 0 * * *
regex: ^((((\d+,)+\d+|(\d+(\/|-|#)\d+)|(\d+L?)|(\*(\/\d+)?)|(L(-\d+)?)|(\?)|([A-Z]{3}(-[A-Z]{3})?)) ?){5,7})|(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)$
is_modifiable: false
- id: 800
code: autoscaleConfiguration
data_type: map-fixed
required: true
sort: 60
sub_params:
- id: 142
code: quota
data_type: integer > 0
required: true
default: ""
man: До какого размера возможно увеличивать диск, когда включен Autoscale
is_modifiable: false
- id: 143
code: percent
data_type: integer > 0
required: true
default: ""
value_list:
- "10"
- "15"
- "20"
man: Требует включения autoScale. Позволяет указать в процентах расширение от текущего макс объема
Минимальный размер на который расширяется - **1Gb**
is_modifiable: false
- id: 140
code: enabled
data_type: boolean
required: true
default: ""
value_list:
- "false"
- "true"
man: Включает автоскейлинг PV. При включении параметра необходимо настроить autoScalePercentage и autoScaleTechWindow. Алерт при срабатывании вызывает modify у текущей услуги
is_modifiable: false
- id: 141
code: schedule
data_type: integer >= 0
required: true
default: ""
value_list:
- "0"
- "5"
- "12"
- "23"
man: Требует включения autoScale. Окно обновления (пока не реализовано). Указывается час в виде Integer (0 / 5 / 12 / 23)
is_modifiable: false
- id: 1095
code: mtlsConfiguration
data_type: map-fixed
required: true
sort: 70
sub_params:
- id: 615
code: durationCA
data_type: integer > 0
required: true
default: ""
man: Указывается в **часах**
Необходимо настраивать, когда параметр `Режим настройки` - **auto**
is_modifiable: false
- id: 616
code: durationServer
data_type: integer > 0
required: true
default: ""
man: Указывается в **часах**
Не может быть больше чем время жизни СА
Обновляется **раз в год**, если выставлено значение **более 2 лет**
Обновляется **раз в пол года**, если выставлено значение **менее 2 лет**
Необходимо настраивать, когда параметр `Режим настройки` - **auto**
is_modifiable: false
- id: 617
code: certCA
data_type: string
required: false
default: ""
man: Предварительно сертификат можно получить командой
`cat ca.crt | base64 -w0`
is_modifiable: false
- id: 618
code: certServer
data_type: string
required: false
default: ""
man: Предварительно сертификат можно получить командой
`cat server.crt | base64 -w0`
is_modifiable: false
- id: 634
code: refreshCert
data_type: boolean
required: false
default: "false"
value_list:
- "false"
- "true"
man: На случай если его нужно обновить/заменить
is_modifiable: false
- id: 614
code: type
data_type: string
required: true
default: ""
value_list:
- "off"
- manual
- auto
man: '`off` - Настройка MTLS производиться не будет
`manual` - После создания кластера в полях данных будет запрос на создание сертификата. **Вам необходимо будет выписать сертификат через вашу CA** и уже после включить через операцию **modify** режим MTLS
`auto` - Сертификаты будут созданы через Cert-Manager
Режимы **auto** и **manual** требует включить настройку `Включить sslMode` - **true**
MTLS в режиме **auto** будет работать сразу, в режиме **manual** только после того как будет предоставлен **CA** и **Сертификат сервера**'
is_modifiable: false
- name: reconcile
id: 263
kind: action
action: reconcile
params: []
- name: recovery
id: 47
kind: action
action: recovery
params:
- id: 801
code: startupConfiguration
data_type: map-fixed
required: true
sort: 10
sub_params:
- id: 144
code: resourceRealm
data_type: string
required: true
default: ""
value_list:
- iot-naeel
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
- naeel-test-3
man: Кластер Kubernetes, на котором будет развернут экземпляр
is_modifiable: false
- id: 166
code: recoveryPoint
data_type: string
required: true
default: ""
is_modifiable: false
- id: 802
code: clusterConfiguration
data_type: map-fixed
required: true
sort: 20
sub_params:
- id: 146
code: memory
data_type: integer > 0
required: true
default: "512"
man: Указывается в Megabytes
is_modifiable: false
- id: 147
code: replicas
data_type: integer > 0
required: true
default: "1"
value_list:
- "1"
- "3"
- "5"
- "7"
is_modifiable: false
- id: 148
code: disk
data_type: integer > 0
required: true
default: "10"
man: Указывается в GIGAbytes
is_modifiable: false
- id: 145
code: cpu
data_type: integer > 0
required: true
default: "500"
man: Указывается в Milicores
`1000` Mili == `1` Ядро
is_modifiable: false
- id: 803
code: accessConfiguration
data_type: map-fixed
required: true
sort: 30
sub_params:
- id: 150
code: masterAccessList
data_type: json
required: true
default: '[]'
man: Необходимо настраивать, когда зарезервирован внешний адрес
Если передан пустой массив, доступ выделяется всем
is_modifiable: false
- id: 151
code: slaveIpSpace
data_type: string
required: true
default: ""
man: Из какого Ip-Space резервировать внешний IP
Список предоставляется из Организации, в котором развёрнута ресурсная платформа
is_modifiable: false
- id: 152
code: slaveAccessList
data_type: json
required: true
default: '[]'
man: Необходимо настраивать, когда зарезервирован внешний адрес
Если передан пустой массив, доступ выделяется всем
is_modifiable: false
- id: 149
code: masterIpSpace
data_type: string
required: true
default: ""
man: Из какого Ip-Space резервировать внешний IP
Список предоставляется из Организации, в котором развёрнута ресурсная платформа
is_modifiable: false
- id: 804
code: postgresConfiguration
data_type: map-fixed
required: true
sort: 40
sub_params:
- id: 153
code: version
data_type: string
required: true
default: "17"
value_list:
- "17"
- "16"
is_modifiable: false
- id: 154
code: sslRequired
data_type: boolean
required: true
default: "true"
value_list:
- "false"
- "true"
man: По умолчанию подключение обязательное (sslmode=require)
is_modifiable: false
- id: 155
code: poolerMaster
data_type: boolean
required: true
default: "false"
value_list:
- "false"
- "true"
man: Включает pgPooler (на запись). Будет создан новый под
Размер пода **200m/400Mi**
is_modifiable: false
- id: 156
code: poolerSlave
data_type: boolean
required: true
default: "false"
value_list:
- "false"
- "true"
man: Включает pgPooler (на чтение). Будет создан новый под
Размер пода **200m/400Mi**
is_modifiable: false
- id: 805
code: postgresConf
data_type: array-map-fixed
required: false
sort: 50
sub_params:
- id: 475
code: paramName
data_type: string
required: true
default: ""
value_list:
- log_connections
- log_disconnections
is_modifiable: false
- id: 476
code: paramValue
data_type: string
required: true
default: ""
man: Как правильно вводить значения описано здесь (https://www.postgresql.org/docs/current/runtime-config.html)
is_modifiable: false
- id: 806
code: backupConfiguration
data_type: map-fixed
required: true
sort: 60
sub_params:
- id: 159
code: s3Uid
data_type: uuid
required: true
default: ""
man: Экземпляр S3 обязателен
is_modifiable: false
- id: 160
code: retain
data_type: integer > 0
required: true
default: "7"
is_modifiable: false
- id: 161
code: schedule
data_type: string
required: true
default: 0 0 * * *
regex: ^((((\d+,)+\d+|(\d+(\/|-|#)\d+)|(\d+L?)|(\*(\/\d+)?)|(L(-\d+)?)|(\?)|([A-Z]{3}(-[A-Z]{3})?)) ?){5,7})|(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)$
is_modifiable: false
- id: 807
code: autoscaleConfiguration
data_type: map-fixed
required: true
sort: 70
sub_params:
- id: 162
code: enabled
data_type: boolean
required: true
default: "false"
value_list:
- "false"
- "true"
man: Включает автоскейлинг PV. При включении параметра необходимо настроить autoScalePercentage и autoScaleTechWindow. Алерт при срабатывании вызывает modify у текущей услуги
is_modifiable: false
- id: 163
code: schedule
data_type: integer >= 0
required: true
default: "0"
value_list:
- "0"
- "5"
- "12"
- "23"
man: Требует включения autoScale. Окно обновления (пока не реализовано). Указывается час в виде Integer (0 / 5 / 12 / 23)
is_modifiable: false
- id: 164
code: quota
data_type: integer > 0
required: true
default: "100"
man: До какого размера возможно увеличивать диск, когда включен Autoscale
is_modifiable: false
- id: 165
code: percent
data_type: integer > 0
required: true
default: "10"
value_list:
- "10"
- "15"
- "20"
man: Требует включения autoScale. Позволяет указать в процентах расширение от текущего макс объема
Минимальный размер на который расширяется - **1Gb**
is_modifiable: false
- name: restart
id: 54
kind: action
action: restart
man: ВНИМАНИЕ - Рестарт предполагает УДАЛЕНИЕ подов.
Может быть полная поломка. Крайне осторожно запускать при работе
params: []
- name: resume
id: 114
kind: instance
action: resume
params: []
- name: suspend
id: 115
kind: instance
action: suspend
params: []