aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-relay/src/config.rs
Commit message (Collapse)AuthorAgeFilesLines
* Stub out opentelemetry config when feature is disabled.Wesley Aptekar-Cassels9 days1-2/+5
|
* Fix many review comments.Wesley Aptekar-Cassels9 days1-2/+2
| | | | Mostly relating to typos and dependencies.
* Fix clippy lints.Wesley Aptekar-Cassels2026-08-111-2/+0
|
* Fix cyclic dependency issues.Wesley Aptekar-Cassels2026-08-101-4/+5
|
* tor-config-shared: Stop using Option<Duration>.Wesley Aptekar-Cassels2026-08-101-2/+6
|
* Add new tor-conig-shared crate.Wesley Aptekar-Cassels2026-08-101-4/+6
| | | | | This contains configuration types that are shared between arti and arti-rely.
* maint: Run maint/add_warning to deny string slicesClara Engler2026-06-091-0/+1
| | | | | | | | | | | | This commit executes maint/add_warning with the just added change to deny string slices except in tests. I recommend auditing this by checking out the previous commit followed by running the script yourself and then verifying that the diff is identical to this commit. This commit makes cargo clippy fail. We will add exceptions in the next commit.
* arti-relay: Add metrics exporter.Wesley Aptekar-Cassels2026-05-261-1/+6
| | | | | | | | | This currently does not actually export any metrics, but puts the infrastructure in place to do so. This adds the `experimental`, `__is_experimental`, etc features to arti-relay. I presume we want to do that in the long term, but I'm not 100% sure on that.
* relay: Pass advertise SocketAddr to channel builder instead of IpAddrDavid Goulet2026-04-091-5/+5
| | | | | | | | | | This trickles down to the tor-proto channel handshake code. But, the real need is in the channel builder in order to validate the outbound channel target. Fixes #2440 Signed-off-by: David Goulet <[email protected]>
* arti-relay: add `log_sensitive_information` config optionSteven Engler2026-03-241-0/+12
|
* tor-relay: convert to derive_deftly(TorConfig)Nick Mathewson2026-02-241-55/+43
|
* relay: Pass advertised addresses to the channel handlerDavid Goulet2026-01-221-1/+12
| | | | | | | | | | | We need the advertised addresses for the NETINFO cell when opening a relay channel. Keep them in the TorRelay object so we can pass them to the ChanMgr channel handler. This will also help with config reload where only the local values in TorRelay will need to be updated. Signed-off-by: David Goulet <[email protected]>
* arti-relay: remove `ARTI_RELAY_SHARED_DATA` cfg variableSteven Engler2026-01-051-5/+6
|
* arti-relay: implement `CircMgrConfig`Steven Engler2025-12-171-1/+45
|
* arti-relay: implement `GuardMgrConfig`Steven Engler2025-12-171-0/+24
|
* arti-relay: add `NetworkConfig` to configSteven Engler2025-12-171-0/+6
|
* arti-relay: add `StorageConfig::cache_dir()` helperSteven Engler2025-12-171-1/+12
|
* arti-relay: advertise config fields are now listsSteven Engler2025-12-091-4/+5
| | | | | | | | | | | | | | | | Example: ```toml [relay.advertise] ipv4 = [] ipv6 = ["[10::]:10"] ``` ```text Error: Failed to resolve configuration [...] The list is empty for key "default.relay.advertise.ipv4" in [...] ```
* arti-relay: remove checks on "advertise" addressesSteven Engler2025-11-191-53/+8
|
* arti-relay: fix doc commentsSteven Engler2025-11-181-5/+5
|
* arti-relay: remove builder testsSteven Engler2025-11-121-20/+0
| | | | We don't plan to use the builders.
* arti-relay: remove `Default` tests from configSteven Engler2025-11-121-2/+2
| | | | | arti-relay has required config options, which means that `TorRelayConfig` cannot have a default.
* arti-relay: added config options for OR port and advertiseSteven Engler2025-11-121-0/+96
|
* arti-relay: update some commentsSteven Engler2025-11-121-7/+5
|
* Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-061-1/+1
| | | | Run maint/add_warning
* arti-relay: add a `SystemConfig` to the relay configSteven Engler2025-10-211-0/+18
|
* arti-relay: add note to `StorageConfig::permissions`Steven Engler2025-10-211-0/+6
|
* arti-relay: small change to `create_keymgr()`Steven Engler2025-10-211-15/+0
|
* arti-relay: initialize the `StateDirectory` and `FsStateMgr`Steven Engler2025-10-211-0/+23
|
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-1/+1
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* arti-relay: Removed dependency on `once_cell`hashcatHitman2025-06-141-4/+4
| | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
* arti-relay: remove 'override_net_params' configSteven Engler2025-01-141-20/+1
| | | | | | | We think that for relays, the 'override_net_params' config option is overly broad and a footgun. We can always re-add this back later if we want to, but for now the focus will be on exposing specific config options for features that are okay to be changed by users.
* arti-relay: fix rust/clippy lintsSteven Engler2025-01-141-1/+2
|
* arti-relay: add rust/clippy lintsSteven Engler2025-01-141-0/+14
|
* arti-relay: remove `TorRelayConfigBuilder::from_directories`Steven Engler2025-01-131-27/+0
| | | | | I don't think we'll ever need this. Users will set the directories through the config file.
* arti-relay: add `LoggingConfig`Steven Engler2025-01-131-0/+40
|
* arti-relay: default config paths now use path resolverSteven Engler2025-01-131-0/+13
|
* arti-relay: added a base `CfgPathResolver`Steven Engler2025-01-131-5/+122
|
* arti-relay: impl `TopLevel` for `TorRelayConfig`Steven Engler2025-01-131-0/+4
|
* update `CfgPath::path` to use a `CfgPathResolver`Steven Engler2024-11-181-1/+3
| | | | | | | | | | | | | | | | This is a big change across multiple crates since there isn't a good way to break it up. This changes the signature of `CfgPath::path` to: ``` pub fn path(&self, path_resolver: &CfgPathResolver) -> Result<PathBuf, CfgPathError> { ``` Making this change means that our global `CfgPathResolver` needs to be stored in the 'arti-client' library instead of `tor-config-path`, and must be passed through to anything that calls `path` to expand the variables.
* tor-config: removed re-export of `CfgPath`Steven Engler2024-11-041-1/+2
| | | | | Also updated other packages to get `CfgPath` directly from `tor-config-path' instead of 'tor-config'.
* arti-relay: Fix cargo doc issuesDavid Goulet2024-10-101-1/+1
| | | | Signed-off-by: David Goulet <[email protected]>
* arti-relay: Remove the use of pub and pub useDavid Goulet2024-10-101-7/+5
| | | | | | | | | | | | | | | The "pub" and "pub(crate)" visibility in a binary crate is essentially the same except for the dead_code warning analysis which ignores "pub" but will warn at "pub(crate)". This should get fixed soon according to: https://github.com/rust-lang/rust/issues/74970 However, for now, lets catch all this dead code :). Part of #1674 Signed-off-by: David Goulet <[email protected]>
* tor-keymgr: Move config/arti.rs to config.rsGabriela Moldovan2024-10-081-1/+1
| | | | | | | | The config will soon contain secondary C Tor keystore configuration too, so the `arti` namespacing is about to stop making sense. I recommend reviewing this commit using `git diff --color-moved=zebra --ignore-space-change`
* tor-keymgr: renamed ArtiNativeKeystoreConfig to ArtiKeystoreConfigMorgan2024-09-201-2/+2
|
* relay: Add KeyMgr to TorRelayDavid Goulet2024-09-181-1/+20
| | | | | | | | | | | | This is the first step before creating relay key definition and storing them into a keystore. The KeyMgr should be passed on the ChanMgr in later commit so the ChanMgr can use it for the authenticated channel handshake. Part of #1604 Signed-off-by: David Goulet <[email protected]>
* tor-relay: add `ChanMgr` to `TorRelay`Steven Engler2024-09-031-0/+26
|
* relay: Add basic configuration and builderDavid Goulet2024-08-201-0/+151
This adds the basic TorRelayConfig object along a builder in order to create a TorRelay object. At this commit, the configuration object only holds a "StorageConfig" which is a simple starting point which will allow to expand to a KeyMgr and then a ChanMgr along more configuration. There is also no custom Error for the crate at this point. Fixes #1534 Signed-off-by: David Goulet <[email protected]>