keytracker: fix a lot of things

Apparently, keytracker expects a toml file as config that may or may not be
an instance of an entirely different specification of the spec than the one
python understands.
This commit is contained in:
stuebinm 2021-03-25 00:00:33 +01:00
parent 9dfac9818e
commit a87e213b08
No known key found for this signature in database
GPG key ID: 8FBE8AAD32FA12B7
3 changed files with 24 additions and 19 deletions

View file

@ -26,8 +26,8 @@ in
type = types.str; type = types.str;
}; };
config = mkOption { config = mkOption {
default = {}; default = "";
type = format.type; type = types.str;
}; };
nginx = mkOption { nginx = mkOption {
default = {}; default = {};
@ -37,7 +37,7 @@ in
config = config =
let cfg = config.services.keytracker; let cfg = config.services.keytracker;
configfile = format.generate "config" cfg.config; configfile = pkgs.writeText "keytracker-config" cfg.config;
in { in {
services.nginx = mkIf cfg.enable { services.nginx = mkIf cfg.enable {
enable = true; enable = true;

View file

@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
src = (fetchgit { src = (fetchgit {
url = "https://gitlab.infra4future.de/octycs/keytracker"; url = "https://gitlab.infra4future.de/octycs/keytracker";
rev = "0a124c3e7bc5c0e840d45399ad5e69485bb3e49c"; rev = "2e83366913732029e8a5913f121df969172244ed";
sha256 = "1l3djg3qfisrvv9shi2p44h026n58pimwbvr2idjnaill688s1qf"; sha256 = "sha256-ty8m/ITR2gmui3dIJX04FkGT/9SGuirrALyWaNaNwhE=";
}).outPath + "/frontend"; }).outPath + "/frontend";
apiUrl = "https://localhost:5000"; apiUrl = "http://chaski.stuebinm.eu:3030";
buildPhase = '' buildPhase = ''
substituteInPlace assets/main.js --replace "http://localhost:5000" $apiUrl substituteInPlace assets/main.js --replace "http://localhost:5000" $apiUrl

View file

@ -1,31 +1,36 @@
{pkgs, config, ...}: {pkgs, config, ...}:
{ {
services.keytracker = { services.keytracker = {
enable = true; enable = true;
domain = "keytracker.infra4future.de"; domain = "keytracker.infra4future.de";
stateDir = "/var/lib/keytracker"; stateDir = "/var/lib/keytracker";
# we have to overwrite this package, since the api url is backed into its code # we have to overwrite this package, since the api url is backed into its code
frontendPackage = pkgs.keytracker-frontend.overrideAttrs (old: { apiUrl = "https://keytracker.infra4future.de:5000"; }); frontendPackage = pkgs.keytracker-frontend.overrideAttrs (old: { apiUrl = "https://keytracker.infra4future.de/api"; });
config.Default = { config = ''
Port = 5000; [Default]
DbPath = "history.db"; CorsOrigin = "*"
CorsOrigin = "off"; DbPath = "history.db"
}; Port = 3029
config.Keys = {
"8174875f7d85" = "Chris Büro;49c5dbda74fe86eae0dd1ce6;247f16f579033a6a947b3be301407319cd9bfe14f11554d71ea3190e04f7cb91"; [Keys]
"7fc944c9e632" = "Test=2;74fffaf6e463950fc6da3fd3;95313e37ff448b1a19b133fd8067c160f9f1c6d417f5d8dbec6f4f931097d389"; 4c81038150f6 = hacc;18673c03507bd03b3a719515;6869ef50fdd047289b58b7dc867dc859b5ddf0a5ab9c850fb7eec821e62f14f0
"7a05c8441f3a" = "testkey;694403310905ed4ac26e56f8;13852ec7855fc51b012874ea5786c215c37c3ed592685a04d1ad56152eccccc5"; 7a05c8441f3a = testkey;694403310905ed4ac26e56f8;13852ec7855fc51b012874ea5786c215c37c3ed592685a04d1ad56152eccccc5
}; 7fc944c9e632 = Test=2;74fffaf6e463950fc6da3fd3;95313e37ff448b1a19b133fd8067c160f9f1c6d417f5d8dbec6f4f931097d389
8174875f7d85 = Chris Büro;49c5dbda74fe86eae0dd1ce6;247f16f579033a6a947b3be301407319cd9bfe14f11554d71ea3190e04f7cb91
'';
nginx = { nginx = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations."^~ /api" = {
proxyPass = "http://localhost:3029/";
};
}; };
}; };
networking.firewall.allowedTCPPorts = [ 5000 ]; networking.firewall.allowedTCPPorts = [ 443 ];
} }