Документ описывает source.type: vault и быстрый стенд на
Docker для экспериментов.
vault source читает секреты из Vault KV и формирует
JSON-артефакт с snapshot:
include_paths);address: ровно один из
token_env | token_path |
token_vault. Поле token_vault задаёт
ref в KV v2, но чтение этого ref выполняется
клиентом Vault агента (-vault-addr /
IOBACKUP_VAULT_*), а не HTTP-запросом к случайному URL из
job; URL бэкапа по-прежнему только address.namespace (Enterprise);tls_insecure_skip_verify.Пример:
source:
type: vault
config:
address: http://127.0.0.1:18200
token_env: VAULT_TOKEN
mount: iobackup
kv_version: 2
include_paths:
- ""
timeout: 30sПоля:
address — URL целевого Vault API, из
которого читается KV в артефакт (обязательно);token_env | token_path |
token_vault — ровно одно: токен для HTTP-доступа к Vault по
address (см. «Учётные данные» в job-format-v1.md);mount — имя KV mount (по умолчанию
secret);kv_version — 1 или 2 (по
умолчанию 2);include_paths — список префиксов внутри mount (по
умолчанию [""]);namespace — optional Vault namespace;timeout — HTTP timeout (по умолчанию
30s);tls_insecure_skip_verify — отключение проверки TLS
сертификата (только для dev).Файлы:
examples/dev/vault/docker-compose.ymlexamples/dev/vault/seed-dev.shЗапуск:
docker compose -f ./examples/dev/vault/docker-compose.yml up -dСид тестовых секретов:
chmod +x ./examples/dev/vault/seed-dev.sh
VAULT_ADDR=http://127.0.0.1:18200 VAULT_TOKEN=root ./examples/dev/vault/seed-dev.shПроверка:
curl -sS -H "X-Vault-Token: root" \
"http://127.0.0.1:18200/v1/iobackup/metadata/?list=true"Готовый пример (каталог всех job-примеров):
Запуск:
export VAULT_TOKEN=root
go run ./cmd/iobackupctl --server http://127.0.0.1:8735 --token-env IOBACKUP_API_TOKEN \
job submit ./examples/vault.local.yaml
go run ./cmd/iobackupctl --server http://127.0.0.1:8735 --token-env IOBACKUP_API_TOKEN \
job run vault-localПроверка артефакта:
go run ./cmd/iobackupctl --server http://127.0.0.1:8735 --token-env IOBACKUP_API_TOKEN artifact listОстановка стенда:
docker compose -f ./examples/dev/vault/docker-compose.yml down -v