Initial commit: VaultMesh Skills collection
Collection of operational skills for VaultMesh infrastructure including: - backup-sovereign: Backup and recovery operations - btc-anchor: Bitcoin anchoring - cloudflare-tunnel-manager: Cloudflare tunnel management - container-registry: Container registry operations - disaster-recovery: Disaster recovery procedures - dns-sovereign: DNS management - eth-anchor: Ethereum anchoring - gitea-bootstrap: Gitea setup and configuration - hetzner-bootstrap: Hetzner server provisioning - merkle-forest: Merkle tree operations - node-hardening: Node security hardening - operator-bootstrap: Operator initialization - proof-verifier: Cryptographic proof verification - rfc3161-anchor: RFC3161 timestamping - secrets-vault: Secrets management 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
82
cloudflare-tunnel-manager/scripts/99_report.sh
Normal file
82
cloudflare-tunnel-manager/scripts/99_report.sh
Normal file
@@ -0,0 +1,82 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
SKILL_ROOT="$(dirname "$SCRIPT_DIR")"
|
||||
source "$SCRIPT_DIR/_common.sh"
|
||||
|
||||
: "${TUNNEL_NAME:=}"
|
||||
: "${ZONE_NAME:=}"
|
||||
: "${HOSTNAME:=}"
|
||||
: "${LOCAL_SERVICE:=}"
|
||||
: "${SERVICE_NAME:=cloudflared-tunnel}"
|
||||
: "${CONFIG_DIR:=$SKILL_ROOT/outputs/config}"
|
||||
|
||||
main() {
|
||||
mkdir -p "$SKILL_ROOT/outputs"
|
||||
local report="$SKILL_ROOT/outputs/audit_report.md"
|
||||
local status="$SKILL_ROOT/outputs/status_matrix.json"
|
||||
|
||||
local tunnel_id="(unknown)"
|
||||
[[ -f "$CONFIG_DIR/tunnel.json" ]] && tunnel_id="$(jq -r '.id' "$CONFIG_DIR/tunnel.json")"
|
||||
|
||||
cat > "$report" <<EOF
|
||||
# Cloudflare Tunnel Audit Report
|
||||
|
||||
**Generated:** $(date -Iseconds)
|
||||
**Tunnel Name:** $(json_escape "${TUNNEL_NAME:-}")
|
||||
**Tunnel ID:** $(json_escape "$tunnel_id")
|
||||
**Hostname:** $(json_escape "${HOSTNAME:-}")
|
||||
**Zone:** $(json_escape "${ZONE_NAME:-}")
|
||||
**Local Service:** $(json_escape "${LOCAL_SERVICE:-}")
|
||||
**Service Unit:** $(json_escape "$SERVICE_NAME")
|
||||
**Skill Version:** 1.0.0
|
||||
|
||||
---
|
||||
|
||||
## Artifacts
|
||||
|
||||
| Item | Path |
|
||||
|---|---|
|
||||
| Tunnel Snapshot | \`$CONFIG_DIR/tunnel.json\` |
|
||||
| DNS Snapshot | \`$CONFIG_DIR/dns_route.json\` |
|
||||
| cloudflared Config | \`$CONFIG_DIR/config.yml\` |
|
||||
| Status Matrix | \`$SKILL_ROOT/outputs/status_matrix.json\` |
|
||||
|
||||
---
|
||||
|
||||
## Status Matrix
|
||||
|
||||
$(if [[ -f "$status" ]]; then
|
||||
echo '```json'
|
||||
cat "$status"
|
||||
echo '```'
|
||||
else
|
||||
echo "_Missing status_matrix.json — run 90_verify.sh first._"
|
||||
fi)
|
||||
|
||||
---
|
||||
|
||||
## EU Compliance Declaration
|
||||
|
||||
| Aspect | Value |
|
||||
|---|---|
|
||||
| Data Residency | EU (Ireland - Dublin) |
|
||||
| Jurisdiction | Irish Law |
|
||||
| DNS Provider | Cloudflare |
|
||||
| Tunnel | Encrypted transport |
|
||||
|
||||
---
|
||||
|
||||
## Rollback
|
||||
|
||||
- Undo service: \`./scripts/rollback/undo_service.sh\`
|
||||
- Undo DNS: \`./scripts/rollback/undo_dns.sh\`
|
||||
- Undo tunnel (delete): \`./scripts/rollback/undo_tunnel.sh\`
|
||||
|
||||
EOF
|
||||
|
||||
log_info "Wrote $report"
|
||||
cat "$report"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user