Print the loaded configuration on startup
Currently, users have no way of knowing exactly what configuration values are in use.
For example, if you accidentally misspell the name of a field, arti will print out a warning:
arti: WARN tor_config::load: unrecognized configuration key: circuit_timing.hs_intro_rend_attemptss
The field will be default-initialized, but this is not immediately obvious IMO. As a user, I want to know exactly what configuration values are in use. Perhaps we could add an option for logging the loaded configuration:
[logging]
# Whether to print out the configured options on start up,
# and whenever the configuration is reloaded.
#
# If set to `true`, the configuration is printed in a log message of level `debug`.
#log_loaded_config = false
Even better, we could have a --dry-run
flag (arti proxy [-c config.toml] --dry-run
), or a check-config
subcommand.
I think this would be especially useful for relay operators (I want the ability to double-check that arti is configured correctly before starting it up).
Edited by gabi-250