141 lines
4.2 KiB
Nix
141 lines
4.2 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
{
|
|
imports = [
|
|
<nixpkgs/nixos/modules/profiles/minimal.nix>
|
|
<lib>
|
|
<lib/lxc-container.nix>
|
|
<lib/shared.nix>
|
|
];
|
|
|
|
c3d2 = {
|
|
isInHq = false;
|
|
hq.interface = "eth0";
|
|
enableHail = false;
|
|
};
|
|
|
|
|
|
networking.hostName = "scrape";
|
|
networking.interfaces.eth0.ipv4.addresses = [ { address = "172.20.73.32"; prefixLength = 26; } ];
|
|
networking.defaultGateway = "172.20.73.1";
|
|
|
|
# Required for krops
|
|
services.openssh.enable = true;
|
|
environment.systemPackages = [ pkgs.git ];
|
|
|
|
systemd.services =
|
|
let
|
|
scrapers = import (
|
|
builtins.fetchGit { url = "https://gitea.c3d2.de/astro/scrapers.git"; }
|
|
) {
|
|
inherit pkgs;
|
|
};
|
|
makeService = { script, host, user ? "", password ? "" }: {
|
|
script = "${scrapers.${script}}/bin/${script} ${host} ${user} ${password}";
|
|
};
|
|
xeriLogin = import <secrets/hosts/scrape/xeri.nix>;
|
|
fhemLogin = import <secrets/hosts/scrape/fhem.nix>;
|
|
matematLogin = import <secrets/hosts/scrape/matemat.nix>;
|
|
in {
|
|
scrape-xeri = makeService {
|
|
script = "xerox";
|
|
host = "xeri.hq.c3d2.de";
|
|
inherit (xeriLogin) user password;
|
|
};
|
|
scrape-roxi = makeService {
|
|
script = "xerox";
|
|
host = "roxi.hq.c3d2.de";
|
|
};
|
|
scrape-fhem = makeService {
|
|
script = "fhem";
|
|
host = "fhem.hq.c3d2.de";
|
|
inherit (fhemLogin) user password;
|
|
};
|
|
scrape-matemat = makeService {
|
|
script = "matemat";
|
|
host = "matemat.hq.c3d2.de";
|
|
inherit (matematLogin) user password;
|
|
};
|
|
scrape-node1139 = makeService {
|
|
script = "freifunk_node";
|
|
host = "10.200.4.120";
|
|
};
|
|
scrape-node1487 = makeService {
|
|
script = "freifunk_node";
|
|
host = "10.200.5.213";
|
|
};
|
|
scrape-node1884 = makeService {
|
|
script = "freifunk_node";
|
|
host = "10.200.7.100";
|
|
};
|
|
scrape-node1891 = makeService {
|
|
script = "freifunk_node";
|
|
host = "10.200.7.107";
|
|
};
|
|
scrape-node1768 = makeService {
|
|
script = "freifunk_node";
|
|
host = "10.200.6.239";
|
|
};
|
|
scrape-node1176 = makeService {
|
|
script = "freifunk_node";
|
|
host = "10.200.7.80";
|
|
};
|
|
};
|
|
systemd.timers.scrape-xeri = {
|
|
partOf = [ "scrape-xeri.service" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig.OnCalendar = "minutely";
|
|
};
|
|
systemd.timers.scrape-roxi = {
|
|
partOf = [ "scrape-roxi.service" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig.OnCalendar = "minutely";
|
|
};
|
|
systemd.timers.scrape-fhem = {
|
|
partOf = [ "scrape-fhem.service" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig.OnCalendar = "minutely";
|
|
};
|
|
systemd.timers.scrape-matemat = {
|
|
partOf = [ "scrape-matemat.service" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig.OnCalendar = "minutely";
|
|
};
|
|
systemd.timers.scrape-node1139 = {
|
|
partOf = [ "scrape-node1139.service" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig.OnCalendar = "minutely";
|
|
};
|
|
systemd.timers.scrape-node1487 = {
|
|
partOf = [ "scrape-node1487.service" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig.OnCalendar = "minutely";
|
|
};
|
|
systemd.timers.scrape-node1884 = {
|
|
partOf = [ "scrape-node1884.service" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig.OnCalendar = "minutely";
|
|
};
|
|
systemd.timers.scrape-node1891 = {
|
|
partOf = [ "scrape-node1894.service" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig.OnCalendar = "minutely";
|
|
};
|
|
systemd.timers.scrape-node1768 = {
|
|
partOf = [ "scrape-node1768.service" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig.OnCalendar = "minutely";
|
|
};
|
|
systemd.timers.scrape-node1176 = {
|
|
partOf = [ "scrape-node1176.service" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig.OnCalendar = "minutely";
|
|
};
|
|
|
|
# This value determines the NixOS release with which your system is to be
|
|
# compatible, in order to avoid breaking some software such as database
|
|
# servers. You should change this only after NixOS release notes say you
|
|
# should.
|
|
system.stateVersion = "20.03"; # Did you read the comment?
|
|
}
|