diff options
-rw-r--r-- | makefu/2configs/elchos/irc-token.nix | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/makefu/2configs/elchos/irc-token.nix b/makefu/2configs/elchos/irc-token.nix index 3f3c4ffc3..a91223b28 100644 --- a/makefu/2configs/elchos/irc-token.nix +++ b/makefu/2configs/elchos/irc-token.nix @@ -3,19 +3,20 @@ with import <stockholm/lib>; let secret = (import <secrets/elchos-token.nix>); in { - systemd.services.elchos-irctoken = { - startAt = "*:0/30"; + systemd.services.elchos-irctoken2 = { + startAt = "*:0/5"; serviceConfig = { RuntimeMaxSec = "20"; }; script = '' set -euf now=$(date -u +%Y-%m-%dT%H:%M) - sec=$(echo -n "${secret}$now" | md5sum | cut -d\ -f1) - message="The secret valid for 30 minutes is $sec" - echo "token for $now (UTC) is $sec" + sleep 5 + sec=$(cat /tmp/irc-secret) + message="The current secret is $sec" + echo "$message" LOGNAME=sec-announcer - HOSTNAME=$(${pkgs.systemd}/bin/hostnamectl --static) + HOSTNAME=$(${pkgs.systemd}/bin/hostnamectl --transient) IRC_SERVER=irc.freenode.net IRC_PORT=6667 IRC_NICK=$HOSTNAME-$$ @@ -59,4 +60,18 @@ in { | ${pkgs.netcat}/bin/netcat "$IRC_SERVER" "$IRC_PORT" |tee -a ircin ''; }; + systemd.services.elchos-create-token = { + startAt = "*:0/30"; + serviceConfig = { + RuntimeMaxSec = "20"; + }; + script = '' + set -euf + now=$(date -u +%Y-%m-%dT%H:%M) + sec=$(echo -n "${secret}$now" | md5sum | cut -d\ -f1) + message="The secret valid for 30 minutes is $sec" + echo -n "$sec" > /tmp/irc-secret + echo "token for $now (UTC) is $sec" + ''; + }; } |