obmp-docker/docs/handoff/00-HANDOFF-BRIEF.md
Sam 9e67ef10ba docs: consolidate all markdown under docs/, archive the handoff packets
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>
2026-07-20 16:04:40 -07:00

4.3 KiB

Handoff brief — OpenBMP greenfield deployment work

From: Claude (chat instance) working with Sam on deployment/portability. To: Claude (VSCode instance) working directly in the obmp-docker Gitea repo. Date: 2026-07-20.

We don't share memory. This packet is the bridge. Sam is the channel between us.


One-paragraph summary

Sam is standing the obmp-docker stack up on a new WSL2 host (NWE-LT02, Ubuntu 24.04), separate from the dev lab, to shake out greenfield-portability problems before prod. Over this session we built a deploy.sh wrapper around the repo's existing setup.sh that reconciles host-specific .env values before provisioning, plus supporting docs. We hit and fixed a long chain of deployment artifacts (details in 02-FINDINGS.md). The stack is now finally pulling images and coming up on a native docker daemon after the big blocker — Docker Desktop's cross-VM bind-mount failure — was resolved by switching to native docker-in-WSL. Current open thread: Grafana came up without its expected customizations, and we're not sure the repo checkout is on the right branch. That's where you come in — you can see the repo directly.


What this session produced (lives in Sam's chat outputs, not the repo yet)

A deploy.sh + docs bundle intended to drop into the repo root. Sam has these files; they are NOT yet committed to the repo (that's a decision for you + Sam):

  • deploy.sh — interactive greenfield deploy wrapper (see 01-DEPLOY-SCRIPT.md)
  • DEPLOYMENT-TYPES.md — the three deployment types, locked
  • PORTABILITY-FINDINGS.md — everything that broke and why
  • router-bmp-config.md — IOS-XR BMP config reference
  • README.md — bundle overview

If you want to integrate these into the repo, coordinate branch/placement with Sam. They were written against the repo's current setup.sh, .env.example, and docker-compose.yml as pasted into chat.


THE OPEN QUESTION FOR YOU (highest priority)

Grafana is up but its customizations are missing. Sam expected them to be "part of the repo." Then Sam raised the real doubt: "did I even pull the correct branch?"

You can answer this directly — you have the repo. Please determine:

  1. What branch/commit is the working checkout on? git branch --show-current && git log --oneline -5 && git status

  2. Is the Grafana provisioning committed, and on which branch? The stack provisions Grafana from obmp-grafana/provisioning/ (setup.sh copies it to ${OBMP_DATA_ROOT}/grafana/provisioning/, bind-mounted into the container). Check whether dashboards/datasources actually exist in the tree, and on which branch:

    git ls-tree -r --name-only HEAD -- obmp-grafana/provisioning/
    git branch -a
    git ls-tree -r --name-only origin/main -- obmp-grafana/provisioning/
    # and any feature branch you've been working on
    
  3. Were the Grafana customizations ever committed as code, or did they only ever exist as UI state in a grafana.db (i.e. hand-built, never exported to provisioning)? This is the crux: "supposed to be in the repo" may have been intent, not reality. You'd know — did you commit dashboard JSON?

The fork:

  • On wrong branch → check out the right one, redeploy; provisioning returns.
  • Right branch, provisioning present but not loading → permissions/timing; docker compose restart grafana after confirming files are in /var/openbmp/grafana/provisioning/.
  • Provisioning never committed → the customizations were UI-only; they need exporting to the repo now so future greenfield deploys reproduce them. This is itself a portability finding.

Immediate deployment state (as of handoff)

  • Host: WSL2, Ubuntu 24.04.4, NWE-LT02, 22 vCPU / ~15 GB RAM.
  • Daemon: native docker-ce 29.6.2 (NOT Docker Desktop — that was the bug). docker info confirms Operating System: Ubuntu 24.04.4 LTS.
  • OBMP_DATA_ROOT=/var/openbmp (native ext4, /dev/sdg).
  • Deploy command in use: ./deploy.sh --wsl --scope full-stack --auth local
  • Stack was pulling images and progressing past the volume-mount failure that blocked every earlier attempt.
  • Grafana reachable at http://<wsl-ip>:3000/grafana/, login admin/openbmp.

See 02-FINDINGS.md for the full list of what broke and how it was fixed, and 03-NEXT-STEPS.md for what remains.