backups: refactor and add renoir

This commit is contained in:
Romain Paquet 2026-03-26 21:16:42 +00:00
parent e729d38637
commit c7ec1a5423
3 changed files with 42 additions and 38 deletions

41
clan/backups.nix Normal file
View file

@ -0,0 +1,41 @@
{ lib, self, ... }:
{
clan.inventory.instances."borgbackup-storagebox" = {
module.input = "clan-core";
module.name = "borgbackup";
roles.client.machines = lib.genAttrs [ "crocus" "genepi" "renoir" "verbena" ] (
machine:
let
config = self.nixosConfigurations.${machine}.config;
user = "u422292";
host = "${user}.your-storagebox.de";
in
{
settings.destinations."storagebox-${config.networking.hostName}" = {
repo = "${user}@${host}:./borgbackup/${config.networking.hostName}";
rsh = "ssh -oPort=23 -i ${
config.clan.core.vars.generators.borgbackup.files."borgbackup.ssh".path
} -oStrictHostKeyChecking=accept-new";
};
}
);
roles.client.extraModules = [
{
programs.ssh.knownHosts =
let
user = "u422292";
host = "${user}.your-storagebox.de";
in
{
storagebox-ed25519 = {
hostNames = [ "[${host}]:23" ];
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIICf9svRenC/PLKIL9nk6K/pxQgoiFC41wTNvoIncOxs";
};
};
}
];
roles.server.machines = { };
};
}

View file

@ -1,6 +1,7 @@
{ self, lib, ... }: { self, lib, ... }:
{ {
imports = [ imports = [
./backups.nix
./machines.nix ./machines.nix
./monitoring.nix ./monitoring.nix
./network.nix ./network.nix
@ -89,32 +90,6 @@
roles.default.tags.all = { }; roles.default.tags.all = { };
}; };
clan.inventory.instances."borgbackup-storagebox" = {
module.input = "clan-core";
module.name = "borgbackup";
roles.client.machines = lib.genAttrs [ "crocus" "genepi" "verbena" ] (
machine:
let
config = self.nixosConfigurations.${machine}.config;
user = "u422292";
host = "${user}.your-storagebox.de";
in
{
settings.destinations."storagebox-${config.networking.hostName}" = {
repo = "${user}@${host}:./borgbackup/${config.networking.hostName}";
rsh = "ssh -oPort=23 -i ${
config.clan.core.vars.generators.borgbackup.files."borgbackup.ssh".path
} -oStrictHostKeyChecking=accept-new";
};
}
);
roles.client.extraModules = [
self.nixosModules.storagebox
];
roles.server.machines = { };
};
clan.inventory.instances.syncthing = { clan.inventory.instances.syncthing = {
roles.peer.tags.syncthing = { }; roles.peer.tags.syncthing = { };
roles.peer.settings.folders = { roles.peer.settings.folders = {

View file

@ -1,12 +0,0 @@
let
user = "u422292";
host = "${user}.your-storagebox.de";
in
{
programs.ssh.knownHosts = {
storagebox-ed25519 = {
hostNames = [ "[${host}]:23" ];
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIICf9svRenC/PLKIL9nk6K/pxQgoiFC41wTNvoIncOxs";
};
};
}