Split backend service into checker and generator

Both are linked through a unix socket.
This commit is contained in:
nemunaire 2023-07-10 09:17:02 +02:00
parent f755d7c998
commit ed091e761c
34 changed files with 657 additions and 205 deletions

View file

@ -3,9 +3,10 @@
imports = [
./db.nix
./fic-admin.nix
./fic-backend.nix
./fic-checker.nix
./fic-dashboard.nix
./fic-evdist.nix
./fic-generator.nix
./fic-synchro.nix
];

View file

@ -27,13 +27,13 @@
};
volumes = [
"/etc/hosts:/etc/hosts:ro"
"/var/lib/fic/generator:/srv/GENERATOR:ro"
"/var/lib/fic/raw_files:/mnt/fic"
"/var/lib/fic/dashboard:/srv/DASHBOARD"
"/var/lib/fic/files:/srv/FILES"
"/var/lib/fic/pki:/srv/PKI"
"/var/lib/fic/teams:/srv/TEAMS"
"/var/lib/fic/teams:/srv/TEAMS:ro"
"/var/lib/fic/settings:/srv/SETTINGS"
"/var/lib/fic/sync:/srv/SYNC"
"/var/lib/fic/submissions:/srv/submissions:ro"
];
};

View file

@ -0,0 +1,27 @@
{ config, inputs, pkgs, ... }:
{
config.virtualisation.oci-containers.containers.fic-checker = {
image = "fic-checker:latest";
imageFile = pkgs.dockerTools.buildImage {
name = "fic-checker";
tag = "latest";
created = "now";
config = {
Cmd = [ "${inputs.ficpkgs.packages.x86_64-linux.fic-checker}/bin/checker" ];
};
};
autoStart = true;
environment = {
MYSQL_HOST = "db";
};
workdir = "/srv";
extraOptions = [ "--network=phobos-lan" "--ip=172.18.0.41" ];
volumes = [
"/etc/hosts:/etc/hosts:ro"
"/var/lib/fic/generator:/srv/GENERATOR:ro"
"/var/lib/fic/teams:/srv/TEAMS:ro"
"/var/lib/fic/settingsdist:/srv/SETTINGSDIST:ro"
"/var/lib/fic/submissions:/srv/submissions"
];
};
}

View file

@ -1,13 +1,13 @@
{ config, inputs, pkgs, ... }:
{
config.virtualisation.oci-containers.containers.fic-backend = {
image = "fic-backend:latest";
config.virtualisation.oci-containers.containers.fic-generator = {
image = "fic-generator:latest";
imageFile = pkgs.dockerTools.buildImage {
name = "fic-backend";
name = "fic-generator";
tag = "latest";
created = "now";
config = {
Cmd = [ "${inputs.ficpkgs.packages.x86_64-linux.fic-backend}/bin/backend" ];
Cmd = [ "${inputs.ficpkgs.packages.x86_64-linux.fic-generator}/bin/generator" ];
};
};
autoStart = true;
@ -18,9 +18,9 @@
extraOptions = [ "--network=phobos-lan" "--ip=172.18.0.41" ];
volumes = [
"/etc/hosts:/etc/hosts:ro"
"/var/lib/fic/generator:/srv/GENERATOR"
"/var/lib/fic/teams:/srv/TEAMS"
"/var/lib/fic/settingsdist:/srv/SETTINGSDIST:ro"
"/var/lib/fic/submissions:/srv/submissions"
];
};
}