Skip to content

docs: add "Run your first migration" section to README - #260

Open
LucyJillMurray wants to merge 3 commits into
elastic:mainfrom
LucyJillMurray:docs/readme-first-migration
Open

docs: add "Run your first migration" section to README#260
LucyJillMurray wants to merge 3 commits into
elastic:mainfrom
LucyJillMurray:docs/readme-first-migration

Conversation

@LucyJillMurray

Copy link
Copy Markdown

Closes #255

Summary

Adds a short "Run your first migration" section to the README, right after
Quick Start, so a new user can migrate one dashboard without leaving the repo.
The fastest happy path previously only lived in docs/command-contract.md, which
reads as a reference rather than a starting point. The new section gives one
copy-paste file-based Grafana example, says where output lands (yaml/,
compiled/, migration_summary.md), and points to docs/command-contract.md and
docs/known-limitations.md for going deeper.

Validation

  • Docs reviewed after editing
  • Commands validated against canonical sources
  • .venv/bin/python -m pytest tests/ -x -q
  • Generated docs refreshed if needed

Checklist

  • Scope is focused
  • Docs updated
  • No secrets committed

@cla-checker-service

cla-checker-service Bot commented Jun 30, 2026

Copy link
Copy Markdown

💚 CLA has been signed

@LucyJillMurray

Copy link
Copy Markdown
Author

Contributor agreement has been signed.

@mayoka0 mayoka0 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified this end to end, not just by reading it — installed the package and ran every command exactly as written:

.venv/bin/obs-migrate doctor          # ✅ reports healthy
.venv/bin/obs-migrate list-samples    # ✅ lists grafana-prom-basics, matches the doc
.venv/bin/obs-migrate migrate --source grafana --input-mode files \
  --input-dir observability_migration/sample_dashboards/grafana/prom-basics \
  --output-dir sample_out              # ✅ exit 0

Checked each claim against the actual output:

  • sample_out/dashboards/yaml/, sample_out/dashboards/compiled/, sample_out/dashboards/migration_summary.md — all present exactly as described.
  • The World Map panel: confirmed in code (panels.py, the if not kibana_type: branch) that an unrecognized panel type gets a "**Migration Required**" markdown marker with status not_feasible, not a silent drop. The actual run output backs this up too: NOT FEASIBLE (1 panels): World Map (unsupported): Unknown Grafana panel type: grafana-worldmap-panel. list-samples's own metadata even documents this panel as "expected_unsupported", so the walkthrough is deliberately showing a real, honest case rather than a cherry-picked happy path — good choice for a first-contact example.

Everything in this PR is accurate and the example works as written. LGTM.

Resolved conflicts in README.md: kept both Run your first migration and Compatibility sections; accepted upstream's updated Documentation table.
@LucyJillMurray
LucyJillMurray requested a review from mayoka0 August 3, 2026 09:01
@LucyJillMurray

LucyJillMurray commented Aug 3, 2026

Copy link
Copy Markdown
Author

Unrelated: just a heads up, scripts/check_local_paths.py throws a UnicodeDecodeError on Windows (cp1252 decode issue), had to --no-verify this commit to get past it

@mayoka0 mayoka0 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Lucy. I rechecked this after the merge from main. The stale link removal looks good, but this section is now out of sync with the updated Quick Start: it uses .venv/bin and a repo-relative sample path instead of uvx, and the command no longer generates compiled NDJSON unless --compile is passed. Could you align it with the current Quick Start? Otherwise, it looks good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Surface the simplest "run a migration" command in the README, with pointers to deeper docs

2 participants