bootstrap: Migrate radicle.garden → radicle.xyz

This commit is contained in:
Lorenz Leutgeb 2025-06-04 15:47:08 +02:00 committed by Fintan Halpenny
parent 9d4aa59a12
commit bac719da21
6 changed files with 34 additions and 36 deletions

View File

@ -109,9 +109,9 @@ the logs will go to the system journal. These can be viewed with **journalctl**(
$ journalctl -u radicle-node -S today $ journalctl -u radicle-node -S today
To connect to a specific peer, the *connect* sub-command can be used: To connect to a specific peer, the *connect* sub-command can be used:
For example, to connect to the *radicle.garden* community node, you can run: For example, to connect to a community node, you can run:
$ rad node connect z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776 $ rad node connect z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@iris.radicle.xyz:8776
The argument given to *connect* is called a node _address_. It is composed of The argument given to *connect* is called a node _address_. It is composed of
a Node ID (NID), followed by an *@* symbol, and the _host_ name and _port_. a Node ID (NID), followed by an *@* symbol, and the _host_ name and _port_.

View File

@ -6,7 +6,7 @@ $ rad config
{ {
"publicExplorer": "https://app.radicle.xyz/nodes/$host/$rid$path", "publicExplorer": "https://app.radicle.xyz/nodes/$host/$rid$path",
"preferredSeeds": [ "preferredSeeds": [
"z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776", "z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@iris.radicle.xyz:8776",
"z6MksmpU5b1dS7oaqF2bHXhQi1DWy2hB7Mh9CuN7y1DN6QSz@seed.radicle.xyz:8776" "z6MksmpU5b1dS7oaqF2bHXhQi1DWy2hB7Mh9CuN7y1DN6QSz@seed.radicle.xyz:8776"
], ],
"web": { "web": {
@ -64,7 +64,7 @@ You can also get any value in the configuration by path, eg.
$ rad config get node.alias $ rad config get node.alias
alice alice
$ rad config get preferredSeeds $ rad config get preferredSeeds
z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776 z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@iris.radicle.xyz:8776
z6MksmpU5b1dS7oaqF2bHXhQi1DWy2hB7Mh9CuN7y1DN6QSz@seed.radicle.xyz:8776 z6MksmpU5b1dS7oaqF2bHXhQi1DWy2hB7Mh9CuN7y1DN6QSz@seed.radicle.xyz:8776
$ rad config get node.limits.routingMaxSize $ rad config get node.limits.routingMaxSize
1000 1000

View File

@ -5,7 +5,7 @@ use std::{net, thread, time};
use radicle::git; use radicle::git;
use radicle::node; use radicle::node;
use radicle::node::address::Store as _; use radicle::node::address::Store as _;
use radicle::node::config::seeds::{RADICLE_COMMUNITY_NODE, RADICLE_TEAM_NODE}; use radicle::node::config::seeds::{RADICLE_NODE_BOOTSTRAP_IRIS, RADICLE_NODE_TEAM};
use radicle::node::config::DefaultSeedingPolicy; use radicle::node::config::DefaultSeedingPolicy;
use radicle::node::routing::Store as _; use radicle::node::routing::Store as _;
use radicle::node::Handle as _; use radicle::node::Handle as _;
@ -414,7 +414,10 @@ fn rad_config() {
let mut environment = Environment::new(); let mut environment = Environment::new();
let alias = Alias::new("alice"); let alias = Alias::new("alice");
let profile = environment.profile(profile::Config { let profile = environment.profile(profile::Config {
preferred_seeds: vec![RADICLE_COMMUNITY_NODE.clone(), RADICLE_TEAM_NODE.clone()], preferred_seeds: vec![
RADICLE_NODE_BOOTSTRAP_IRIS.clone(),
RADICLE_NODE_TEAM.clone(),
],
..profile::Config::new(alias) ..profile::Config::new(alias)
}); });
let working = tempfile::tempdir().unwrap(); let working = tempfile::tempdir().unwrap();

View File

@ -25,30 +25,26 @@ pub mod seeds {
use super::{ConnectAddress, PeerAddr}; use super::{ConnectAddress, PeerAddr};
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
/// The radicle public community seed node. /// A public Radicle seed node for the community.
pub static RADICLE_COMMUNITY_NODE: Lazy<ConnectAddress> = Lazy::new(|| { pub static RADICLE_NODE_BOOTSTRAP_IRIS: Lazy<ConnectAddress> = Lazy::new(|| {
// SAFETY: `ConnectAddress` is known at compile time. // SAFETY: `ConnectAddress` is known at compile time.
#[allow(clippy::unwrap_used)] #[allow(clippy::unwrap_used)]
PeerAddr::from_str( PeerAddr::from_str("z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@iris.radicle.xyz:8776")
"z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776", .unwrap()
) .into()
.unwrap()
.into()
}); });
/// The radicle public `ash` seed node. /// A public Radicle seed node for the community.
pub static RADICLE_ASH_NODE: Lazy<ConnectAddress> = Lazy::new(|| { pub static RADICLE_NODE_BOOTSTRAP_ROSA: Lazy<ConnectAddress> = Lazy::new(|| {
// SAFETY: `ConnectAddress` is known at compile time. // SAFETY: `ConnectAddress` is known at compile time.
#[allow(clippy::unwrap_used)] #[allow(clippy::unwrap_used)]
PeerAddr::from_str( PeerAddr::from_str("z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@rosa.radicle.xyz:8776")
"z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@ash.radicle.garden:8776", .unwrap()
) .into()
.unwrap()
.into()
}); });
/// The radicle team node. /// The Radicle seed node that the Radicle team uses.
pub static RADICLE_TEAM_NODE: Lazy<ConnectAddress> = Lazy::new(|| { pub static RADICLE_NODE_TEAM: Lazy<ConnectAddress> = Lazy::new(|| {
// SAFETY: `ConnectAddress` is known at compile time. // SAFETY: `ConnectAddress` is known at compile time.
#[allow(clippy::unwrap_used)] #[allow(clippy::unwrap_used)]
PeerAddr::from_str("z6MksmpU5b1dS7oaqF2bHXhQi1DWy2hB7Mh9CuN7y1DN6QSz@seed.radicle.xyz:8776") PeerAddr::from_str("z6MksmpU5b1dS7oaqF2bHXhQi1DWy2hB7Mh9CuN7y1DN6QSz@seed.radicle.xyz:8776")
@ -72,8 +68,11 @@ impl Network {
pub fn bootstrap(&self) -> Vec<(Alias, ProtocolVersion, ConnectAddress)> { pub fn bootstrap(&self) -> Vec<(Alias, ProtocolVersion, ConnectAddress)> {
match self { match self {
Self::Main => [ Self::Main => [
("seed.radicle.garden", seeds::RADICLE_COMMUNITY_NODE.clone()), (
("seed.radicle.xyz", seeds::RADICLE_TEAM_NODE.clone()), "iris.radicle.xyz",
seeds::RADICLE_NODE_BOOTSTRAP_IRIS.clone(),
),
("seed.radicle.xyz", seeds::RADICLE_NODE_TEAM.clone()),
] ]
.into_iter() .into_iter()
.map(|(a, s)| (Alias::new(a), 1, s)) .map(|(a, s)| (Alias::new(a), 1, s))
@ -87,8 +86,8 @@ impl Network {
pub fn public_seeds(&self) -> Vec<ConnectAddress> { pub fn public_seeds(&self) -> Vec<ConnectAddress> {
match self { match self {
Self::Main => vec![ Self::Main => vec![
seeds::RADICLE_COMMUNITY_NODE.clone(), seeds::RADICLE_NODE_BOOTSTRAP_IRIS.clone(),
seeds::RADICLE_ASH_NODE.clone(), seeds::RADICLE_NODE_BOOTSTRAP_ROSA.clone(),
], ],
Self::Test => vec![], Self::Test => vec![],
} }
@ -302,7 +301,7 @@ pub struct ConnectAddress(
with = "String", with = "String",
regex(pattern = r"^.+@.+:((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$"), regex(pattern = r"^.+@.+:((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$"),
extend("examples" = [ extend("examples" = [
"z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776", "z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@rosa.radicle.xyz:8776",
"z6MkvUJtYD9dHDJfpevWRT98mzDDpdAtmUjwyDSkyqksUr7C@xmrhfasfg5suueegrnc4gsgyi2tyclcy5oz7f5drnrodmdtob6t2ioyd.onion:8776", "z6MkvUJtYD9dHDJfpevWRT98mzDDpdAtmUjwyDSkyqksUr7C@xmrhfasfg5suueegrnc4gsgyi2tyclcy5oz7f5drnrodmdtob6t2ioyd.onion:8776",
"z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi@seed.example.com:8776", "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi@seed.example.com:8776",
"z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5@192.0.2.0:31337", "z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5@192.0.2.0:31337",

View File

@ -728,8 +728,8 @@ mod test {
"listen": [], "listen": [],
"peers": { "type": "dynamic", "target": 8 }, "peers": { "type": "dynamic", "target": 8 },
"connect": [ "connect": [
"z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@ash.radicle.garden:8776", "z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@rosa.radicle.xyz:8776",
"z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776" "z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@iris.radicle.xyz:8776"
], ],
"externalAddresses": [ "seed.radicle.xyz:8776" ], "externalAddresses": [ "seed.radicle.xyz:8776" ],
"db": { "journalMode": "wal" }, "db": { "journalMode": "wal" },

View File

@ -279,13 +279,9 @@ impl Arbitrary for Address {
cyphernet::addr::HostName::Ip(net::IpAddr::V6(net::Ipv6Addr::from(octets))) cyphernet::addr::HostName::Ip(net::IpAddr::V6(net::Ipv6Addr::from(octets)))
} }
AddressType::Dns => cyphernet::addr::HostName::Dns( AddressType::Dns => cyphernet::addr::HostName::Dns(
g.choose(&[ g.choose(&["seed.radicle.xyz", "iris.radicle.xyz", "rosa.radicle.xyz"])
"seed.radicle.xyz", .unwrap()
"seed.radicle.garden", .to_string(),
"seed.radicle.cloudhead.io",
])
.unwrap()
.to_string(),
), ),
AddressType::Onion => { AddressType::Onion => {
let pk = PublicKey::arbitrary(g); let pk = PublicKey::arbitrary(g);