#!/usr/bin/env bash
#MISE description="Снапшот Vault в бакет бэкапов"
set -euo pipefail

BUCKET=$BACKUP_BUCKET

NAME="vault/$(date -u +%Y-%m-%dT%H-%M-%SZ).snap"
TMP=/tmp/vault-backup.snap

docker compose exec -T -e BAO_TOKEN="$VAULT_TOKEN" vault \
  bao operator raft snapshot save "$TMP" >/dev/null

docker compose exec -T vault cat "$TMP" |
  docker compose exec -T -e MC_HOST_local="http://${SILO_USER}:${SILO_PASSWORD}@localhost:9000" \
    object-storage mc pipe --quiet "local/$BUCKET/$NAME" >/dev/null
docker compose exec -T vault rm -f "$TMP"

docker compose exec -T -e MC_HOST_local="http://${SILO_USER}:${SILO_PASSWORD}@localhost:9000" \
  object-storage mc stat "local/$BUCKET/$NAME" | grep -E '^(Name|Size)'
