Split: move to a Cargo workspace, shared feed crate #202

Closed
opened 2026-10-11 20:01:38 -07:00 by rays · 1 comment
Owner

Part of splitting ipx into a directory service, a backend and a frontend, in this repo (see the tracking issue).

Move to a Cargo workspace with no change in behaviour:

Cargo.toml          workspace
crates/feed/        conditional GET, RSS/Atom/OPML parsing (from feed.rs), looks_private() (from web.rs)
crates/ipx/         the backend: today's src/
web/                unchanged for now

crates/feed is what the directory will share with ipx: the same parser for its metadata refresher, and the same looks_private() on both sides of a snapshot.

Done when: cargo test, the page checks, Playwright and the load tests pass from the new layout; the Dockerfile, CLAUDE.md, docs/architecture.md and tests point at the new paths; the image deployed behaves as before.

Part of splitting ipx into a directory service, a backend and a frontend, in this repo (see the tracking issue). Move to a Cargo workspace with no change in behaviour: ``` Cargo.toml workspace crates/feed/ conditional GET, RSS/Atom/OPML parsing (from feed.rs), looks_private() (from web.rs) crates/ipx/ the backend: today's src/ web/ unchanged for now ``` `crates/feed` is what the directory will share with ipx: the same parser for its metadata refresher, and the same `looks_private()` on both sides of a snapshot. Done when: `cargo test`, the page checks, Playwright and the load tests pass from the new layout; the Dockerfile, CLAUDE.md, docs/architecture.md and tests point at the new paths; the image deployed behaves as before.
rays added the enhancement label 2026-10-11 20:01:38 -07:00
Author
Owner

Done in beded23: crates/ipx and crates/feed (ipx-feed). fetch takes an address and credentials instead of config::Feed; collect_outlines and url_looks_private (the address half of looks_private) live in the feed crate. All suites pass; deployed as 0.12.1-dev and healthy. The load tests were not run: their binary path, target/release/ipx, did not change.

Done in beded23: crates/ipx and crates/feed (ipx-feed). fetch takes an address and credentials instead of config::Feed; collect_outlines and url_looks_private (the address half of looks_private) live in the feed crate. All suites pass; deployed as 0.12.1-dev and healthy. The load tests were not run: their binary path, target/release/ipx, did not change.
rays closed this issue 2026-10-11 20:30:09 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rays/ipx#202