2 Commits

Author SHA1 Message Date
b5f3adacd8 clanService yggdrasil add vars yggdrasil/yggdrasil-subnet 2025-10-21 15:55:18 +07:00
2eb52251cc clanService yggdrasil 2025-10-17 16:58:43 +07:00
5 changed files with 27 additions and 21 deletions

View File

@@ -5,7 +5,6 @@
tags = {
glom = [ "vega" ];
b4l = [ "rigel" ];
fax-bridge = [ ];
};
@@ -56,7 +55,6 @@
input = "self";
};
roles.default.tags."fax-bridge" = { };
roles.default.machines."b4l" = { };
};
pocket-id = {
@@ -64,55 +62,63 @@
name = "pocket-id";
input = "self";
};
roles.default.machines."b4l" = { };
roles.default.machines.b4l = { };
};
nextcloud = {
module = {
name = "nextcloud";
input = "self";
};
roles.default.machines.b4l = { };
};
stirling-pdf = {
module = {
name = "stirling-pdf";
input = "self";
};
roles.default.machines.b4l = { };
};
actual-budget = {
module = {
name = "actual-budget";
input = "self";
};
roles.default.machines.b4l = { };
};
victoriametrics = {
module = {
name = "victoriametrics";
input = "self";
};
roles.default.machines.b4l = { };
};
vikunja = {
module = {
name = "vikunja";
input = "self";
};
roles.default.machines.b4l = { };
};
grafana = {
module = {
name = "grafana";
input = "self";
};
roles.default.machines.b4l = { };
};
pingvin = {
module = {
name = "pingvin";
input = "self";
};
roles.default.machines.b4l = { };
};
paperless = {
module = {
name = "paperless";
input = "self";
};
roles.default.machines.b4l = { };
};
};
};

View File

@@ -1,7 +1,7 @@
{ inputs, config, ... }:
{
imports = [
# (inputs.import-tree ./services)
(inputs.import-tree ./services)
];
nixpkgs.hostPlatform = {
system = "x86_64-linux";

View File

@@ -13,18 +13,16 @@
pkgs,
...
}:
let
user = "yggdrasil";
in
{
clan.core.vars.generators.yggdrasil = {
files = {
yggdrasil-secret = {
secret = true;
owner = user;
group = user;
};
yggdrasil-ip.secret = false;
yggdrasil-ip = {
secret = false;
};
yggdrasil-subnet.secret = false;
};
runtimeInputs = with pkgs; [
yggdrasil
@@ -33,12 +31,13 @@
script = ''
yggdrasil -genconf -json | jq {PrivateKey} > $out/yggdrasil-secret
cat $out/yggdrasil-secret | yggdrasil -useconf -address | tr -d "\n" > $out/yggdrasil-ip
yggdrasil -useconffile $out/yggdrasil-secret -subnet | tr -d "\n" > $out/yggdrasil-subnet
'';
};
services.yggdrasil = {
enable = lib.mkDefault true;
# configFile = config.clan.core.vars.generators.yggdrasil.files.yggdrasil-secret.path;
configFile = config.clan.core.vars.generators.yggdrasil.files.yggdrasil-secret.path;
settings = {
Peers = [
# US Peers

View File

@@ -1,4 +1,9 @@
{ lib, ... }:
{
lib,
inputs,
self,
...
}:
let
module = lib.modules.importApply ./default.nix { };
in
@@ -9,10 +14,10 @@ in
perSystem =
{ ... }:
{
clan.nixosTests.yggdrasil = {
imports = [ ./tests/vm/default.nix ];
clan.modules."@clan/yggdrasil" = module;
};
# clan.nixosTests.yggdrasil = {
# imports = [ ./tests/vm/default.nix ];
#
# clan.modules."@clan/yggdrasil" = module;
# };
};
}

View File

@@ -1,5 +1,4 @@
{
pkgs,
...
}:
{
@@ -34,8 +33,5 @@
# Check that garage is running
server.succeed("systemctl status yggdrasil")
'';
}