WIP: add customer-portal module

This commit is contained in:
Chris Kruining 2025-09-23 16:18:19 +02:00
parent 25024f7fbd
commit 36629f6d02
No known key found for this signature in database
GPG key ID: EB894A3560CCCAD2
6 changed files with 242 additions and 5 deletions

View file

View file

@ -0,0 +1,35 @@
{ ... }:
let
inherit (builtins) readFile;
in
{
_class = "clan.service";
manifest = {
name = "amarth-services/customer-portal";
description = "Service to host Amarth Cloud's customer-portal";
categories = [ "System" "Network" "Containers" "Virtualisation" ];
readme = readFile ./README.md;
};
#==============================================================================================================
# Server configuration
#==============================================================================================================
roles.server = {
interface = { lib, ... }:
let
inherit (lib) mkOption types toString;
in
{
options = {};
};
perInstance = { instanceName, settings, machine, roles, ... }: {
nixosModule = { config, pkgs, ... }: {
services.amarth-customer-portal = {
enable = true;
};
};
};
};
}

View file

@ -0,0 +1,15 @@
{ ... }:
let
module = ./default.nix;
in
{
clan.modules.customer-portal = module;
perSystem = { ... }: {
clan.nixosTests.customer-portal = {
imports = [ ./tests/vm/default.nix ];
clan.modules."@amarth/customer-portal" = module;
};
};
}

View file

@ -0,0 +1,37 @@
{ pkgs, ... }:
{
name = "service-customer-portal";
clan = {
directory = ./.;
inventory = {
machines = {
node1 = {};
};
instances = {
customer-portal = {
module = {
name = "@amarth/customer-portal";
input = "self";
};
roles.server.machines."node1" = {};
};
};
};
machines = {
node1 = {};
};
};
nodes = {
node1 = {};
};
testScript = ''
start_all()
'';
}