The OpenBao policy matches the reviewed file. Both publisher KV paths are still empty because the bootstrap key cannot create IAM applications. Assistant: grok Assistant-Session: 01a11cdb-f9fe-7011-947c-936e72007e54
36 lines
1.2 KiB
Bash
Executable file
36 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
# Record KV metadata versions only. Silent for warden access.
|
|
set -eu
|
|
receipt_dir=/home/worsch/.local/state/railiance/receipts
|
|
umask 077
|
|
mkdir -p "$receipt_dir"
|
|
tmp=$(mktemp -d)
|
|
trap 'rm -rf "$tmp"' EXIT
|
|
python3 - "$tmp" "$receipt_dir/backup-pair-metadata.json" << 'PY'
|
|
import json, subprocess, sys
|
|
tmp, dest = sys.argv[1:]
|
|
paths = [
|
|
"platform/workloads/coulomb-social/backup-primary",
|
|
"platform/workloads/email-connect/backup-primary",
|
|
"platform/workloads/railiance/scaleway/bootstrap",
|
|
"platform/workloads/railiance/backup/object-storage",
|
|
]
|
|
rows = []
|
|
for path in paths:
|
|
out = subprocess.run(
|
|
["bao", "kv", "metadata", "get", "-format=json", path],
|
|
capture_output=True,
|
|
)
|
|
row = {"path": path, "returncode": out.returncode}
|
|
if out.returncode == 0:
|
|
data = json.loads(out.stdout)["data"]
|
|
row["current_version"] = data.get("current_version")
|
|
versions = data.get("versions") or {}
|
|
row["version_count"] = len(versions)
|
|
else:
|
|
err = (out.stderr + out.stdout).decode("utf-8", "replace")
|
|
row["absent"] = "No value found" in err
|
|
rows.append(row)
|
|
open(dest, "w").write(json.dumps({"paths": rows}, indent=2) + "\n")
|
|
PY
|
|
exit 0
|