Compare commits
11 Commits
db5e0e55ce
...
mob/gitea
Author | SHA1 | Date | |
---|---|---|---|
70328180fd | |||
4d002d974f | |||
584a7b68c3 | |||
ed41e524e6 | |||
5d0e15b024 | |||
4c327a1bbc | |||
ae240103e1 | |||
5cf4529a97 | |||
d2ca63b445 | |||
1a3a532a9d | |||
09632425c6 |
@@ -21,18 +21,8 @@
|
|||||||
};
|
};
|
||||||
roles.default.tags."all" = { };
|
roles.default.tags."all" = { };
|
||||||
roles.default.settings.allowedKeys = {
|
roles.default.settings.allowedKeys = {
|
||||||
"berwn" = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAB/raxJR8gASmquP63weHelbi+da2WBJR1DgzHPNz/f";
|
|
||||||
"davhau" = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDuhpzDHBPvn8nv8RH1MRomDOaXyP4GziQm7r3MZ1Syk";
|
|
||||||
"vi" =
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAmgyEGuY/r7SDlJgrzYmQqpcWS5W+fCzRi3OS59ne4W openpgp:0xFF687387";
|
|
||||||
"kurogeek" =
|
"kurogeek" =
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEcZ/p1Ofa9liwIzPWzNtONhJ7+FUWd2lCz33r81t8+w kurogeek@kurogeek";
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEcZ/p1Ofa9liwIzPWzNtONhJ7+FUWd2lCz33r81t8+w kurogeek@kurogeek";
|
||||||
"matthewcroughan" =
|
|
||||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIOJDRQfb1+7VK5tOe8W40iryfBWYRO6Uf1r2viDjmsJtAAAABHNzaDo=";
|
|
||||||
"matthewcroughan-1" =
|
|
||||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIDgsWq+G/tcr6eUQYT7+sJeBtRmOMabgFiIgIV44XNc6AAAABHNzaDo=";
|
|
||||||
"matthewcroughan-2" =
|
|
||||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJMi3TAuwDtIeO4MsORlBZ31HzaV5bji1fFBPcC9/tWuAAAABHNzaDo=";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -100,6 +90,13 @@
|
|||||||
};
|
};
|
||||||
roles.default.machines.b4l = { };
|
roles.default.machines.b4l = { };
|
||||||
};
|
};
|
||||||
|
gitea = {
|
||||||
|
module = {
|
||||||
|
name = "gitea";
|
||||||
|
input = "self";
|
||||||
|
};
|
||||||
|
roles.default.machines.b4l = { };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
2
machines/b4l/services/gitea.nix
Normal file
2
machines/b4l/services/gitea.nix
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
{
|
||||||
|
}
|
@@ -6,7 +6,6 @@
|
|||||||
clan = {
|
clan = {
|
||||||
meta.name = "NewEdgeClan";
|
meta.name = "NewEdgeClan";
|
||||||
machines = { };
|
machines = { };
|
||||||
secrets.age.plugins = [ "age-plugin-yubikey" ];
|
|
||||||
specialArgs = { inherit inputs self; };
|
specialArgs = { inherit inputs self; };
|
||||||
inherit self;
|
inherit self;
|
||||||
};
|
};
|
||||||
|
27
modules/clan/gitea/default.nix
Normal file
27
modules/clan/gitea/default.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
_class = "clan.service";
|
||||||
|
manifest.name = "gitea";
|
||||||
|
manifest.description = "Git with a cup of tea!";
|
||||||
|
manifest.categories = [ "System" ];
|
||||||
|
|
||||||
|
roles.default = {
|
||||||
|
|
||||||
|
perInstance.nixosModule =
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
services.gitea = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
dump = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
clan.core.state.gitea.folders = [ config.services.gitea.dump.backupDir ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
18
modules/clan/gitea/flake-module.nix
Normal file
18
modules/clan/gitea/flake-module.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
module = lib.modules.importApply ./default.nix { };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
clan.modules = {
|
||||||
|
gitea = module;
|
||||||
|
};
|
||||||
|
perSystem =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
clan.nixosTests.gitea = {
|
||||||
|
imports = [ ./tests/vm/default.nix ];
|
||||||
|
|
||||||
|
clan.modules."@clan/gitea" = module;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
50
modules/clan/gitea/tests/vm/default.nix
Normal file
50
modules/clan/gitea/tests/vm/default.nix
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
name = "service-gitea";
|
||||||
|
|
||||||
|
clan = {
|
||||||
|
directory = ./.;
|
||||||
|
inventory = {
|
||||||
|
machines.server = { };
|
||||||
|
|
||||||
|
instances = {
|
||||||
|
gitea-test = {
|
||||||
|
module.name = "@clan/gitea";
|
||||||
|
module.input = "self";
|
||||||
|
roles.default.machines."server".settings = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
server = {
|
||||||
|
services.gitea = {
|
||||||
|
dump.file = "test-dump";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript =
|
||||||
|
{ nodes, ... }:
|
||||||
|
let
|
||||||
|
gitea = nodes.server.config.services.gitea;
|
||||||
|
in
|
||||||
|
''
|
||||||
|
start_all()
|
||||||
|
|
||||||
|
server.wait_for_unit("gitea")
|
||||||
|
|
||||||
|
server.succeed("systemctl status gitea")
|
||||||
|
server.wait_for_open_port(3000)
|
||||||
|
server.succeed("curl http://127.0.0.1:3000")
|
||||||
|
|
||||||
|
server.succeed("${lib.getExe pkgs.gitea} dump -h")
|
||||||
|
server.succeed("systemctl start gitea-dump")
|
||||||
|
server.wait_for_file("${gitea.dump.backupDir}/${gitea.dump.file}")
|
||||||
|
'';
|
||||||
|
}
|
@@ -1,6 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"publickey": "age1swlyyk2rzvevqawyeekv75nx2dz34zpe3xqhkqme26gcgeavy4dqrfpcd8",
|
|
||||||
"type": "age"
|
|
||||||
}
|
|
||||||
]
|
|
@@ -1,6 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"publickey": "age1vphy2sr6uw4ptsua3gh9khrm2cqyt65t46tusmt44z98qa7q6ymq6prrdl",
|
|
||||||
"type": "age"
|
|
||||||
}
|
|
||||||
]
|
|
@@ -1,6 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"publickey": "age134vt63pjqpd0m7702fyn8vhdlzyj2deqc2q78sp9uw9052kxsgwq6d25ez",
|
|
||||||
"type": "age"
|
|
||||||
}
|
|
||||||
]
|
|
Reference in New Issue
Block a user