From a two-agent audit (docs accuracy + greenfield deploy path):
- init_db docs were describing upstream behavior: this repo's psql-app
auto-creates the schema on first run and drops config/do_not_init_db to
skip later (psql-app/scripts/run:74). README/DOCS/backup-restore now
describe the marker semantics; the restore flow creates the marker
BEFORE first start instead of 'not creating init_db'
- DOCS.md contained heavy retired-lab drift: banner declares it a legacy
walkthrough with illustrative values; fixed its self-contradictions --
external port 1790, folder OBMP-Reference, datasource 'PostgreSQL',
OpenConfig gNMI paths (matching telegraf.conf), EXABGP_PEERS,
TRAFFIC_GEN_PORT
- deploy.sh --help now shows the current scope names (old ones remain
accepted aliases)
- navigation: new docs/README.md index with operator and network-engineer
tracks (links the previously orphaned backup-restore, security-hardening,
ROADMAP, DB_SCHEMA); README gains a Start-here router
- intra-docs prose paths no longer carry the docs/ prefix (they resolve
from within docs/); RR-CLIENTS -> RR-CLIENT matches the blueprint;
ROADMAP A6 marked done
- scripts/deploy-lib.sh added: shared log/ask/confirm/get_env/set_env
helpers for the deploy tooling consolidation (wiring lands next)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The stack side is portable; the router side had no reference material -- a
new operator standing up OBMP has no guide for what to configure on their
devices to feed it. Adds two artifacts, both vendor-neutral in intent,
IOS-XR-specific in syntax:
docs/router-integration.md
Multi-path tour of the four ingest paths (BMP, BGP-LS, gNMI,
NETCONF) with a bring-up checklist and cross-references. The BMP
section is deliberately thin -- it hands off to docs/router-bmp-config.md
for the address-selection, port-choice, and RR-scope activation
detail already covered there.
router-blueprints/iosxr/*.cfg
Copy-paste config fragments, one per ingest path plus a
role-route-reflector overlay. All values are <PLACEHOLDER>
substitutions -- no hardcoded IPs, no lab-gear names. Fragments
align to the ROUTER_FACING_IP / ROUTER_FACING_PORT convention
introduced in docs/router-bmp-config.md.
router-blueprints/README.md
Substitution legend + layout, cross-links to PORTABILITY-FINDINGS.md
finding 4 (why routers can't target HOST_IP on WSL).
Also appends the multi-path guide link to the Greenfield deploy section
in README.md so router-side integration is discoverable from the top.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Repo root keeps only README.md; DOCS.md and DB_SCHEMA.md move to docs/ with
their cross-references updated. The chat-session handoff packets land in
docs/handoff/ as point-in-time records with a README marking the repo docs
as the live source of truth.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
deploy.sh referenced DEPLOYMENT-TYPES.md and router-bmp-config.md, which were
never committed (they lived only in a chat session's outputs). Land them under
docs/ along with PORTABILITY-FINDINGS.md covering all 12 greenfield findings,
including the two from today's deploy (chmod-777-vs-psql, telegraf docker API)
and the open router-side gap (cml tooling still targets HOST_IP:5000).
- scripts/wsl-portproxy.ps1: idempotent elevated-PS helper for the Windows
portproxy + firewall rules; auto-detects the current WSL IP. Replaces the
copy-paste netsh block as the primary path (raw commands kept as fallback).
- deploy.sh: plan now prints the branch @ commit (+dirty marker) so every
deploy records exactly what it ran from; doc references point at docs/.
- README: greenfield quickstart with pinned-checkout guidance; warning on the
manual chmod path that breaks existing Postgres trees (finding 10).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pins the Compose project name and splits services into core / test / auth
profiles so the BMP collector core can deploy standalone. Adds setup.sh
(idempotent bootstrap), .env.example, and repo-resident Authelia config
templates so a fresh host deploys without manual steps. Parameterizes
hardcoded host IP and domain; points the Grafana InfluxDB datasource at the
container name.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>