Skip to content

refactor(workspace): rename tracker crates and package folders#1832

Merged
josecelano merged 1 commit into
torrust:developfrom
josecelano:1829-rename-crates-and-folders
May 27, 2026
Merged

refactor(workspace): rename tracker crates and package folders#1832
josecelano merged 1 commit into
torrust:developfrom
josecelano:1829-rename-crates-and-folders

Conversation

@josecelano
Copy link
Copy Markdown
Member

Summary

  • implement SI-11 / Rename crates and folders to match EPIC desired tracker workspace state #1829 package rename migration from the EPIC matrix
  • rename crate package names from bittorrent-* to torrust-tracker-* for:
    • http-tracker-core
    • tracker-core
    • tracker-client
    • udp-protocol
    • http-protocol
    • udp-tracker-core
  • rename package folders while keeping crate names:
    • axum-http-tracker-server -> axum-http-server
    • axum-rest-tracker-api-server -> axum-rest-api-server
    • rest-tracker-api-client -> rest-api-client
    • rest-tracker-api-core -> rest-api-core
    • udp-tracker-server -> udp-server
  • update all workspace references (manifests/imports/docs/scripts)
  • sync package catalogs and issue specs:
    • AGENTS.md
    • docs/packages.md
    • docs/issues/open/1829-1669-11-rename-crates-and-folders-to-match-desired-tracker-workspace.md
    • docs/issues/open/1669-overhaul-packages/EPIC.md

Notable Implementation Detail

  • renamed console package crate to torrust-tracker-console-client to avoid a workspace duplicate package-name collision with packages/tracker-client (torrust-tracker-client)

Verification

  • cargo build --workspace
  • linter all
  • cargo machete
  • ⚠️ cargo test --workspace reaches a rustc compiler crash (signal: 7, SIGBUS) in this environment while compiling e2e_tests_runner

Scope / Risk

  • no API/behavioral changes intended
  • changes are naming/path migration + reference updates

Copilot AI review requested due to automatic review settings May 26, 2026 20:20
@josecelano josecelano self-assigned this May 26, 2026
@josecelano josecelano linked an issue May 26, 2026 that may be closed by this pull request
17 tasks
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR performs the SI-11 / #1829 workspace rename migration by renaming legacy bittorrent-* crate names to torrust-tracker-*, renaming several package folders to their desired names, and updating all workspace references (Rust imports, manifests, docs, scripts, and tests) to match.

Changes:

  • Renamed multiple workspace crates from bittorrent-* to torrust-tracker-* and updated Rust imports accordingly.
  • Renamed package folders (e.g., udp-tracker-serverudp-server, rest-tracker-api-*rest-api-*) and adjusted paths throughout the workspace.
  • Updated documentation, benchmarks, and CI/dev scripts to reference the new crate/package names.

Reviewed changes

Copilot reviewed 155 out of 248 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/servers/api/contract/stats/mod.rs Update tracker-client import path
src/container.rs Update core/container imports to new crate names
src/console/ci/e2e/logs_parser.rs Update UDP core log target import
src/bootstrap/jobs/udp_tracker.rs Update UDP core imports
src/bootstrap/jobs/udp_tracker_core.rs Update UDP core event listener path
src/bootstrap/jobs/tracker_core.rs Update tracker-core event listener path
src/bootstrap/jobs/torrent_cleanup.rs Update TorrentsManager import
src/bootstrap/jobs/http_tracker.rs Update HTTP core container import
src/bootstrap/jobs/http_tracker_core.rs Update HTTP core event listener path
src/bootstrap/app.rs Update UDP core keys/static init calls
src/app.rs Update persisted metrics loader path
src/AGENTS.md Update package naming in docs table
packages/udp-tracker-core/src/statistics/services.rs Update tracker-core imports in UDP core
packages/udp-tracker-core/src/services/scrape.rs Update tracker-core/protocol imports
packages/udp-tracker-core/src/services/connect.rs Update UDP protocol import
packages/udp-tracker-core/src/services/announce.rs Update tracker-core/protocol imports
packages/udp-tracker-core/src/peer_builder.rs Update UDP protocol types + formatting
packages/udp-tracker-core/src/crypto/ephemeral_instance_keys.rs Update rand trait import
packages/udp-tracker-core/src/container.rs Update tracker-core container import
packages/udp-tracker-core/src/connection_cookie.rs Update UDP protocol import
packages/udp-tracker-core/README.md Update docs.rs link
packages/udp-tracker-core/Cargo.toml Rename crate + update deps
packages/udp-tracker-core/benches/helpers/utils.rs Update crate import
packages/udp-tracker-core/benches/helpers/sync.rs Update crate imports
packages/udp-server/tests/server/mod.rs Add module wiring for tests
packages/udp-server/tests/server/contract.rs Update tracker-client/protocol imports
packages/udp-server/tests/server/asserts.rs Update UDP protocol import
packages/udp-server/tests/integration.rs Add test harness clock alias
packages/udp-server/tests/common/udp.rs Add UDP test client helper
packages/udp-server/tests/common/mod.rs Add test common modules
packages/udp-server/tests/common/fixtures.rs Update UDP protocol import
packages/udp-server/src/statistics/services.rs Update tracker-core imports
packages/udp-server/src/statistics/mod.rs Add UDP server metrics definitions
packages/udp-server/src/statistics/event/mod.rs Add stats event module structure
packages/udp-server/src/statistics/event/listener.rs Update UDP core log target import
packages/udp-server/src/statistics/event/handler/request_received.rs Add handler + tests
packages/udp-server/src/statistics/event/handler/request_banned.rs Add handler + tests
packages/udp-server/src/statistics/event/handler/request_aborted.rs Add handler + tests
packages/udp-server/src/statistics/event/handler/mod.rs Add dispatcher for stats events
packages/udp-server/src/statistics/event/handler/error.rs Update protocol import
packages/udp-server/src/server/states.rs Update UDP core imports
packages/udp-server/src/server/spawner.rs Update UDP core container import
packages/udp-server/src/server/request_buffer.rs Update UDP core log target import
packages/udp-server/src/server/receiver.rs Add stream-based UDP receiver
packages/udp-server/src/server/processor.rs Update UDP core/protocol imports
packages/udp-server/src/server/mod.rs Update UDP core static init + imports
packages/udp-server/src/server/launcher.rs Update client/core imports
packages/udp-server/src/server/bound_socket.rs Update UDP core log target import
packages/udp-server/src/handlers/scrape.rs Update UDP core/protocol imports
packages/udp-server/src/handlers/mod.rs Update core/container/protocol imports
packages/udp-server/src/handlers/error.rs Update core/protocol imports
packages/udp-server/src/handlers/connect.rs Update core/protocol imports
packages/udp-server/src/event.rs Update core/protocol imports
packages/udp-server/src/error.rs Update core/protocol imports + docs
packages/udp-server/src/environment.rs Update core imports + listener path
packages/udp-server/src/container.rs Add UDP server container/services wiring
packages/udp-server/src/banning/mod.rs Add banning module
packages/udp-server/src/banning/event/mod.rs Add banning event module structure
packages/udp-server/src/banning/event/listener.rs Update core imports
packages/udp-server/src/banning/event/handler.rs Update BanService import
packages/udp-server/README.md Add crate README + docs link
packages/udp-server/Cargo.toml Update deps to renamed crates
packages/udp-protocol/Cargo.toml Rename UDP protocol crate
packages/tracker-core/tests/common/test_env.rs Update tracker-core imports
packages/tracker-core/src/test_helpers.rs Update rand trait import
packages/tracker-core/src/lib.rs Update crate-level docs text
packages/tracker-core/src/databases/setup.rs Update doc example import
packages/tracker-core/src/databases/driver/mysql/mod.rs Update test command docs
packages/tracker-core/src/bin/persistence_benchmark/runner.rs Update driver import
packages/tracker-core/src/bin/persistence_benchmark/reporting.rs Update driver imports
packages/tracker-core/src/bin/persistence_benchmark/operations.rs Update driver import
packages/tracker-core/src/bin/persistence_benchmark/driver_bench/operations/whitelist.rs Update store trait import
packages/tracker-core/src/bin/persistence_benchmark/driver_bench/operations/torrent.rs Update store trait import
packages/tracker-core/src/bin/persistence_benchmark/driver_bench/operations/mod.rs Update DB trait imports
packages/tracker-core/src/bin/persistence_benchmark/driver_bench/operations/keys.rs Update auth/store imports
packages/tracker-core/src/bin/persistence_benchmark/driver_bench/mod.rs Update driver import
packages/tracker-core/src/bin/persistence_benchmark/driver_bench/database/sqlite.rs Update initialize_database import
packages/tracker-core/src/bin/persistence_benchmark/driver_bench/database/postgres.rs Update initialize_database import
packages/tracker-core/src/bin/persistence_benchmark/driver_bench/database/mysql.rs Update initialize_database import
packages/tracker-core/src/bin/persistence_benchmark/driver_bench/database/mod.rs Update DB trait/setup imports
packages/tracker-core/src/bin/persistence_benchmark_runner.rs Update docs + trait link
packages/tracker-core/src/authentication/key/peer_key.rs Update rand trait + doc imports
packages/tracker-core/src/authentication/key/mod.rs Update doc imports
packages/tracker-core/README.md Update docs.rs link
packages/tracker-core/migrations/README.md Update test command docs
packages/tracker-core/docs/benchmarking/runs/2026-05-01/REPORT.md Update command docs
packages/tracker-core/docs/benchmarking/runs/2026-04-30/REPORT.md Update command docs
packages/tracker-core/docs/benchmarking/runs/2026-04-28/REPORT.md Update command docs
packages/tracker-core/docs/benchmarking/README.md Update crate references in docs
packages/tracker-core/Cargo.toml Rename crate + bump rand version
packages/tracker-client/src/udp/mod.rs Update protocol import
packages/tracker-client/src/udp/client.rs Update protocol imports
packages/tracker-client/src/peer_id.rs Update protocol PeerId import
packages/tracker-client/src/http/client/requests/announce.rs Update protocol PeerId import
packages/tracker-client/Cargo.toml Rename crate + update deps
packages/rest-api-core/src/statistics/services.rs Update core/http/udp stats imports
packages/rest-api-core/src/statistics/mod.rs Add statistics module exports
packages/rest-api-core/src/statistics/metrics.rs Add metrics resource structs
packages/rest-api-core/src/lib.rs Add module exports
packages/rest-api-core/src/container.rs Update container imports/types
packages/rest-api-core/README.md Add crate README (needs fixes)
packages/rest-api-core/Cargo.toml Update deps paths (udp-server path)
packages/rest-api-client/src/v1/mod.rs Add v1 module export
packages/rest-api-client/src/lib.rs Add module exports
packages/rest-api-client/src/connection_info.rs Add connection/origin types + tests
packages/rest-api-client/src/common/mod.rs Add common module export
packages/rest-api-client/src/common/http.rs Add query helper types
packages/rest-api-client/README.md Add crate README/license notes
packages/rest-api-client/docs/licenses/LICENSE-MIT_0 Add license artifact
packages/rest-api-client/Cargo.toml Add new crate manifest
packages/http-tracker-core/src/statistics/event/handler.rs Update protocol import
packages/http-tracker-core/src/services/scrape.rs Update protocol/core imports
packages/http-tracker-core/src/services/announce.rs Update protocol/core imports
packages/http-tracker-core/src/event.rs Update protocol import
packages/http-tracker-core/src/container.rs Update tracker-core import
packages/http-tracker-core/README.md Update docs.rs link
packages/http-tracker-core/Cargo.toml Rename crate + update deps
packages/http-tracker-core/benches/helpers/util.rs Update imports/types
packages/http-tracker-core/benches/helpers/sync.rs Update AnnounceService import
packages/http-protocol/src/v1/responses/scrape.rs Update doc import path
packages/http-protocol/src/v1/responses/error.rs Update core error conversions
packages/http-protocol/src/v1/responses/announce.rs Update doc import path
packages/http-protocol/src/v1/requests/announce.rs Update doc import + UDP event mapping
packages/http-protocol/src/v1/query.rs Update doc imports
packages/http-protocol/src/percent_encoding.rs Update doc imports
packages/http-protocol/README.md Update docs.rs link
packages/http-protocol/Cargo.toml Rename crate + update deps
packages/axum-rest-api-server/tests/server/v1/mod.rs Add test module wiring
packages/axum-rest-api-server/tests/server/v1/contract/mod.rs Add contract modules
packages/axum-rest-api-server/tests/server/v1/contract/fixtures.rs Add invalid infohash fixtures
packages/axum-rest-api-server/tests/server/v1/contract/context/stats.rs Add stats contract tests
packages/axum-rest-api-server/tests/server/v1/contract/context/mod.rs Add context modules
packages/axum-rest-api-server/tests/server/v1/contract/context/health_check.rs Add health_check contract test
packages/axum-rest-api-server/tests/server/v1/contract/context/auth_key.rs Update Key imports in tests
packages/axum-rest-api-server/tests/server/mod.rs Update SchemaMigrator import
packages/axum-rest-api-server/tests/server/connection_info.rs Add connection info helpers
packages/axum-rest-api-server/tests/integration.rs Add test harness clock alias
packages/axum-rest-api-server/tests/common/mod.rs Add test common module
packages/axum-rest-api-server/tests/common/fixtures.rs Add invalid info hash fixtures
packages/axum-rest-api-server/src/v1/routes.rs Add v1 router wiring
packages/axum-rest-api-server/src/v1/responses.rs Add shared response helpers (has TODO notes)
packages/axum-rest-api-server/src/v1/mod.rs Add v1 module docs/exports
packages/axum-rest-api-server/src/v1/middlewares/mod.rs Add middleware module export
packages/axum-rest-api-server/src/v1/context/whitelist/routes.rs Update WhitelistManager import
packages/axum-rest-api-server/src/v1/context/whitelist/responses.rs Add whitelist error responses
packages/axum-rest-api-server/src/v1/context/whitelist/mod.rs Add whitelist context docs
packages/axum-rest-api-server/src/v1/context/whitelist/handlers.rs Update WhitelistManager import
packages/axum-rest-api-server/src/v1/context/torrent/routes.rs Update repository import
packages/axum-rest-api-server/src/v1/context/torrent/responses.rs Update service imports
packages/axum-rest-api-server/src/v1/context/torrent/resources/torrent.rs Update service imports
packages/axum-rest-api-server/src/v1/context/torrent/resources/peer.rs Add peer API resource
packages/axum-rest-api-server/src/v1/context/torrent/resources/mod.rs Add resource module exports
packages/axum-rest-api-server/src/v1/context/torrent/mod.rs Add torrent context docs
packages/axum-rest-api-server/src/v1/context/torrent/handlers.rs Update torrent service imports
packages/axum-rest-api-server/src/v1/context/stats/routes.rs Add stats routes
packages/axum-rest-api-server/src/v1/context/stats/responses.rs Add stats/metrics responses
packages/axum-rest-api-server/src/v1/context/stats/mod.rs Add stats context docs
packages/axum-rest-api-server/src/v1/context/stats/handlers.rs Update stats handler state types/imports
packages/axum-rest-api-server/src/v1/context/mod.rs Add context module exports
packages/axum-rest-api-server/src/v1/context/health_check/resources.rs Add health_check resources (doc needs fix)
packages/axum-rest-api-server/src/v1/context/health_check/mod.rs Add health_check docs (needs fix)
packages/axum-rest-api-server/src/v1/context/health_check/handlers.rs Add health_check handler (doc needs fix)
packages/axum-rest-api-server/src/v1/context/auth_key/routes.rs Update KeysHandler import
packages/axum-rest-api-server/src/v1/context/auth_key/responses.rs Add auth_key responses
packages/axum-rest-api-server/src/v1/context/auth_key/resources.rs Update authentication imports
packages/axum-rest-api-server/src/v1/context/auth_key/handlers.rs Update core error type paths
packages/axum-rest-api-server/src/v1/context/auth_key/forms.rs Add AddKeyForm type
packages/axum-rest-api-server/src/server.rs Update UDP core static init
packages/axum-rest-api-server/src/routes.rs Add API router + middleware stack (has bugs)
packages/axum-rest-api-server/src/environment.rs Update container imports/static init
packages/axum-rest-api-server/README.md Add README (docs link needs fix)
packages/axum-rest-api-server/Cargo.toml Update deps to renamed/moved crates
packages/axum-http-server/tests/server/v1/mod.rs Add v1 test module export
packages/axum-http-server/tests/server/v1/contract.rs Update protocol/core imports in tests
packages/axum-http-server/tests/server/responses/mod.rs Add response modules
packages/axum-http-server/tests/server/responses/error.rs Add error response DTO
packages/axum-http-server/tests/server/responses/announce.rs Add announce response DTOs
packages/axum-http-server/tests/server/requests/scrape.rs Add scrape request builder
packages/axum-http-server/tests/server/requests/mod.rs Add request modules
packages/axum-http-server/tests/server/requests/announce.rs Update protocol PeerId import
packages/axum-http-server/tests/server/mod.rs Add test utilities/helpers
packages/axum-http-server/tests/server/client.rs Update Key import
packages/axum-http-server/tests/integration.rs Add test harness clock alias
packages/axum-http-server/tests/common/mod.rs Add test common modules
packages/axum-http-server/tests/common/http.rs Add query helper for tests
packages/axum-http-server/tests/common/fixtures.rs Add fixtures + rand usage
packages/axum-http-server/src/v1/routes.rs Update HTTP core container import
packages/axum-http-server/src/v1/mod.rs Add v1 module exports
packages/axum-http-server/src/v1/handlers/mod.rs Add handler modules
packages/axum-http-server/src/v1/handlers/health_check.rs Add health_check handler
packages/axum-http-server/src/v1/handlers/announce.rs Update core/protocol imports
packages/axum-http-server/src/v1/extractors/scrape_request.rs Update protocol imports in docs/code
packages/axum-http-server/src/v1/extractors/mod.rs Add extractor modules
packages/axum-http-server/src/v1/extractors/client_ip_sources.rs Update protocol import
packages/axum-http-server/src/v1/extractors/authentication_key.rs Update core/protocol imports in docs/code
packages/axum-http-server/src/v1/extractors/announce_request.rs Update protocol imports in docs/code
packages/axum-http-server/src/server.rs Update HTTP core imports
packages/axum-http-server/src/environment.rs Update core imports
packages/axum-http-server/README.md Add README + docs link
packages/axum-http-server/Cargo.toml Update deps to renamed crates
packages/axum-health-check-api-server/Cargo.toml Update paths to renamed server crates
packages/AGENTS.md Update package catalog diagram/names
docs/packages.md Update package list and names
contrib/dev-tools/benches/run-benches.sh Update bench package names
console/tracker-client/src/console/clients/unified/udp.rs Update UDP protocol imports
console/tracker-client/src/console/clients/unified/http.rs Update tracker-client/protocol imports
console/tracker-client/src/console/clients/udp/responses/dto.rs Update protocol imports + re-order uses
console/tracker-client/src/console/clients/udp/mod.rs Update tracker-client/protocol imports
console/tracker-client/src/console/clients/udp/checker.rs Update tracker-client/protocol imports
console/tracker-client/src/console/clients/udp/app.rs Update protocol imports
console/tracker-client/src/console/clients/http/mod.rs Update tracker-client error type path
console/tracker-client/src/console/clients/http/app.rs Update tracker-client/protocol imports
console/tracker-client/src/console/clients/checker/monitor/udp.rs Update tracker-client/protocol imports
console/tracker-client/src/console/clients/checker/checks/udp.rs Update protocol import
console/tracker-client/src/console/clients/checker/checks/http.rs Update tracker-client imports
console/tracker-client/src/bin/udp_tracker_client.rs Update console crate path
console/tracker-client/src/bin/tracker_client.rs Update console crate path
console/tracker-client/src/bin/tracker_checker.rs Update console crate path
console/tracker-client/src/bin/http_tracker_client.rs Update console crate path
console/tracker-client/Cargo.toml Rename console crate + update deps
Cargo.toml Update workspace deps and member paths
AGENTS.md Update crate/package catalog names

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 26, 2026

Codecov Report

❌ Patch coverage is 62.96296% with 20 lines in your changes missing coverage. Please review.
✅ Project coverage is 77.76%. Comparing base (cf75e9c) to head (33cca9f).

Files with missing lines Patch % Lines
packages/http-protocol/src/v1/requests/announce.rs 0.00% 5 Missing ⚠️
packages/http-protocol/src/v1/responses/error.rs 0.00% 4 Missing ⚠️
...m-rest-api-server/src/v1/context/stats/handlers.rs 40.00% 3 Missing ⚠️
packages/rest-api-core/src/statistics/services.rs 57.14% 3 Missing ⚠️
packages/udp-tracker-core/src/peer_builder.rs 50.00% 3 Missing ⚠️
...est-api-server/src/v1/context/auth_key/handlers.rs 66.66% 1 Missing ⚠️
src/app.rs 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1832      +/-   ##
===========================================
+ Coverage    77.64%   77.76%   +0.12%     
===========================================
  Files          379      379              
  Lines        28604    28608       +4     
  Branches     28604    28608       +4     
===========================================
+ Hits         22209    22247      +38     
+ Misses        6082     6050      -32     
+ Partials       313      311       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@josecelano josecelano force-pushed the 1829-rename-crates-and-folders branch from 48558c7 to 975f7ac Compare May 26, 2026 20:51
@josecelano josecelano requested a review from a team as a code owner May 26, 2026 20:51
@josecelano josecelano force-pushed the 1829-rename-crates-and-folders branch from 975f7ac to 33cca9f Compare May 27, 2026 06:30
@josecelano
Copy link
Copy Markdown
Member Author

ACK 33cca9f

@josecelano josecelano merged commit 7242b48 into torrust:develop May 27, 2026
26 of 27 checks passed
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.

Rename crates and folders to match EPIC desired tracker workspace state

2 participants