scrape: add and serve riesa-efau-kalender
This commit is contained in:
parent
1537bc146b
commit
e01f9ce5bf
|
@ -43,11 +43,11 @@
|
|||
"scrapers": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1616689077,
|
||||
"narHash": "sha256-eTj9yoOzBj7JUCMjxKr9XibQ0ZpoS6Ac0VP/CfaIwi8=",
|
||||
"lastModified": 1626554135,
|
||||
"narHash": "sha256-MaR2QU/lvdPgFPipTvKk4htQ1JyCJVNRiwnaubABCOw=",
|
||||
"ref": "master",
|
||||
"rev": "f6c9b1c1f25a0d03a4c28710a866759107162adc",
|
||||
"revCount": 27,
|
||||
"rev": "150f62c377252e26aa9cb9c76b2aa0e5585648e6",
|
||||
"revCount": 28,
|
||||
"type": "git",
|
||||
"url": "https://gitea.c3d2.de/astro/scrapers.git"
|
||||
},
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, scrapers, ... }:
|
||||
{ pkgs, config, scrapers, ... }:
|
||||
|
||||
let
|
||||
freifunkNodes = {
|
||||
|
@ -18,16 +18,41 @@ in {
|
|||
prefixLength = 26;
|
||||
}];
|
||||
networking.defaultGateway = "172.20.73.1";
|
||||
|
||||
# Required for krops
|
||||
# Required for deployment
|
||||
services.openssh.enable = true;
|
||||
environment.systemPackages = [ pkgs.git ];
|
||||
|
||||
users.groups.scrape = {};
|
||||
users.users.scrape = {
|
||||
isNormalUser = true;
|
||||
group = "scrape";
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
virtualHosts."scrape.hq.c3d2.de" = {
|
||||
default = true;
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
root = config.users.users.scrape.home;
|
||||
};
|
||||
};
|
||||
security.acme = {
|
||||
acceptTerms = true;
|
||||
email = "mail@c3d2.de";
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
|
||||
systemd.services = let
|
||||
scraperPkgs = import scrapers { inherit pkgs; };
|
||||
makeService = { script, host ? "", user ? "", password ? "" }: {
|
||||
script =
|
||||
"${scraperPkgs.${script}}/bin/${script} ${host} ${user} ${password}";
|
||||
serviceConfig = {
|
||||
User = config.users.users.scrape.name;
|
||||
Group = config.users.users.scrape.group;
|
||||
};
|
||||
};
|
||||
makeNodeScraper = nodeId: {
|
||||
name = "scrape-node${nodeId}";
|
||||
|
@ -44,6 +69,8 @@ in {
|
|||
};
|
||||
};
|
||||
in {
|
||||
nginx.serviceConfig.ProtectHome = "read-only";
|
||||
|
||||
scrape-xeri = makeService {
|
||||
script = "xerox";
|
||||
host = "xeri.hq.c3d2.de";
|
||||
|
@ -66,6 +93,16 @@ in {
|
|||
scrape-impfee = makeService {
|
||||
script = "impfee";
|
||||
};
|
||||
scrape-riesa-efau-kalender = {
|
||||
script = ''
|
||||
${scraperPkgs.riesa-efau-kalender}/bin/riesa-efau-kalender > /tmp/riesa-efau-kalender.ics
|
||||
mv /tmp/riesa-efau-kalender.ics ${config.users.users.scrape.home}/
|
||||
'';
|
||||
serviceConfig = {
|
||||
User = config.users.users.scrape.name;
|
||||
Group = config.users.users.scrape.group;
|
||||
};
|
||||
};
|
||||
} // builtins.listToAttrs
|
||||
(map makeNodeScraper (builtins.attrNames freifunkNodes) ++
|
||||
map makeLuftScraper luftqualitaetStations
|
||||
|
@ -95,6 +132,11 @@ in {
|
|||
scrape-fhem = makeTimer "scrape-fhem.service" "minutely";
|
||||
scrape-matemat = makeTimer "scrape-matemat.service" "minutely";
|
||||
scrape-impfee = makeTimer "scrape-impfee.service" "minutely";
|
||||
scrape-riesa-efau-kalender = {
|
||||
partOf = [ "scrape-riesa-efau-kalender.service" ];
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig.OnCalendar = "hourly";
|
||||
};
|
||||
} // builtins.listToAttrs
|
||||
(map makeNodeScraperTimer (builtins.attrNames freifunkNodes) ++
|
||||
(map makeLuftScraperTimer luftqualitaetStations)
|
||||
|
|
Loading…
Reference in New Issue