diff options
author | makefu <github@syntax-fehler.de> | 2018-08-08 21:11:41 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2018-08-08 21:11:41 +0200 |
commit | f04992a02050d9dd15e9d76e7ed625433b21f26e (patch) | |
tree | 47c92a362976d12a11b7fe190003af0f7e169f8f /2configs | |
parent | bed69443be61bec321c956820b400c06ca0d263d (diff) |
ma events-publisher: init
Diffstat (limited to '2configs')
-rw-r--r-- | 2configs/deployment/events-publisher/default.nix | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/2configs/deployment/events-publisher/default.nix b/2configs/deployment/events-publisher/default.nix new file mode 100644 index 000000000..db8502c6e --- /dev/null +++ b/2configs/deployment/events-publisher/default.nix @@ -0,0 +1,48 @@ +{ pkgs, ... }: +with import <stockholm/lib>; +let + shack-announce = pkgs.callPackage (builtins.fetchTarball { + url = "https://github.com/makefu/events-publisher/archive/15fbe5cc6ac9617a08a042870795f9e879d9952a.tar.gz"; + sha256 = "1bqp1qdnwx5q1w468zbm57hmpjz3x8if3j29qrqcia0vzks1s37a"; + }) {} ; + home = "/var/lib/shackannounce"; + user = "shackannounce"; + creds = (toString <secrets>) + "/shack-announce.json"; +in +{ + users.users.${user}= { + uid = genid user; + inherit home; + createHome = true; + }; + systemd.services.shack-announce = { + description = "Announce shack events"; + startAt = "*:0/30"; + path = [ shack-announce ]; + serviceConfig = { + WorkingDirectory = home; + User = user; + PermissionsStartOnly = true; + ExecStartPre = pkgs.writeDash "shack-announce-pre" '' + set -eu + cp ${creds} creds.json + chown ${user} creds.json + ''; + ExecStart = pkgs.writeDash "shack-announce" '' + if test ! -e announce.state; then + echo "initializing state" + announce-daemon \ + --lol INFO \ + --creds creds.json \ + --state announce.state \ + --clean --init + fi + echo "Running announce" + announce-daemon \ + --lol INFO \ + --creds creds.json \ + --state announce.state + ''; + }; + }; +} |