Add vautlDIFF.sh
This commit is contained in:
37
vautlDIFF.sh
Normal file
37
vautlDIFF.sh
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
# Compare a KV secret between two Vault clusters (works for KV v1 and v2)
|
||||
# Usage: ./vault-secret-diff.sh secret/path
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# --- Vault cluster configuration ---
|
||||
VAULT_ADDR_1="https://vault-cluster1.example.com"
|
||||
VAULT_TOKEN_1="token_for_cluster1"
|
||||
|
||||
VAULT_ADDR_2="https://vault-cluster2.example.com"
|
||||
VAULT_TOKEN_2="token_for_cluster2"
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Usage: $0 secret/path"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SECRET_PATH="$1"
|
||||
|
||||
# --- Get secret from both clusters ---
|
||||
VAULT_ADDR="$VAULT_ADDR_1" VAULT_TOKEN="$VAULT_TOKEN_1" \
|
||||
vault kv get -format=json "$SECRET_PATH" > /tmp/vault1.json
|
||||
|
||||
VAULT_ADDR="$VAULT_ADDR_2" VAULT_TOKEN="$VAULT_TOKEN_2" \
|
||||
vault kv get -format=json "$SECRET_PATH" > /tmp/vault2.json
|
||||
|
||||
# --- Normalize JSON for reliable diff ---
|
||||
jq -S . /tmp/vault1.json > /tmp/vault1_sorted.json
|
||||
jq -S . /tmp/vault2.json > /tmp/vault2_sorted.json
|
||||
|
||||
# --- Compare ---
|
||||
if diff -u /tmp/vault1_sorted.json /tmp/vault2_sorted.json; then
|
||||
echo "Secrets match"
|
||||
else
|
||||
echo "Secrets differ"
|
||||
fi
|
Reference in New Issue
Block a user