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 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 including reverse proxies, TLS, multi-instance metrics, logging flexibility, secrets management, and explicit trust policies.
No public URL awareness: the application cannot know its public-facing URLs (Include public service URL in configuration #1417), which affects metrics aggregation, API discoverability, and logging in reverse-proxy setups.
No logging style configuration: TraceStyle is hardcoded, and the threshold field should become trace_filter to match tracing terminology (New config option for logging style #889).
Several changes are breaking, including schema reorganization, field renames, and removal of global [core.net], making this the right time to bump the configuration schema 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 to 4.0.0, while the config schema goes from 2.0.0 to 3.0.0.
Goal
Overhaul the Torrust Tracker configuration to schema version 3.0.0, incorporating 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 including reverse proxies, TLS, multi-instance metrics, logging flexibility, secrets management, and explicit trust policies.
Specification:
docs/issues/open/1978-configuration-overhaul-epic.mdWhy This Is Needed
on_reverse_proxy: the setting applies to all HTTP trackers, preventing mixed deployments where only some trackers are behind a proxy (Support per-HTTP-trackeron_reverse_proxysetting #1640).secrecyto handle secrets #1490).SocketAddris used whereServiceBindingwould provide protocol-aware identity for logs, health checks, and metrics (Make server listen URL available where server socket address is also available #1415).TraceStyleis hardcoded, and thethresholdfield should becometrace_filterto matchtracingterminology (New config option for logging style #889).ipparameter: the parameter is parsed but ignored, so controlled deployments cannot choose to trust a client-provided peer address (Add per-HTTP-tracker config option to use peer IP fromipGET parameter (sub-issue of #1978) #1987).Several changes are breaking, including schema reorganization, field renames, and removal of global
[core.net], making this the right time to bump the configuration schema from2.0.0to3.0.0.Subissues
v2_0_0tov3_0_0as baselinetsl_configtotls_configtypoNetworkblockServiceBindingfor service identityipparameterGitHub's native subissue hierarchy is the source of truth for completion status.
Dependency Summary
tsl_config→tls_configtypo across the codebase #1981 precedes Support per-HTTP-trackeron_reverse_proxysetting #1640.on_reverse_proxysetting #1640 precedes Include public service URL in configuration #1417, Overhaul Secrets: consider usingsecrecyto handle secrets #1490, and Add per-HTTP-tracker config option to use peer IP fromipGET parameter (sub-issue of #1978) #1987.ipGET parameter (sub-issue of #1978) #1987 also depends on Renamepeer_addrGET param toipin HTTP announce request (BEP 3) #1985 outside this EPIC.Scope
In Scope
2.0.0to3.0.0.v2_0_0tov3_0_0as the starting point for breaking changes.Out of Scope
packages/configurationinto sub-packages, tracked in Overhaul: Packages #1669.