Lorenz Leutgeb 97a9ef49f7 iris, rosa: nginx server alias for old names
This is a partial revert of 78c90687d8 I
was too eager in removing references to the radicle.garden domain. The
intention in that commit was to remove the old names from Radicle
aliases, but I mistakenly went too far and also removed these names
from the nginx configuration. Bring them back.
2025-08-07 12:04:33 +02:00
2025-07-22 11:13:09 +02:00
2025-07-17 20:55:31 +02:00
2025-05-20 03:14:09 +02:00
2025-07-17 20:55:31 +02:00

radicle-infra

Easing the deployment of Radicle seed nodes with the magic of Nix 🌱 ➕ ❄️

Deployment

Using radicle-nix (rad:zTGn5tnYJgF8qd6KDuodURvUvwLe) we can easily deploy seed nodes to target hosts.

To update the version of radicle-node package, changes are made in radicle-nix. To reflect those changes in radicle-infra, first update the Flake input:

nix flake lock --update-input radicle

Then the following option should be changed in os/host/seed/radicle.nix:

{pkgs, ...}: {
  services.radicle.package = pkgs.radicle-node-1_2;
}

Then to deploy to the target, for example seed.radicle.xyz, use the following command. You might have to adjust the value of $USER if the username on your local machine does not match the username of your account on the target machine. Also, note that you may have to get permission to be added as a user first:

HOST=seed.radicle.xyz; nixos-rebuild switch --target-host "${USER}@${HOST}" --build-host "${USER}@${HOST}" --use-remote-sudo --flake .

DNS

The radicle.xyz. zone is configured via DNSControl. Previewing and pushing changes requires a Cloudflare API Token in the environment at CLOUDFLARE_API_TOKEN.

In /dns:

Sanity-check with:

dnscontrol check

Preview changes with:

dnscontrol preview

If the preview looks good, finally

dnscontrol push

Please keep dnsconfig.js tidy with

dnscontrol fmt > tmp.js && mv tmp.js dnscontrol.js

(As of 2025-06, there is no pre-commit hook for dnscontrol.)

S
Description
Radicle Infrastructure as Code (NixOS, OpenTofu, …)
Readme
473 KiB
Languages
Nix 83%
JavaScript 16%
Nushell 1%