diff --git a/docs/04-configuration/E2E_ENDPOINTS_LIST.md b/docs/04-configuration/E2E_ENDPOINTS_LIST.md index 807997b..168b91c 100644 --- a/docs/04-configuration/E2E_ENDPOINTS_LIST.md +++ b/docs/04-configuration/E2E_ENDPOINTS_LIST.md @@ -9,6 +9,8 @@ **Latest verified public pass:** `2026-03-27` via `bash scripts/verify/verify-end-to-end-routing.sh --profile=public` with report at [verification_report.md](verification-evidence/e2e-verification-20260327_134032/verification_report.md). Result: exit `0`, `DNS passed: 38`, `Failed: 0`, `HTTPS passed: 19`, `Skipped / optional: 1` (after `run-all-operator-tasks-from-lan.sh` NPM sync; `rpc.defi-oracle.io` may log HTTP 405 on the verifier probe but stays non-failing for the profile). **Latest verified private/admin pass:** `2026-03-27` via `bash scripts/verify/verify-end-to-end-routing.sh --profile=private` with report at [verification_report.md](verification-evidence/e2e-verification-20260327_134137/verification_report.md). Result: exit `0`, `DNS passed: 4`, `Failed: 0`. +**Evidence folders:** Each run creates `verification-evidence/e2e-verification-YYYYMMDD_HHMMSS/`. Commit the runs you want on record; older dirs can be removed locally to reduce noise (`scripts/maintenance/prune-e2e-verification-evidence.sh --dry-run` lists candidates). Routing truth is **not** inferred from old reports—use [ALL_VMIDS_ENDPOINTS.md](ALL_VMIDS_ENDPOINTS.md). + ## Verification profiles - **Public profile (default for routine E2E):** web, api, public RPC endpoints. diff --git a/docs/archive/README.md b/docs/archive/README.md index e3634af..0b9cbe4 100644 --- a/docs/archive/README.md +++ b/docs/archive/README.md @@ -62,6 +62,7 @@ Documents are archived when: - **05-network-superseded/** — CLOUDFLARE_TUNNEL_ROUTING_ARCHITECTURE, CENTRAL_NGINX_ROUTING_SETUP (use CLOUDFLARE_ROUTING_MASTER and RPC_ENDPOINTS_MASTER instead). - **00-meta-pruned/** — 27 one-off status/completion/planning/script-audit docs (batch 1: 10; batch 2: 17). Use NEXT_STEPS_OPERATOR, REMAINING_WORK_DETAILED_STEPS, OPERATIONAL_RUNBOOKS. - **verification-evidence-old/** — Pruned 2026-02-08: verification run folders before 2026-02-06 (72 folders). Current runs remain in docs/04-configuration/verification-evidence/. +- **deployment-reports/** — Deployment/cutover snapshots (e.g. 2026-01). **Obsolete for routing:** see [deployment-reports/README.md](deployment-reports/README.md) and live docs above. ## Accessing Archived Documents @@ -75,5 +76,5 @@ If an archived document needs to be restored, move it back to the main `docs/` d **2026-02-20:** Batch 4 — 12 one-off/dated 00-meta docs → 00-meta-pruned. Batch 5 — CONTINUE_AND_COMPLETE, FULL_PARALLEL_RUN_LOG → 00-meta-pruned. ALL_TASKS_COMPLETE → root-status-reports. **Root cleanup:** 40+ status/temp/screenshot files from project root → [root-cleanup-20260220/](root-cleanup-20260220/README.md). -**Last Updated:** 2026-02-20 +**Last Updated:** 2026-03-27 diff --git a/docs/archive/deployment-reports/README.md b/docs/archive/deployment-reports/README.md new file mode 100644 index 0000000..2c782e6 --- /dev/null +++ b/docs/archive/deployment-reports/README.md @@ -0,0 +1,21 @@ +# Archived deployment reports (historical) + +Markdown files in this folder are **time-stamped snapshots** (mostly **2026-01**). They may still describe: + +- `the-order.sankofa.nexus` as **TBD** or pointing at **192.168.11.140** (Blockscout) +- Sankofa/Phoenix as “not deployed” or on temporary backends + +**Do not use these tables for operations.** + +**Current source of truth** + +- [ALL_VMIDS_ENDPOINTS.md](../../04-configuration/ALL_VMIDS_ENDPOINTS.md) +- [RPC_ENDPOINTS_MASTER.md](../../04-configuration/RPC_ENDPOINTS_MASTER.md) +- [SANKOFA_CUTOVER_PLAN.md](../../04-configuration/SANKOFA_CUTOVER_PLAN.md) (v1.1+) +- NPM fleet script: `scripts/nginx-proxy-manager/update-npmplus-proxy-hosts-api.sh` + +**The Order (summary):** NPM → `192.168.11.39:80` (VMID **10210** HAProxy) → portal `192.168.11.51:3000`. + +--- + +**Last Updated:** 2026-03-27 diff --git a/scripts/maintenance/prune-e2e-verification-evidence.sh b/scripts/maintenance/prune-e2e-verification-evidence.sh new file mode 100755 index 0000000..a8d6e65 --- /dev/null +++ b/scripts/maintenance/prune-e2e-verification-evidence.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash +# List or remove old E2E report dirs under docs/04-configuration/verification-evidence/e2e-verification-* +# Default: dry-run only. Deletes dirs older than KEEP_DAYS (default 45). Never deletes the two latest by mtime. +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" +EVIDENCE="$PROJECT_ROOT/docs/04-configuration/verification-evidence" + +DRY_RUN=true +for a in "$@"; do + [[ "$a" == "--apply" ]] && DRY_RUN=false +done + +KEEP_DAYS="${KEEP_DAYS:-45}" +MIN_KEEP="${MIN_KEEP:-2}" + +if [[ ! -d "$EVIDENCE" ]]; then + echo "No directory: $EVIDENCE" + exit 1 +fi + +mapfile -t ALL < <(find "$EVIDENCE" -maxdepth 1 -type d -name 'e2e-verification-*' -printf '%T@ %p\n' 2>/dev/null | sort -n | awk '{print $2}') +if [[ ${#ALL[@]} -eq 0 ]]; then + echo "No e2e-verification-* directories under $EVIDENCE" + exit 0 +fi + +# Newest MIN_KEEP paths (never prune) +declare -A PROTECT +for ((i = ${#ALL[@]} - MIN_KEEP; i < ${#ALL[@]}; i++)); do + [[ $i -ge 0 ]] || continue + PROTECT["${ALL[$i]}"]=1 +done + +now=$(date +%s) +cutoff=$((now - KEEP_DAYS * 86400)) +removed=0 +checked=0 + +for dir in "${ALL[@]}"; do + [[ -n "${PROTECT[$dir]:-}" ]] && continue + mt=$(stat -c %Y "$dir" 2>/dev/null || echo 0) + (( checked++ )) || true + if (( mt < cutoff )); then + if [[ "$DRY_RUN" == true ]]; then + echo "Would remove (older than ${KEEP_DAYS}d): $dir" + else + rm -rf "$dir" + echo "Removed: $dir" + fi + (( removed++ )) || true + fi +done + +if [[ "$DRY_RUN" == true ]]; then + echo "" + echo "Dry-run. Protected newest $MIN_KEEP dir(s). Set KEEP_DAYS=$KEEP_DAYS." + echo "To delete: KEEP_DAYS=$KEEP_DAYS bash $0 --apply" +else + echo "Done. Removed $removed director(y/ies); checked $checked (excluding protected)." +fi