From 90822f64e0bf247c5cca2f035077553cac5ceb79 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 1 Jun 2017 09:21:20 +0200 Subject: [PATCH] shared: move shack config to shack/ --- makefu/2configs/deployment/hound/default.nix | 24 +++++++++++ shared/1systems/wolf.nix | 19 +++++---- .../drivedroid.nix} | 0 shared/2configs/shack/mqtt_sub.nix | 34 +++++++++++++++ shared/2configs/shack/muell_caller.nix | 41 +++++++++++++++++++ .../nix-cacher.nix} | 0 .../{share-shack.nix => shack/share.nix} | 0 7 files changed, 111 insertions(+), 7 deletions(-) create mode 100644 makefu/2configs/deployment/hound/default.nix rename shared/2configs/{shack-drivedroid.nix => shack/drivedroid.nix} (100%) create mode 100644 shared/2configs/shack/mqtt_sub.nix create mode 100644 shared/2configs/shack/muell_caller.nix rename shared/2configs/{shack-nix-cacher.nix => shack/nix-cacher.nix} (100%) rename shared/2configs/{share-shack.nix => shack/share.nix} (100%) diff --git a/makefu/2configs/deployment/hound/default.nix b/makefu/2configs/deployment/hound/default.nix new file mode 100644 index 000000000..9e8f88895 --- /dev/null +++ b/makefu/2configs/deployment/hound/default.nix @@ -0,0 +1,24 @@ +{ config, pkgs, ... }: +{ + services.nginx.virtualHosts."wikisearch.krebsco.de".locations."/".proxyPass = "http://localhost:6080"; + services.hound = { + enable = true; + listen = "127.0.0.1:6080"; + # package = pkgs.hound.overrideDerivation(oldAttrs: { + # patches = [ ./keep-repo.patch ]; + # }); + config = ''{ + "max-concurrent-indexers" : 2, + "dbpath" : "${config.services.hound.home}/data", + "repos" : { + "nixos-users-wiki": { + "url" : "https://github.com/nixos-users/wiki.wiki.git", + "url-pattern" : { + "base-url" : "{url}/{path}" + } + } + } + }''; + }; + +} diff --git a/shared/1systems/wolf.nix b/shared/1systems/wolf.nix index c6cc2f81c..9acc5894b 100644 --- a/shared/1systems/wolf.nix +++ b/shared/1systems/wolf.nix @@ -6,16 +6,21 @@ in imports = [ ../. - ../2configs/cgit-mirror.nix ../2configs/collectd-base.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/shack/share.nix ../2configs/central-stats-client.nix ../2configs/save-diskspace.nix + + ../2configs/cgit-mirror.nix + ../2configs/graphite.nix + ../2configs/repo-sync.nix + ../2configs/shared-buildbot.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) diff --git a/shared/2configs/shack-drivedroid.nix b/shared/2configs/shack/drivedroid.nix similarity index 100% rename from shared/2configs/shack-drivedroid.nix rename to 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 ; +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..613ed2e4f --- /dev/null +++ b/shared/2configs/shack/muell_caller.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: + +with import ; +let + pkg = pkgs.stdenv.mkDerivation { + name = "muell_caller-2017-06-01"; + src = pkgs.fetchgit { + url = "https://github.com/shackspace/muell_caller/"; + rev = "bbd4009"; + sha256 = "06xaa1j6sfyvvdxg0366fcslhn478anqh4m5hljyf0z29knvz7pg"; + }; + buildInputs = [ + (pkgs.python3.withPackages (pythonPackages: with pythonPackages; [ + docopt + requests + paramiko + python + ])) + ]; + installPhase = '' + install -m755 -D call.py $out/bin/call-muell + ''; + }; + cfg = "${toString }/tell.json"; +in { + systemd.services.mqtt_sub = { + description = "call muell"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "nobody"; # TODO separate user + ExecStartPre = 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 similarity index 100% rename from shared/2configs/shack-nix-cacher.nix rename to shared/2configs/shack/nix-cacher.nix diff --git a/shared/2configs/share-shack.nix b/shared/2configs/shack/share.nix similarity index 100% rename from shared/2configs/share-shack.nix rename to shared/2configs/shack/share.nix