scripts/butler-secrets-contract-check.sh
Rama main · réplica de lectura del repositorio original.
#!/usr/bin/env bash
# G1-13: unified secrets.yaml ↔ process env (extensions + platform contracts).
#
# Usage:
# bash scripts/butler-secrets-contract-check.sh
# bash scripts/butler-secrets-contract-check.sh --gateway-expected
#
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT"
export PYTHONPATH="$ROOT"
if [[ -f "$ROOT/.env" ]]; then
# shellcheck source=scripts/lib/butler-source-env.sh
source "$ROOT/scripts/lib/butler-source-env.sh"
butler_source_env "$ROOT/.env" 2>/dev/null || true
fi
if [[ "${BUTLER_SECRETS_CONTRACT_CHECK:-1}" == "0" ]]; then
echo "skip: BUTLER_SECRETS_CONTRACT_CHECK=0"
exit 0
fi
ARGS=()
if [[ "${BUTLER_SECRETS_GATEWAY_EXPECTED:-}" == "1" ]]; then
ARGS+=(--gateway-expected)
fi
exec python3 -m butler.ops.secrets_contract_cli "${ARGS[@]}" "$@"