Skip to content

KAN-742 chore(workspace): add kanban-api, kanban-server, kanban-http-backend crate stubs#337

Closed
fulsomenko wants to merge 3 commits into
developfrom
max/kan-742
Closed

KAN-742 chore(workspace): add kanban-api, kanban-server, kanban-http-backend crate stubs#337
fulsomenko wants to merge 3 commits into
developfrom
max/kan-742

Conversation

@fulsomenko

Copy link
Copy Markdown
Owner

Add three empty crate stubs to the workspace as the prerequisite for the HTTP collaborative backend (KAN-684):

  • Add crates/kanban-api/ -- wire types library; empty lib.rs, depends on kanban-domain + serde/uuid/chrono
  • Add crates/kanban-server/ -- axum binary crate; stub fn main() only, depends on axum/tower/tokio/kanban-api/kanban-service/prometheus
  • Add crates/kanban-http-backend/ -- HTTP client backend library; empty lib.rs, depends on reqwest/tokio-tungstenite/kanban-api/kanban-service/kanban-persistence
  • Register all three in [workspace] members in root Cargo.toml
  • Add shared workspace deps: axum 0.8 (ws feature), tower 0.5, tower-http 0.6 (trace+cors), reqwest 0.12 (json+blocking+rustls-tls, no native-tls to avoid OpenSSL in Nix), tokio-tungstenite 0.26, prometheus 0.13

What: Three new workspace members with empty implementations. cargo check --workspace passes; no logic is added in this card.

Why: Subsequent cards (KAN-712, KAN-689, KAN-697) need their target crates to exist as workspace members before they can add code. This card creates those entries so each scaffold card is a clean one-concern commit.

How: Minimal Cargo.toml per crate following workspace patterns; reqwest uses rustls-tls (not native-tls) because the Nix dev shell does not expose OpenSSL headers.

Testing: cargo check --workspace (clean, no errors), cargo clippy --all-targets --all-features -- -D warnings (clean).

…crate stubs

Registers three new empty crates in the workspace so Phase 2/3/4 cards
can scaffold their implementations without hitting "not a member of
workspace" errors. Adds axum, tower, tower-http, reqwest (rustls-tls),
tokio-tungstenite, and prometheus as shared workspace dependencies.
@fulsomenko fulsomenko self-assigned this Jun 13, 2026
- Bump tokio-tungstenite workspace pin to 0.29 to match axum 0.8's
  transitive dependency and eliminate the duplicate version in the tree
- Remove redundant serde_json from kanban-api dev-dependencies (already
  a regular dependency)
- Strip KAN card references from stub source comments; they belong in
  the PR description, not the code
- Rename changeset to follow kan-NNN-description convention
@fulsomenko

Copy link
Copy Markdown
Owner Author

Closing to reopen on correctly named branch KAN-742/add-kanban-api-server-http-backend-crate-stubs.

@fulsomenko fulsomenko closed this Jun 13, 2026
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.

1 participant