Compare commits
4 Commits
main
...
b8dc4757ed
Author | SHA1 | Date | |
---|---|---|---|
b8dc4757ed | |||
79fa8eef01 | |||
ac731c2f38 | |||
c9f23f4c0a |
@@ -5,6 +5,8 @@
|
||||
tags = {
|
||||
glom = [ "vega" ];
|
||||
b4l = [ "rigel" ];
|
||||
|
||||
fax-bridge = [ "b4l" ];
|
||||
};
|
||||
|
||||
instances = {
|
||||
@@ -48,6 +50,14 @@
|
||||
roles.peer.tags.b4l = { };
|
||||
};
|
||||
|
||||
yggdrasil = {
|
||||
module = {
|
||||
name = "yggdrasil";
|
||||
input = "self";
|
||||
};
|
||||
roles.default.tags."fax-bridge" = { };
|
||||
};
|
||||
|
||||
pocket-id = {
|
||||
module = {
|
||||
name = "pocket-id";
|
||||
|
24
modules/clan/yggdrasil/default.nix
Normal file
24
modules/clan/yggdrasil/default.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{ ... }:
|
||||
{
|
||||
_class = "clan.service";
|
||||
manifest.name = "yggdrasil";
|
||||
manifest.description = "An in scalable routing as an encrypted IPv6 overlay network";
|
||||
manifest.categories = [ "System" ];
|
||||
|
||||
roles.default = {
|
||||
perInstance.nixosModule =
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
clan.core.state.vikunja.folders = [
|
||||
];
|
||||
services.yggdrasil = {
|
||||
enable = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
18
modules/clan/yggdrasil/flake-module.nix
Normal file
18
modules/clan/yggdrasil/flake-module.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
module = lib.modules.importApply ./default.nix { };
|
||||
in
|
||||
{
|
||||
clan.modules = {
|
||||
yggdrasil = module;
|
||||
};
|
||||
perSystem =
|
||||
{ ... }:
|
||||
{
|
||||
clan.nixosTests.yggdrasil = {
|
||||
imports = [ ./tests/vm/default.nix ];
|
||||
|
||||
clan.modules."@clan/yggdrasil" = module;
|
||||
};
|
||||
};
|
||||
}
|
39
modules/clan/yggdrasil/tests/vm/default.nix
Normal file
39
modules/clan/yggdrasil/tests/vm/default.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
name = "service-yggdrasil";
|
||||
|
||||
clan = {
|
||||
directory = ./.;
|
||||
inventory = {
|
||||
machines.server = { };
|
||||
|
||||
instances = {
|
||||
yggdrasil-test = {
|
||||
module.name = "@clan/yggdrasil";
|
||||
module.input = "self";
|
||||
roles.default.machines."server".settings = { };
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nodes = {
|
||||
server = {
|
||||
services.yggdrasil = {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
server.wait_for_unit("yggdrasil")
|
||||
|
||||
# Check that garage is running
|
||||
server.succeed("systemctl status yggdrasil")
|
||||
|
||||
'';
|
||||
}
|
Reference in New Issue
Block a user