Retire API v1 ingest URLs (`/api/raw-packet/`, legacy node paths)

Open
#319 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Quiet
Tech stack
django, python
Domain
api, backend

Research direction

Start with Meshflow/urls.py and packets.urls to confirm that only the {node_id}/ingest/ and {node_id}/nodes/ routes are registered, then search the tree for any remaining v1 view code tied to /api/raw-packet/. Check openapi.yaml for the deprecated POST /raw-packet/ entry and the docs under docs/features/packet-ingestion/. Done means no v1 routes or view code remain, the docs describe v2 only, and any compatibility redirect decision is recorded. The bot-side change and the production proxy question need maintainer input before merging.

Written by the indexing model from the issue text.

Description

Summary

Meshtastic packet ingest v1 used unscoped URLs (POST /api/raw-packet/, /api/nodes/) that predate the current packets app layout. v2 uses observer-scoped routes:

  • POST /api/packets/{node_id}/ingest/
  • POST /api/packets/{node_id}/nodes/

OpenAPI now documents v2 paths and marks POST /raw-packet/ as deprecated (SP-01 #308). v1 is not registered in the current Django urlconf (Meshflow/urls.py → packets.urls only exposes {node_id}/ingest/ and {node_id}/nodes/).

Goal

Formally retire v1 on the API side and coordinate with meshflow-bot dropping STORAGE_API_VERSION=1 (see linked bot issue).

Scope (API)

  • Confirm no production urlconf / reverse-proxy still depends on /api/raw-packet/ (or document explicit redirect shim if required during transition)
  • Remove or gate any dead v1 view code if it still exists in the tree
  • Update operator docs (docs/features/packet-ingestion/, deploy examples) to state v2-only
  • After bot default is v2 and operators migrated: remove deprecated POST /raw-packet/ from openapi.yaml (or keep stub only if a compat redirect remains)

Out of scope

  • URL prefix rename /api/packets/ → /api/meshtastic/ (meshcore rename SP-03+)
  • MeshCore ingest (/api/meshcore/packets/ingest/)

Related

Dominant language
Python
Stars
1
Forks
0
Avg merge
1d 10h
Merged PRs (30d)
8

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from pskillen/meshflow-api

All issues in pskillen/meshflow-api

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.