Merge pull request 'Migrate ergochat from clanModule to clanService' (#3835) from migrate-ergochat into main

Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3835
This commit is contained in:
pinpox
2025-06-03 22:32:12 +00:00
9 changed files with 104 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
{
pkgs,
nixosLib,
clan-core,
...
}:
nixosLib.runTest (
{ ... }:
{
imports = [
clan-core.modules.nixosVmTest.clanTest
];
hostPkgs = pkgs;
name = "ergochat";
clan = {
directory = ./.;
modules."@clan/ergochat" = ../../clanServices/ergochat/default.nix;
inventory = {
machines.server = { };
instances = {
ergochat-test = {
module.name = "@clan/ergochat";
roles.default.machines."server".settings = { };
};
};
};
};
nodes = {
server = { };
};
testScript = ''
start_all()
server.wait_for_unit("ergochat")
# Check that ergochat is running
server.succeed("systemctl status ergochat")
# Check that the data directory exists
server.succeed("test -d /var/lib/ergo")
# Check that the server is listening on the correct ports
server.succeed("${pkgs.netcat}/bin/nc -z -v ::1 6667")
'';
}
)

View File

@@ -0,0 +1,4 @@
{
"publickey": "age1qm0p4vf9jvcnn43s6l4prk8zn6cx0ep9gzvevxecv729xz540v8qa742eg",
"type": "age"
}

View File

@@ -41,6 +41,9 @@ in
# Deltachat test
deltachat = import ./deltachat nixosTestArgs;
# Ergochat test
ergochat = import ./ergochat nixosTestArgs;
# Base Tests
secrets = self.clanLib.test.baseTest ./secrets nixosTestArgs;
borgbackup-legacy = self.clanLib.test.baseTest ./borgbackup-legacy nixosTestArgs;

View File

@@ -1,3 +1,5 @@
---
description = "A modern IRC server"
categories = ["Social"]
features = [ "inventory", "deprecated" ]
---

View File

@@ -0,0 +1,36 @@
{ ... }:
{
_class = "clan.service";
manifest.name = "clan-core/ergochat";
manifest.description = "A modern IRC server";
manifest.categories = [ "Social" ];
roles.default = {
interface =
{ ... }:
{
options = { };
};
perInstance =
{ settings, ... }:
{
nixosModule =
{ ... }:
{
services.ergochat = {
enable = true;
settings = {
datastore = {
autoupgrade = true;
path = "/var/lib/ergo/ircd.db";
};
};
};
clan.core.state.ergochat.folders = [ "/var/lib/ergo" ];
};
};
};
}

View File

@@ -0,0 +1,6 @@
{ lib, ... }:
{
clan.modules = {
ergochat = lib.modules.importApply ./default.nix { };
};
}

View File

@@ -3,6 +3,7 @@
imports = [
./admin/flake-module.nix
./deltachat/flake-module.nix
./ergochat/flake-module.nix
./auto-upgrade/flake-module.nix
./hello-world/flake-module.nix
./wifi/flake-module.nix

View File

@@ -86,6 +86,7 @@ nav:
- reference/clanServices/auto-upgrade.md
- reference/clanServices/borgbackup.md
- reference/clanServices/deltachat.md
- reference/clanServices/ergochat.md
- reference/clanServices/hello-world.md
- reference/clanServices/wifi.md
- Clan Modules: