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
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
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",
"preferredSeeds": [
"z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776",
"z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@iris.radicle.xyz:8776",
"z6MksmpU5b1dS7oaqF2bHXhQi1DWy2hB7Mh9CuN7y1DN6QSz@seed.radicle.xyz:8776"
],
"web": {
@ -64,7 +64,7 @@ You can also get any value in the configuration by path, eg.
$ rad config get node.alias
alice
$ rad config get preferredSeeds
z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776
z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@iris.radicle.xyz:8776
z6MksmpU5b1dS7oaqF2bHXhQi1DWy2hB7Mh9CuN7y1DN6QSz@seed.radicle.xyz:8776
$ rad config get node.limits.routingMaxSize
1000

View File

@ -5,7 +5,7 @@ use std::{net, thread, time};
use radicle::git;
use radicle::node;
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::routing::Store as _;
use radicle::node::Handle as _;
@ -414,7 +414,10 @@ fn rad_config() {
let mut environment = Environment::new();
let alias = Alias::new("alice");
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)
});
let working = tempfile::tempdir().unwrap();

View File

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

View File

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

View File

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