From c1328d39aa6d3c4480d685ea9010d97cb9fd3ba7 Mon Sep 17 00:00:00 2001 From: nostoromo root Date: Fri, 16 Oct 2020 09:09:44 -0700 Subject: [PATCH] added netinfo, etc --- config/fudo/netinfo-email.nix | 93 +++++++++++++++++++++++++++++++++++ config/local.nix | 1 + fudo/sites/seattle.nix | 23 ++++++++- hosts/nostromo.nix | 12 ++--- static/send-netinfo.rb | 32 ++++++++++++ 5 files changed, 154 insertions(+), 7 deletions(-) create mode 100644 config/fudo/netinfo-email.nix create mode 100755 static/send-netinfo.rb diff --git a/config/fudo/netinfo-email.nix b/config/fudo/netinfo-email.nix new file mode 100644 index 0000000..4dcc3a2 --- /dev/null +++ b/config/fudo/netinfo-email.nix @@ -0,0 +1,93 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.fudo.netinfo-email; + + make-script = server: port: target: pkgs.writeText "netinfo-script.rb" '' + #!${pkgs.ruby}/bin/ruby + + require 'net/smtp' + + raise RuntimeError.new("NETINFO_SMTP_USERNAME not set!") if not ENV['NETINFO_SMTP_USERNAME'] + user = ENV['NETINFO_SMTP_USERNAME'] + + raise RuntimeError.new("NETINFO_SMTP_PASSWD not set!") if not ENV['NETINFO_SMTP_PASSWD'] + passwd = ENV['NETINFO_SMTP_PASSWD'] + + hostname = `${pkgs.inetutils}/bin/hostname -f`.strip + date = `${pkgs.coreutils}/bin/date +%Y-%m-%d`.strip + email_date = `${pkgs.coreutils}/bin/date` + ipinfo = `${pkgs.iproute}/bin/ip addr` + + message = < " if not (ARGV[0] and ARGV[1]) +server = ARGV[0] +user = ARGV[1] + +error "NETINFO_SMTP_PASSWD not set!" if not ENV['NETINFO_SMTP_PASSWD'] +passwd = ENV['NETINFO_SMTP_PASSWD'] + +hostname = `hostname -f`.strip +date = `date +%Y-%m-%d`.strip +email_date = `date` +ipinfo = `ip addr` + +message = <