cli: Update warning for new bootstrap node names

This commit is contained in:
Lorenz Leutgeb 2026-04-27 14:51:41 +02:00
parent 22287fd94a
commit 06ff36ebc4
No known key found for this signature in database
3 changed files with 36 additions and 12 deletions

View File

@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
Following a domain move of the project, the names of the bootstrap nodes change: Following a domain move of the project, the names of the bootstrap nodes change:
`{iris,rosa}.radicle.{xyz → network}`. `{iris,rosa}.radicle.{xyz → network}`.
Old names in the Radicle configuration will be detected and cause warnings to
be printed.
## New Features ## New Features

View File

@ -3,6 +3,12 @@ $ rad config push preferredSeeds z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm
z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776 z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776
$ rad config push node.connect z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@ash.radicle.garden:8776 $ rad config push node.connect z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@ash.radicle.garden:8776
z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@ash.radicle.garden:8776 z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@ash.radicle.garden:8776
$ rad config push node.connect z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@iris.radicle.xyz:8776
z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@ash.radicle.garden:8776
z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@iris.radicle.xyz:8776
$ rad config push preferredSeeds z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@rosa.radicle.xyz:8776
z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776
z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@rosa.radicle.xyz:8776
``` ```
Note the warnings that the above configuration causes: Note the warnings that the above configuration causes:
@ -38,8 +44,10 @@ $ rad debug
"RAD_RNG_SEED": "0" "RAD_RNG_SEED": "0"
}, },
"warnings": [ "warnings": [
"Value of configuration option `node.connect` at index 0 mentions node with address 'ash.radicle.garden:8776', which has been renamed to 'rosa.radicle.xyz:8776'. Please edit your configuration file to use the new address.", "Value of configuration option `node.connect` at index 0 mentions node with hostname 'ash.radicle.garden', which has been renamed to 'rosa.radicle.network'. Please edit your configuration file to use the new address.",
"Value of configuration option `preferredSeeds` at index 0 mentions node with address 'seed.radicle.garden:8776', which has been renamed to 'iris.radicle.xyz:8776'. Please edit your configuration file to use the new address." "Value of configuration option `node.connect` at index 1 mentions node with hostname 'iris.radicle.xyz', which has been renamed to 'iris.radicle.network'. Please edit your configuration file to use the new address.",
"Value of configuration option `preferredSeeds` at index 0 mentions node with hostname 'seed.radicle.garden', which has been renamed to 'iris.radicle.network'. Please edit your configuration file to use the new address.",
"Value of configuration option `preferredSeeds` at index 1 mentions node with hostname 'rosa.radicle.xyz', which has been renamed to 'rosa.radicle.network'. Please edit your configuration file to use the new address."
] ]
} }
``` ```
@ -48,8 +56,10 @@ Also, `rad node status` will warn us:
``` ```
$ rad node status $ rad node status
! Warning: Value of configuration option `node.connect` at index 0 mentions node with address 'ash.radicle.garden:8776', which has been renamed to 'rosa.radicle.xyz:8776'. Please edit your configuration file to use the new address. ! Warning: Value of configuration option `node.connect` at index 0 mentions node with hostname 'ash.radicle.garden', which has been renamed to 'rosa.radicle.network'. Please edit your configuration file to use the new address.
! Warning: Value of configuration option `preferredSeeds` at index 0 mentions node with address 'seed.radicle.garden:8776', which has been renamed to 'iris.radicle.xyz:8776'. Please edit your configuration file to use the new address. ! Warning: Value of configuration option `node.connect` at index 1 mentions node with hostname 'iris.radicle.xyz', which has been renamed to 'iris.radicle.network'. Please edit your configuration file to use the new address.
! Warning: Value of configuration option `preferredSeeds` at index 0 mentions node with hostname 'seed.radicle.garden', which has been renamed to 'iris.radicle.network'. Please edit your configuration file to use the new address.
! Warning: Value of configuration option `preferredSeeds` at index 1 mentions node with hostname 'rosa.radicle.xyz', which has been renamed to 'rosa.radicle.network'. Please edit your configuration file to use the new address.
Node is stopped. Node is stopped.
To start it, run `rad node start`. To start it, run `rad node start`.
``` ```

View File

@ -1,19 +1,30 @@
use std::collections::HashMap; use std::collections::HashMap;
use std::sync::LazyLock; use std::sync::LazyLock;
use radicle::node::Address;
use radicle::node::config::ConnectAddress; use radicle::node::config::ConnectAddress;
use radicle::node::{Address, HostName};
use radicle::profile::Config; use radicle::profile::Config;
static NODES_RENAMED: LazyLock<HashMap<Address, Address>> = LazyLock::new(|| { const IRIS: &str = "iris.radicle.network";
const ROSA: &str = "rosa.radicle.network";
static NODES_RENAMED: LazyLock<HashMap<HostName, HostName>> = LazyLock::new(|| {
HashMap::from([ HashMap::from([
( (
"seed.radicle.garden:8776".parse().unwrap(), HostName::Dns("seed.radicle.garden".to_string()),
"iris.radicle.xyz:8776".parse().unwrap(), HostName::Dns(IRIS.to_string()),
), ),
( (
"ash.radicle.garden:8776".parse().unwrap(), HostName::Dns("iris.radicle.xyz".to_string()),
"rosa.radicle.xyz:8776".parse().unwrap(), HostName::Dns(IRIS.to_string()),
),
(
HostName::Dns("ash.radicle.garden".to_string()),
HostName::Dns(ROSA.to_string()),
),
(
HostName::Dns("rosa.radicle.xyz".to_string()),
HostName::Dns(ROSA.to_string()),
), ),
]) ])
}); });
@ -24,9 +35,10 @@ fn nodes_renamed_for_option(
) -> Vec<String> { ) -> Vec<String> {
iter.into_iter().enumerate().fold(Vec::new(), |mut warnings, (i, value)| { iter.into_iter().enumerate().fold(Vec::new(), |mut warnings, (i, value)| {
let old: Address = value.into(); let old: Address = value.into();
if let Some(new) = NODES_RENAMED.get(&old) { let old = old.host();
if let Some(new) = NODES_RENAMED.get(old) {
warnings.push(format!( warnings.push(format!(
"Value of configuration option `{option}` at index {i} mentions node with address '{old}', which has been renamed to '{new}'. Please edit your configuration file to use the new address." "Value of configuration option `{option}` at index {i} mentions node with hostname '{old}', which has been renamed to '{new}'. Please edit your configuration file to use the new address."
)); ));
} }
warnings warnings