diff options
author | lassulus <lass@lassul.us> | 2017-06-01 12:49:36 +0200 |
---|---|---|
committer | lassulus <lass@lassul.us> | 2017-06-01 12:49:36 +0200 |
commit | e50bc4f3eb3dac13bba4ae6158e839a52455c3c3 (patch) | |
tree | b3c1fc1f3e00312e92e4ab747c31839db665eebd /shared | |
parent | 73b073c3fe037f31e05828a1071c9b4b19f7a2ff (diff) | |
parent | 9e04d0132133840fba14aca194f18925e3f353d5 (diff) |
Merge remote-tracking branch 'gum/master'
Diffstat (limited to 'shared')
-rw-r--r-- | shared/1systems/wolf.nix | 20 | ||||
-rw-r--r-- | shared/2configs/default.nix | 2 | ||||
-rw-r--r-- | shared/2configs/graphite.nix | 38 | ||||
-rw-r--r-- | shared/2configs/save-diskspace.nix | 11 | ||||
-rw-r--r-- | shared/2configs/shack/drivedroid.nix (renamed from shared/2configs/shack-drivedroid.nix) | 0 | ||||
-rw-r--r-- | shared/2configs/shack/mqtt_sub.nix | 34 | ||||
-rw-r--r-- | shared/2configs/shack/muell_caller.nix | 41 | ||||
-rw-r--r-- | shared/2configs/shack/nix-cacher.nix (renamed from shared/2configs/shack-nix-cacher.nix) | 0 | ||||
-rw-r--r-- | shared/2configs/shack/share.nix (renamed from shared/2configs/share-shack.nix) | 0 |
9 files changed, 140 insertions, 6 deletions
diff --git a/shared/1systems/wolf.nix b/shared/1systems/wolf.nix index 75307be12..9acc5894b 100644 --- a/shared/1systems/wolf.nix +++ b/shared/1systems/wolf.nix @@ -6,19 +6,27 @@ in imports = [ ../. <nixpkgs/nixos/modules/profiles/qemu-guest.nix> - ../2configs/cgit-mirror.nix ../2configs/collectd-base.nix + ../2configs/shack/share.nix + ../2configs/central-stats-client.nix + ../2configs/save-diskspace.nix + + ../2configs/cgit-mirror.nix ../2configs/graphite.nix ../2configs/repo-sync.nix - ../2configs/shack-drivedroid.nix - ../2configs/shack-nix-cacher.nix ../2configs/shared-buildbot.nix - ../2configs/share-shack.nix - ../2configs/central-stats-client.nix + ../2configs/shack/drivedroid.nix + ../2configs/shack/nix-cacher.nix + + ../2configs/shack/mqtt_sub.nix + ../2configs/shack/muell_caller.nix + ]; # use your own binary cache, fallback use cache.nixos.org (which is used by # apt-cacher-ng in first place) + services.influxdb.enable = true; + # local discovery in shackspace nixpkgs.config.packageOverrides = pkgs: { tinc = pkgs.tinc_pre; }; krebs.tinc.retiolum.extraConfig = "TCPOnly = yes"; @@ -46,6 +54,7 @@ in networking = { firewall.enable = false; + firewall.allowedTCPPorts = [ 8088 8086 8083 ]; interfaces.enp0s3.ip4 = [{ address = shack-ip; prefixLength = 20; @@ -83,4 +92,5 @@ in ]; time.timeZone = "Europe/Berlin"; + sound.enable = false; } diff --git a/shared/2configs/default.nix b/shared/2configs/default.nix index e7f600cd0..894f8a997 100644 --- a/shared/2configs/default.nix +++ b/shared/2configs/default.nix @@ -11,7 +11,7 @@ with import <stockholm/lib>; nixos-config.symlink = "stockholm/${user.name}/1systems/${host.name}.nix"; nixpkgs.git = { url = https://github.com/NixOS/nixpkgs; - ref = "22da5d02466ffe465735986d705675982f3646a0"; # nixos-17.03 @ 2017-05-13 + ref = "58e227052d40021d82d015f3f8da011ae54ea430"; # nixos-17.03 @ 2017-05-24 }; secrets.file = if getEnv "dummy_secrets" == "true" diff --git a/shared/2configs/graphite.nix b/shared/2configs/graphite.nix index 8a1238466..689aedd04 100644 --- a/shared/2configs/graphite.nix +++ b/shared/2configs/graphite.nix @@ -22,12 +22,50 @@ with import <stockholm/lib>; MAX_CACHE_SIZE = inf MAX_UPDATES_PER_SECOND = 1 MAX_CREATES_PER_MINUTE = 50 + MAX_UPDATES_PER_SECOND_ONSHUTDOWN = 9001 ''; storageSchemas = '' [carbon] pattern = ^carbon\. retentions = 60:90d + + [radiation_sensor] + pattern = ^sensors\.radiation\. + retentions = 1m:30d,5m:180d,10m:3y + + [motion_sensors] + pattern = ^sensors\.motion\. + retentions = 1s:1h,60s:30d,300s:1y + + [motion_sensors] + pattern = ^retiolum\. + retentions = 10s:1h,30s:30d,300s:1y + + [homeassistant] + pattern = ^homeassistant\. + retentions = 10s:24h,30s:30d,300s:1y,3600s:5y + + [ara] + pattern = ^ara\. + retentions = 60s:30d,300s:1y + + [openweathermap] + pattern = ^weather\.openweathermap + retentions = 30m:30d,1h:5y + + [stadtklima] + pattern = ^weather\.stadtklima-stuttgart + retentions = 15m:30d,30m:5y + + [sensebox] + pattern = ^weather\.sensebox + retentions = 1m:90d,30m:5y + + [elchos] + pattern = ^elchos\. + retentions = 10s:14d,1m:90d,10m:5y + [default] pattern = .* retentions = 60s:30d,300s:1y diff --git a/shared/2configs/save-diskspace.nix b/shared/2configs/save-diskspace.nix new file mode 100644 index 000000000..ab074c750 --- /dev/null +++ b/shared/2configs/save-diskspace.nix @@ -0,0 +1,11 @@ +{lib, ... }: +# TODO: do not check out nixpkgs master but fetch revision from github +{ + environment.noXlibs = true; + nix.gc.automatic = true; + nix.gc.dates = lib.mkDefault "03:10"; + programs.info.enable = false; + programs.man.enable = false; + services.journald.extraConfig = "SystemMaxUse=50M"; + services.nixosManual.enable = false; +} diff --git a/shared/2configs/shack-drivedroid.nix b/shared/2configs/shack/drivedroid.nix index 12e4a39c3..12e4a39c3 100644 --- a/shared/2configs/shack-drivedroid.nix +++ b/shared/2configs/shack/drivedroid.nix diff --git a/shared/2configs/shack/mqtt_sub.nix b/shared/2configs/shack/mqtt_sub.nix new file mode 100644 index 000000000..dafa06ba9 --- /dev/null +++ b/shared/2configs/shack/mqtt_sub.nix @@ -0,0 +1,34 @@ +{ config, lib, pkgs, ... }: + +with import <stockholm/lib>; +let + pkg = pkgs.stdenv.mkDerivation { + name = "mqtt2graphite-2017-05-29"; + src = pkgs.fetchgit { + url = "https://github.com/shackspace/mqtt2graphite/"; + rev = "8c060e6"; + sha256 = "06x7a1j6sfyvvdxg0366fcslhn478anqh4m5hljyf0z29knvz7pg"; + }; + buildInputs = [ + (pkgs.python35.withPackages (pythonPackages: with pythonPackages; [ + docopt + paho-mqtt + ])) + ]; + installPhase = '' + install -m755 -D sub.py $out/bin/sub + install -m755 -D sub2.py $out/bin/sub-new + ''; + }; +in { + systemd.services.mqtt_sub = { + description = "subscribe to mqtt, send to graphite"; + # after = [ (lib.optional config.services.mosqitto.enable "mosquitto.service") ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "nobody"; + ExecStart = "${pkg}/bin/sub-new"; + PrivateTmp = true; + }; + }; +} diff --git a/shared/2configs/shack/muell_caller.nix b/shared/2configs/shack/muell_caller.nix new file mode 100644 index 000000000..2d8d78e33 --- /dev/null +++ b/shared/2configs/shack/muell_caller.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: + +with import <stockholm/lib>; +let + pkg = pkgs.stdenv.mkDerivation { + name = "muell_caller-2017-06-01"; + src = pkgs.fetchgit { + url = "https://github.com/shackspace/muell_caller/"; + rev = "bbd4009"; + sha256 = "1bfnfl2vdh0p5wzyz5p48qh04vvsg2445avg86fzhzragx25fqv0"; + }; + buildInputs = [ + (pkgs.python3.withPackages (pythonPackages: with pythonPackages; [ + docopt + requests2 + paramiko + python + ])) + ]; + installPhase = '' + install -m755 -D call.py $out/bin/call-muell + ''; + }; + cfg = "${toString <secrets>}/tell.json"; +in { + systemd.services.call_muell = { + description = "call muell"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "nobody"; # TODO separate user + ExecStartPre = pkgs.writeDash "call-muell-pre" '' + cp ${cfg} /tmp/tell.json + chown nobody /tmp/tell.json + ''; + ExecStart = "${pkg}/bin/call-muell --cfg /tmp/tell.json --mode mpd loop 60"; + Restart = "always"; + PrivateTmp = true; + PermissionsStartOnly = true; + }; + }; +} diff --git a/shared/2configs/shack-nix-cacher.nix b/shared/2configs/shack/nix-cacher.nix index 4fcbf3a4e..4fcbf3a4e 100644 --- a/shared/2configs/shack-nix-cacher.nix +++ b/shared/2configs/shack/nix-cacher.nix diff --git a/shared/2configs/share-shack.nix b/shared/2configs/shack/share.nix index 247b9ee7d..247b9ee7d 100644 --- a/shared/2configs/share-shack.nix +++ b/shared/2configs/shack/share.nix |