You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Overhaul the Torrust Tracker configuration to schema version 3.0.0, incorporating multiple pending enhancements, security improvements, and structural changes — many of which are breaking changes that justify the schema version bump.
Deliver a cleaner, more extensible, and more secure configuration model that supports modern deployment scenarios (reverse proxies, TLS, multi-instance metrics, logging flexibility, secrets management).
The current configuration schema (v2.0.0) has accumulated several limitations:
No public URL awareness — the application cannot know its own public-facing URLs (Include public service URL in configuration #1417), which breaks metrics aggregation, API discoverability, and logging in reverse-proxy setups.
No logging style configuration — TraceStyle is hardcoded to Default, not configurable (New config option for logging style #889). Additionally, the threshold field name is misleading — it should be renamed to trace_filter to match tracing crate terminology.
Several of these changes are breaking (schema reorganisation, field renames, removal of global [core.net]), making this the right time to bump the schema version from 2.0.0 to 3.0.0.
Note on versioning: The tracker application and configuration schema use independent version systems. The tracker app goes from 3.0.0 → 4.0.0, while the config schema goes from 2.0.0 → 3.0.0.
Goal
Overhaul the Torrust Tracker configuration to schema version 3.0.0, incorporating multiple pending enhancements, security improvements, and structural changes — many of which are breaking changes that justify the schema version bump.
Deliver a cleaner, more extensible, and more secure configuration model that supports modern deployment scenarios (reverse proxies, TLS, multi-instance metrics, logging flexibility, secrets management).
Spec:
docs/issues/drafts/configuration-overhaul-epic.mdWhy This Is Needed
The current configuration schema (
v2.0.0) has accumulated several limitations:on_reverse_proxy— the setting applies to all HTTP trackers, preventing mixed deployments where some trackers are behind a proxy and others are not (Support per-HTTP-trackeron_reverse_proxysetting #1640).secrecyto handle secrets #1490).SocketAddris used whereServiceBinding(protocol + address) would provide richer context for logs, health checks, and metrics (Make server listen URL available where server socket address is also available #1415).TraceStyleis hardcoded toDefault, not configurable (New config option for logging style #889). Additionally, thethresholdfield name is misleading — it should be renamed totrace_filterto matchtracingcrate terminology.Several of these changes are breaking (schema reorganisation, field renames, removal of global
[core.net]), making this the right time to bump the schema version from2.0.0to3.0.0.Subissues
v2_0_0→v3_0_0as baselinetsl_config→tls_configtypoNetworkblockpublic_urlconfig fieldServiceBindinginstead of bareSocketAddrsecrecycrateDependency Graph
Critical path
1 → 2 → 3 → 4 → 9and1 → 2 → 3 → 7 → 9Scope
In Scope
2.0.0to3.0.0v2_0_0module tov3_0_0as the starting point for breaking changesOut of Scope
packages/configurationinto sub-packages (tracked in Overhaul: Packages #1669 EPIC)