Deckhouse Stronghold позволяет настроить расписание для автоматического создания резервных копий хранилища секретов. Поскольку Stronghold хранит данные на диске в зашифрованном виде, резервная копия также содержит только зашифрованные данные. Для получения доступа к данным необходимо развернуть резервную копию в кластере Stronghold и выполнить процедуру распечатывания хранилища.
Резервные копии можно сохранять на локальный диск в выбранную директорию или в S3-совместимое хранилище.
Управлять настройками резервных копий и просматривать их статус можно через API, Stronghold CLI и веб-интерфейс.
Создание или обновление конфигурации автоматического резервного копирования
Метод | Путь |
---|---|
POST | /sys/storage/raft/snapshot-auto/config/:name |
Для работы с данным методом API потребуются права sudo.
Описание параметров
Параметр | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
name |
Cтрока | Да | — | Имя конфигурации, которую необходимо создать или изменить. |
interval |
Целое число или строка | Да | — | Интервал между резервными копиями. Может задаваться в секундах или в формате Go duration (например, 24h ). |
retain |
Целое число | Нет | 3 |
Количество резервных копий, которые должны храниться. При превышении этого числа самые старые резервные копии удаляются. |
path_prefix |
Неизменяемая строка | Да | — | Если в параметре storage_type выбрано локальное хранилище, здесь указывается директория хранения резервных копий. Если выбрано облачное хранилище, здесь указывается bucket-префикс (начальный / игнорируется, последующие / необязательны). |
file_prefix |
Неизменяемая строка | Нет | stronghold-snapshot |
Префикс имени файла или объекта резервной копии в пределах директории или bucket, заданного в path_prefix . |
storage_type |
Неизменяемая строка | Да | — | Тип хранилища резервных копий: local (локальное) или aws-s3 (облачное). Остальные параметры ниже зависят от выбранного типа хранилища. |
Дополнительные параметры для локального хранилища
Параметр | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
local_max_space |
Целое число | Нет | 0 |
Максимальный объём (в байтах), доступный для хранения резервных копий с заданным file_prefix в директории path_prefix . При недостатке места создание резервной копии завершится с ошибкой. Значение 0 отключает проверку занимаемого места на диске. |
Дополнительные параметры для облачного хранилища
Параметр | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
aws_s3_bucket |
Строка | Да | — | Имя S3 bucket для хранения резервных копий. |
aws_s3_region |
Строка | Нет | — | Регион S3 bucket. |
aws_access_key_id |
Строка | Нет | — | Идентификатор ключа для доступа к S3 bucket. |
aws_secret_access_key |
Строка | Нет | — | Секретный ключ для доступа к S3 bucket. |
aws_s3_endpoint |
Строка | Нет | — | Эндпойнт S3-сервиса. |
aws_s3_disable_tls |
Булевый | Нет | — | Отключает TLS для S3-эндпойнта. Используется только для тестирования, обычно в сочетании с aws_s3_endpoint . |
aws_s3_ca_certificate |
Строка | Нет | — | Сертификат CA для S3-эндпойнта в формате PEM. |
Примеры запросов
Создание конфигурации
Указываются все обязательные поля.
d8 stronghold write sys/storage/raft/snapshot-auto/config/s3every5min - <<EOF
{
"interval": "5m",
"path_prefix": "backups",
"file_prefix": "main_stronghold",
"retain": "4",
"storage_type": "aws-s3",
"aws_s3_bucket": "my_bucket",
"aws_s3_endpoint": "minio.domain.ru",
"aws_access_key_id": "oWdPcQ50zTuMjJI",
"aws_secret_access_key": "4NzZjboafWyfNTe7aUVgLUdrMurHjty43iUXHFBw"
}
EOF
Пример ответа:
Key Value
--- -----
msg successfully created config
Обновление конфигурации
Допускается указывать не все поля. Уже существующие поля не будут изменены.
d8 stronghold write sys/storage/raft/snapshot-auto/config/s3every5min - <<EOF
{
"interval": "3m",
"retain": "10",
"aws_access_key_id": "vnR9Rfp0toPPgK3",
"aws_secret_access_key": "FuloGN1RZCtwINCLJtwHXTQ50zCL7s"
}
EOF
Пример ответа:
Key Value
--- -----
msg successfully updated config
Просмотр списка существующих конфигураций
Метод | Путь |
---|---|
LIST | /sys/storage/raft/snapshot-auto/config |
Возвращает список всех существующих конфигураций автоматического резервного копирования.
Пример запроса
d8 stronghold list sys/storage/raft/snapshot-auto/config
Пример ответа:
Keys
----
s3every5min
localEvery3min
Получение параметров конфигурации
Метод | Путь |
---|---|
GET | /sys/storage/raft/snapshot-auto/config/:name |
Возвращает значения всех параметров указанной конфигурации.
Пример запроса
d8 stronghold read sys/storage/raft/snapshot-auto/config/s3every5min
Пример ответа:
Key Value
--- -----
interval 300
path_prefix backups
file_prefix main_stronghold
retain 4
storage_type aws-s3
aws_s3_bucket my_bucket
aws_s3_disable_tls false
aws_s3_endpoint minio.domain.ru
aws_s3_region n/a
aws_s3_ca_certificate n/a
Удаление конфигурации
Метод | Путь |
---|---|
DELETE | /sys/storage/raft/snapshot-auto/config/:name |
Удаляет указанную конфигурацию и возвращает информацию о последней созданной резервной копии.
Пример запроса
d8 stronghold delete sys/storage/raft/snapshot-auto/config/s3every5min
Пример ответа:
Key Value
--- -----
consecutive_errors 0
last_snapshot_end 2025-01-31T15:24:14Z
last_snapshot_error n/a
last_snapshot_start 2025-01-31T15:24:12Z
last_snapshot_url https://minio.domain.ru/my_bucket/backups/main_stronghold_2025-01-31T15:24:12Z
next_snapshot_start 2025-01-31T15:29:12Z
snapshot_start 2025-01-31T15:24:12Z
snapshot_url https://minio.domain.ru/my_bucket/backups/main_stronghold_2025-01-31T15:24:12Z
Получение статуса резервной копии
Метод | Путь |
---|---|
GET | /sys/storage/raft/snapshot-auto/status/:name |
Возвращает информацию о текущем статусе указанной резервной копии.
Пример запроса
d8 stronghold read sys/storage/raft/snapshot-auto/status/s3every5min
Пример ответа:
Key Value
--- -----
msg successfully deleted config