Skip to content

SI-28: Extract torrust-server-lib to standalone repository (EPIC #1669) #1909

@josecelano

Description

@josecelano

Subissue of EPIC #1669 — Overhaul: Packages

Goal

Extract the torrust-server-lib crate from the tracker workspace into its own standalone repository.

Background

torrust-server-lib (folder packages/server-lib) is a shared utility crate for all Torrust HTTP servers. Key facts:

  • Independent dependency tree: its only Torrust dependency is torrust-net-primitives (published v0.1.0).
  • Five workspace consumers: axum-health-check-api-server, axum-http-server, axum-rest-api-server, axum-server, udp-server.
  • Already published on crates.io as torrust-server-lib.

Scope

  • Create standalone repository torrust/torrust-server-lib.
  • Move source with history preservation.
  • Make Cargo.toml self-contained.
  • Set up CI.
  • Update all 5 consumers + root Cargo.toml to use crates.io version dep.
  • Remove from workspace members.
  • Update AGENTS.md, packages/AGENTS.md, docs/packages.md.

Acceptance Criteria

  • Standalone repo exists on GitHub with CI.
  • No path dep on torrust-server-lib remains in workspace.
  • cargo build --workspace, cargo test --workspace, linter all pass.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions