From 2c484daf3cb78deefdcfe2ef6cececaab397dace Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 00:23:44 +0100 Subject: [PATCH 01/35] l 2 monitoring client: remove dns query --- lass/2configs/monitoring/client.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lass/2configs/monitoring/client.nix b/lass/2configs/monitoring/client.nix index e879d6960..210fd2d10 100644 --- a/lass/2configs/monitoring/client.nix +++ b/lass/2configs/monitoring/client.nix @@ -29,10 +29,6 @@ with import ; '' [[inputs.net]] '' - '' - [[inputs.dns_query]] - servers = ["8.8.8.8"] - '' ]; }; systemd.services.telegraf.path = with pkgs; [ From 0ea991ffe9252041751e6e740c5166e164541928 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 00:25:39 +0100 Subject: [PATCH 02/35] l 2 monitoring server: add ram & deadman alarm --- lass/2configs/monitoring/server.nix | 37 +++++++++++++++++++---------- 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/lass/2configs/monitoring/server.nix b/lass/2configs/monitoring/server.nix index 2e1c15ca1..505cb7a17 100644 --- a/lass/2configs/monitoring/server.nix +++ b/lass/2configs/monitoring/server.nix @@ -1,9 +1,7 @@ {pkgs, config, ...}: with import ; { - services.influxdb = { - enable = true; - }; + services.influxdb.enable = true; services.influxdb.extraConfig = { meta.hostname = config.krebs.build.host.name; @@ -29,24 +27,39 @@ with import ; data="$(${pkgs.jq}/bin/jq -r .message)" export LOGNAME=prism-alarm ${pkgs.irc-announce}/bin/irc-announce \ - irc.freenode.org 6667 prism-alarm \#krebs-bots "$data" >/dev/null + ni.r 6667 prism-alarm \#retiolum "$data" >/dev/null ''; in { enable = true; + check_db = "telegraf_db"; alarms = { - test2 = '' - batch + cpu = '' + var data = batch |query(${"'''"} SELECT mean("usage_user") AS mean FROM "${config.lass.kapacitor.check_db}"."default"."cpu" ${"'''"}) - .every(3m) - .period(1m) + .period(10m) + .every(1m) .groupBy('host') - |alert() - .crit(lambda: "mean" > 90) - // Whenever we get an alert write it to a file. - .log('/tmp/alerts.log') + data |alert() + .crit(lambda: "mean" > 90) + .exec('${echoToIrc}') + data |deadman(1.0,5m) + .stateChangesOnly() + .exec('${echoToIrc}') + ''; + ram = '' + var data = batch + |query(${"'''"} + SELECT mean("used_percent") AS mean + FROM "${config.lass.kapacitor.check_db}"."default"."mem" + ${"'''"}) + .period(10m) + .every(1m) + .groupBy('host') + data |alert() + .crit(lambda: "mean" > 90) .exec('${echoToIrc}') ''; }; From 2a3176d871497daf95cd5c28fc5c2d02d1bd32fd Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 00:28:41 +0100 Subject: [PATCH 03/35] l 2 nixpkgs: 5fff5a9 -> f66d782 unstable --- lass/2configs/nixpkgs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/nixpkgs.nix b/lass/2configs/nixpkgs.nix index 4a1b0379b..e7229654d 100644 --- a/lass/2configs/nixpkgs.nix +++ b/lass/2configs/nixpkgs.nix @@ -3,6 +3,6 @@ { krebs.build.source.nixpkgs.git = { url = https://github.com/nixos/nixpkgs; - ref = "5fff5a902594b34471b613eb2babcec923e1e1f1"; + ref = "f66d782"; }; } From 25597af7630ba57a771c90748dd7e0d18e42052b Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 00:48:06 +0100 Subject: [PATCH 04/35] l 3: remove urxvtd --- lass/3modules/default.nix | 1 - lass/3modules/urxvtd.nix | 55 --------------------------------------- 2 files changed, 56 deletions(-) delete mode 100644 lass/3modules/urxvtd.nix diff --git a/lass/3modules/default.nix b/lass/3modules/default.nix index 2bf2df8b3..f97b041ac 100644 --- a/lass/3modules/default.nix +++ b/lass/3modules/default.nix @@ -6,7 +6,6 @@ _: ./hosts.nix ./mysql-backup.nix ./umts.nix - ./urxvtd.nix ./usershadow.nix ./xresources.nix ./kapacitor.nix diff --git a/lass/3modules/urxvtd.nix b/lass/3modules/urxvtd.nix deleted file mode 100644 index 469616a9f..000000000 --- a/lass/3modules/urxvtd.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ config, lib, pkgs, ... }: - -let -in - -with builtins; -with lib; - -{ - options = { - services.urxvtd = { - enable = mkOption { - type = types.bool; - default = false; - description = "Enable urxvtd per user"; - }; - users = mkOption { - type = types.listOf types.string; - default = []; - description = "users to run urxvtd for"; - }; - urxvtPackage = mkOption { - type = types.package; - default = pkgs.rxvt_unicode; - description = "urxvt package to use"; - }; - }; - }; - - config = - let - cfg = config.services.urxvtd; - users = cfg.users; - urxvt = cfg.urxvtPackage; - mkService = user: { - description = "urxvt terminal daemon"; - wantedBy = [ "multi-user.target" ]; - restartIfChanged = false; - path = [ pkgs.xlibs.xrdb ]; - environment = { - DISPLAY = ":0"; - URXVT_PERL_LIB = "${urxvt}/lib/urxvt/perl"; - }; - serviceConfig = { - Restart = "always"; - User = user; - ExecStart = "${urxvt}/bin/urxvtd"; - }; - }; - in - mkIf cfg.enable { - environment.systemPackages = [ urxvt ]; - systemd.services = listToAttrs (map (u: { name = "${u}-urxvtd"; value = mkService u; }) users); - }; -} From 2d8c8c4cf51db69912633283c53327197ad5b437 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 01:18:53 +0100 Subject: [PATCH 05/35] l 2 baseX: remove broken termite --- lass/2configs/baseX.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/lass/2configs/baseX.nix b/lass/2configs/baseX.nix index e879e8e58..2933ca0e4 100644 --- a/lass/2configs/baseX.nix +++ b/lass/2configs/baseX.nix @@ -66,7 +66,6 @@ in { youtube-tools rxvt_unicode - termite #window manager stuff #haskellPackages.xmobar #haskellPackages.yeganesh From 427482e4793cb679804d2d0c1f8b5a809502464f Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 01:19:10 +0100 Subject: [PATCH 06/35] l 5 xmonad: remove broken termite --- lass/5pkgs/xmonad-lass.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/lass/5pkgs/xmonad-lass.nix b/lass/5pkgs/xmonad-lass.nix index cf8eaf058..dd4d8803c 100644 --- a/lass/5pkgs/xmonad-lass.nix +++ b/lass/5pkgs/xmonad-lass.nix @@ -129,7 +129,6 @@ myKeyMap = , ("M4-", toggleWS) , ("M4-S-", spawn urxvtcPath) , ("M4-x", floatNext True >> spawn urxvtcPath) - , ("M4-z", floatNext True >> spawn "${pkgs.termite}/bin/termite") , ("M4-f", floatNext True) , ("M4-b", sendMessage ToggleStruts) From cf5cb7267f0df98997452a1d9faf910946c709ee Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 09:30:56 +0100 Subject: [PATCH 07/35] l 2 mail: mutt-kz -> neomutt --- lass/2configs/mail.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lass/2configs/mail.nix b/lass/2configs/mail.nix index 872acc003..5ca84133d 100644 --- a/lass/2configs/mail.nix +++ b/lass/2configs/mail.nix @@ -17,7 +17,7 @@ let muttrc = pkgs.writeText "muttrc" '' # gpg - source ${pkgs.mutt-kz}/share/doc/mutt-kz/samples/gpg.rc + source ${pkgs.neomutt}/share/doc/neomutt/samples/gpg.rc set pgp_use_gpg_agent = yes set pgp_sign_as = 0x976A7E4D set crypt_autosign = yes @@ -99,7 +99,7 @@ let ''; mutt = pkgs.writeDashBin "mutt" '' - exec ${pkgs.mutt-kz}/bin/mutt -F ${muttrc} $@ + exec ${pkgs.neomutt}/bin/mutt -F ${muttrc} $@ ''; in { From 035dce390cf0de75cf9e10e67c51388a9d1b648b Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 09:35:31 +0100 Subject: [PATCH 08/35] l 2 websites domsen: remove user nrg --- lass/2configs/websites/domsen.nix | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/lass/2configs/websites/domsen.nix b/lass/2configs/websites/domsen.nix index 66fc681b1..0b75425c4 100644 --- a/lass/2configs/websites/domsen.nix +++ b/lass/2configs/websites/domsen.nix @@ -118,8 +118,7 @@ in { { from = "mail@jla-trading.com"; to = "jla-trading"; } { from = "jms@ubikmedia.eu"; to = "jms"; } { from = "ms@ubikmedia.eu"; to = "ms"; } - { from = "nrg@ubikmedia.eu"; to = "nrg"; } - { from = "ubik@ubikmedia.eu"; to = "domsen, jms, ms, nrg"; } + { from = "ubik@ubikmedia.eu"; to = "domsen, jms, ms"; } { from = "testuser@lassul.us"; to = "testuser"; } ]; @@ -161,13 +160,6 @@ in { createHome = true; }; - users.users.nrg = { - uid = genid_signed "nrg"; - home = "/home/nrg"; - useDefaultShell = true; - createHome = true; - }; - users.users.testuser = { uid = genid_signed "testuser"; home = "/home/testuser"; From aedb8cf265960c528db31b0aba00ec799b90d27a Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 11:47:43 +0100 Subject: [PATCH 09/35] k 5: remove obsolete telegraf --- krebs/5pkgs/telegraf/default.nix | 27 -- krebs/5pkgs/telegraf/deps-1.1.2.nix | 588 ---------------------------- 2 files changed, 615 deletions(-) delete mode 100644 krebs/5pkgs/telegraf/default.nix delete mode 100644 krebs/5pkgs/telegraf/deps-1.1.2.nix diff --git a/krebs/5pkgs/telegraf/default.nix b/krebs/5pkgs/telegraf/default.nix deleted file mode 100644 index 996c839ac..000000000 --- a/krebs/5pkgs/telegraf/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, buildGoPackage, fetchFromGitHub }: - -buildGoPackage rec { - name = "telegraf-${version}"; - version = "1.1.2"; - - goPackagePath = "github.com/influxdata/telegraf"; - - excludedPackages = "test"; - - src = fetchFromGitHub { - owner = "influxdata"; - repo = "telegraf"; - rev = "${version}"; - sha256 = "0dgrbdyz261j28wcq636125ha4xmfgh4y9shlg8m1y6jqdqd2zf2"; - }; - - goDeps = ./. + builtins.toPath "/deps-${version}.nix"; - - meta = with lib; { - description = "The plugin-driven server agent for collecting & reporting metrics."; - license = licenses.mit; - homepage = https://www.influxdata.com/time-series-platform/telegraf/; - maintainers = with maintainers; [ mic92 roblabla ]; - platforms = platforms.linux; - }; -} diff --git a/krebs/5pkgs/telegraf/deps-1.1.2.nix b/krebs/5pkgs/telegraf/deps-1.1.2.nix deleted file mode 100644 index b62ae44db..000000000 --- a/krebs/5pkgs/telegraf/deps-1.1.2.nix +++ /dev/null @@ -1,588 +0,0 @@ -# This file was generated by go2nix. -[ - { - goPackagePath = "github.com/Shopify/sarama"; - fetch = { - type = "git"; - url = "https://github.com/Shopify/sarama"; - rev = "8aadb476e66ca998f2f6bb3c993e9a2daa3666b9"; - sha256 = "1ndaddqcll9r22jg9x36acanxv5ds3xwahrm4b6nmmg06670gksv"; - }; - } - { - goPackagePath = "github.com/Sirupsen/logrus"; - fetch = { - type = "git"; - url = "https://github.com/Sirupsen/logrus"; - rev = "219c8cb75c258c552e999735be6df753ffc7afdc"; - sha256 = "04v55846v1535dplldyjhr0yqxl6n1mr4kiy2vz3ragv92xpshr6"; - }; - } - { - goPackagePath = "github.com/aerospike/aerospike-client-go"; - fetch = { - type = "git"; - url = "https://github.com/aerospike/aerospike-client-go"; - rev = "7f3a312c3b2a60ac083ec6da296091c52c795c63"; - sha256 = "05ancqplckvni9xp6xd4bv2pgkfa4v23svfcg27m8xinzi4ry219"; - }; - } - { - goPackagePath = "github.com/amir/raidman"; - fetch = { - type = "git"; - url = "https://github.com/amir/raidman"; - rev = "53c1b967405155bfc8758557863bf2e14f814687"; - sha256 = "08a6zz4akkm7lk02w53vfhkxdf0ikv32x41rc4jyi2qaf0wyw6b4"; - }; - } - { - goPackagePath = "github.com/aws/aws-sdk-go"; - fetch = { - type = "git"; - url = "https://github.com/aws/aws-sdk-go"; - rev = "13a12060f716145019378a10e2806c174356b857"; - sha256 = "09yl85kk2y4ayk44af5rbnkq4vy82vbh2z5ac4vpl2vgv7zyh46h"; - }; - } - { - goPackagePath = "github.com/beorn7/perks"; - fetch = { - type = "git"; - url = "https://github.com/beorn7/perks"; - rev = "3ac7bf7a47d159a033b107610db8a1b6575507a4"; - sha256 = "1qc3l4r818xpvrhshh1sisc5lvl9479qspcfcdbivdyh0apah83r"; - }; - } - { - goPackagePath = "github.com/cenkalti/backoff"; - fetch = { - type = "git"; - url = "https://github.com/cenkalti/backoff"; - rev = "4dc77674aceaabba2c7e3da25d4c823edfb73f99"; - sha256 = "0icf4vrgzksr0g8h6y00rd92h1mym6waf3mbqpf890bkw60gnm0w"; - }; - } - { - goPackagePath = "github.com/couchbase/go-couchbase"; - fetch = { - type = "git"; - url = "https://github.com/couchbase/go-couchbase"; - rev = "cb664315a324d87d19c879d9cc67fda6be8c2ac1"; - sha256 = "1dfw1apwrlfwl7bahb6dy5g9z2vs431l4lpaj3k9bnm13p0awivr"; - }; - } - { - goPackagePath = "github.com/couchbase/gomemcached"; - fetch = { - type = "git"; - url = "https://github.com/couchbase/gomemcached"; - rev = "a5ea6356f648fec6ab89add00edd09151455b4b2"; - sha256 = "00x57qqdv9ciyxiw2y6p4s65sfgi4cs6zi39qlqlw90nh133xnwi"; - }; - } - { - goPackagePath = "github.com/couchbase/goutils"; - fetch = { - type = "git"; - url = "https://github.com/couchbase/goutils"; - rev = "5823a0cbaaa9008406021dc5daf80125ea30bba6"; - sha256 = "15v5ps2i2y2hczwxs2ci4c2w4p3pn3bl7vc5wlaqnc7i14f9285c"; - }; - } - { - goPackagePath = "github.com/dancannon/gorethink"; - fetch = { - type = "git"; - url = "https://github.com/dancannon/gorethink"; - rev = "e7cac92ea2bc52638791a021f212145acfedb1fc"; - sha256 = "0f9gwsqf93qzvfpdwgam7vcfzrrkcj2s9ms4p056kcyxv9snwq3g"; - }; - } - { - goPackagePath = "github.com/davecgh/go-spew"; - fetch = { - type = "git"; - url = "https://github.com/davecgh/go-spew"; - rev = "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d"; - sha256 = "15h9kl73rdbzlfmsdxp13jja5gs7sknvqkpq2qizq3qv3nr1x8dk"; - }; - } - { - goPackagePath = "github.com/docker/engine-api"; - fetch = { - type = "git"; - url = "https://github.com/docker/engine-api"; - rev = "8924d6900370b4c7e7984be5adc61f50a80d7537"; - sha256 = "1klimc3d1a2vfgl14a7js20ricpghq5jzvh8l46kf87ycjwc0q4n"; - }; - } - { - goPackagePath = "github.com/docker/go-connections"; - fetch = { - type = "git"; - url = "https://github.com/docker/go-connections"; - rev = "f549a9393d05688dff0992ef3efd8bbe6c628aeb"; - sha256 = "0k1yf4bimmwxc0qiz997nagfmddbm8nwb0c1q16387m8lgw1gbwg"; - }; - } - { - goPackagePath = "github.com/docker/go-units"; - fetch = { - type = "git"; - url = "https://github.com/docker/go-units"; - rev = "5d2041e26a699eaca682e2ea41c8f891e1060444"; - sha256 = "0hn8xdbaykp046inc4d2mwig5ir89ighma8hk18dfkm8rh1vvr8i"; - }; - } - { - goPackagePath = "github.com/eapache/go-resiliency"; - fetch = { - type = "git"; - url = "https://github.com/eapache/go-resiliency"; - rev = "b86b1ec0dd4209a588dc1285cdd471e73525c0b3"; - sha256 = "1kzv95bh3nidm2cr7iv9lk3s2qiw1i17n8gyl2x6xk6qv8b0bc21"; - }; - } - { - goPackagePath = "github.com/eapache/queue"; - fetch = { - type = "git"; - url = "https://github.com/eapache/queue"; - rev = "ded5959c0d4e360646dc9e9908cff48666781367"; - sha256 = "0inclypw0kln8hsn34c5ww34h0qa9fcqwak93lac5dp59rz5430n"; - }; - } - { - goPackagePath = "github.com/eclipse/paho.mqtt.golang"; - fetch = { - type = "git"; - url = "https://github.com/eclipse/paho.mqtt.golang"; - rev = "0f7a459f04f13a41b7ed752d47944528d4bf9a86"; - sha256 = "13l6mrx9z859r4r7kpa9rsbf4ni7dn6xgz8iyv2xnz53pqffanjh"; - }; - } - { - goPackagePath = "github.com/go-sql-driver/mysql"; - fetch = { - type = "git"; - url = "https://github.com/go-sql-driver/mysql"; - rev = "1fca743146605a172a266e1654e01e5cd5669bee"; - sha256 = "02vbq8j4r3skg3fmiv1wvjqh1542dr515w8f3d42b5lpwc1fsn38"; - }; - } - { - goPackagePath = "github.com/gobwas/glob"; - fetch = { - type = "git"; - url = "https://github.com/gobwas/glob"; - rev = "49571a1557cd20e6a2410adc6421f85b66c730b5"; - sha256 = "16j7pdxajqrl20a737p7kgsngr2f7gkkpgqxxmfkrmgckgkc8cvk"; - }; - } - { - goPackagePath = "github.com/golang/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/golang/protobuf"; - rev = "552c7b9542c194800fd493123b3798ef0a832032"; - sha256 = "1zaw1xxnvgsvfcrv5xkn1f7p87vyh9i6mc44csl11fgc2hvqp6xm"; - }; - } - { - goPackagePath = "github.com/golang/snappy"; - fetch = { - type = "git"; - url = "https://github.com/golang/snappy"; - rev = "d9eb7a3d35ec988b8585d4a0068e462c27d28380"; - sha256 = "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn"; - }; - } - { - goPackagePath = "github.com/gonuts/go-shellquote"; - fetch = { - type = "git"; - url = "https://github.com/gonuts/go-shellquote"; - rev = "e842a11b24c6abfb3dd27af69a17f482e4b483c2"; - sha256 = "19lbz7wl241bsyzsv2ai40b2vnj8c9nl107b6jf9gid3i6h0xydg"; - }; - } - { - goPackagePath = "github.com/gorilla/context"; - fetch = { - type = "git"; - url = "https://github.com/gorilla/context"; - rev = "1ea25387ff6f684839d82767c1733ff4d4d15d0a"; - sha256 = "1nh1nzxcsgd215x4xn59wc4cbqfa8zvhvnnx5p8fkrn4bj1cgak4"; - }; - } - { - goPackagePath = "github.com/gorilla/mux"; - fetch = { - type = "git"; - url = "https://github.com/gorilla/mux"; - rev = "c9e326e2bdec29039a3761c07bece13133863e1e"; - sha256 = "1bplp6v14isjdfpf8328k8bvkn35n451axkxlm822d9h5ccg47g6"; - }; - } - { - goPackagePath = "github.com/hailocab/go-hostpool"; - fetch = { - type = "git"; - url = "https://github.com/hailocab/go-hostpool"; - rev = "e80d13ce29ede4452c43dea11e79b9bc8a15b478"; - sha256 = "05ld4wp3illkbgl043yf8jq9y1ld0zzvrcg8jdij129j50xgfxny"; - }; - } - { - goPackagePath = "github.com/hashicorp/consul"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/consul"; - rev = "5aa90455ce78d4d41578bafc86305e6e6b28d7d2"; - sha256 = "1xas814kkhwnjg5ghhlkgygcgi5p7h6dczmpbrzzh3yygbfdzxgw"; - }; - } - { - goPackagePath = "github.com/hpcloud/tail"; - fetch = { - type = "git"; - url = "https://github.com/hpcloud/tail"; - rev = "b2940955ab8b26e19d43a43c4da0475dd81bdb56"; - sha256 = "1x266pdfvcymsbdrdsns06qq5qfjb62z6h4512ylhakbm64qkn4s"; - }; - } - { - goPackagePath = "github.com/influxdata/config"; - fetch = { - type = "git"; - url = "https://github.com/influxdata/config"; - rev = "b79f6829346b8d6e78ba73544b1e1038f1f1c9da"; - sha256 = "0k4iywy83n3kq2f58a41rjinj03wp1di67aacpf04p25qmf46c4z"; - }; - } - { - goPackagePath = "github.com/influxdata/influxdb"; - fetch = { - type = "git"; - url = "https://github.com/influxdata/influxdb"; - rev = "fc57c0f7c635df3873f3d64f0ed2100ddc94d5ae"; - sha256 = "07cv1gryp4a84a2acgc8k8alr7jw4jwphf12cby8jjy1br35jrbq"; - }; - } - { - goPackagePath = "github.com/influxdata/toml"; - fetch = { - type = "git"; - url = "https://github.com/influxdata/toml"; - rev = "af4df43894b16e3fd2b788d01bd27ad0776ef2d0"; - sha256 = "1faf51s89sk1z41qfsazmddgwll7jq9xna67k3h3vry86c4vs2j4"; - }; - } - { - goPackagePath = "github.com/influxdata/wlog"; - fetch = { - type = "git"; - url = "https://github.com/influxdata/wlog"; - rev = "7c63b0a71ef8300adc255344d275e10e5c3a71ec"; - sha256 = "04kw4kivxvr3kkmghj3427b1xyhzbhnfr971qfn3lv2vvhs8kpfl"; - }; - } - { - goPackagePath = "github.com/kardianos/osext"; - fetch = { - type = "git"; - url = "https://github.com/kardianos/osext"; - rev = "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc"; - sha256 = "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a"; - }; - } - { - goPackagePath = "github.com/kardianos/service"; - fetch = { - type = "git"; - url = "https://github.com/kardianos/service"; - rev = "5e335590050d6d00f3aa270217d288dda1c94d0a"; - sha256 = "1g10qisgywfqj135yyiq63pnbjgr201gz929ydlgyzqq6yk3bn3h"; - }; - } - { - goPackagePath = "github.com/klauspost/crc32"; - fetch = { - type = "git"; - url = "https://github.com/klauspost/crc32"; - rev = "19b0b332c9e4516a6370a0456e6182c3b5036720"; - sha256 = "0fcnsf1m0bzplgp28dz8skza6l7rc65s180x85rzbdl9l3zzi43r"; - }; - } - { - goPackagePath = "github.com/lib/pq"; - fetch = { - type = "git"; - url = "https://github.com/lib/pq"; - rev = "e182dc4027e2ded4b19396d638610f2653295f36"; - sha256 = "1636v3snixapjf7rbjq0xn1sbym7hwckqfla0dm5cr4a5q4fw5cj"; - }; - } - { - goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; - fetch = { - type = "git"; - url = "https://github.com/matttproud/golang_protobuf_extensions"; - rev = "d0c3fe89de86839aecf2e0579c40ba3bb336a453"; - sha256 = "0jkjgpi1s8l9bdbf14fh8050757jqy36kn1l1hxxlb2fjn1pcg0r"; - }; - } - { - goPackagePath = "github.com/miekg/dns"; - fetch = { - type = "git"; - url = "https://github.com/miekg/dns"; - rev = "cce6c130cdb92c752850880fd285bea1d64439dd"; - sha256 = "098gadhfjiijlgq497gbccvf26xrmjvln1fws56m0ljcgszq3jdx"; - }; - } - { - goPackagePath = "github.com/mreiferson/go-snappystream"; - fetch = { - type = "git"; - url = "https://github.com/mreiferson/go-snappystream"; - rev = "028eae7ab5c4c9e2d1cb4c4ca1e53259bbe7e504"; - sha256 = "0jdd5whp74nvg35d9hzydsi3shnb1vrnd7shi9qz4wxap7gcrid6"; - }; - } - { - goPackagePath = "github.com/naoina/go-stringutil"; - fetch = { - type = "git"; - url = "https://github.com/naoina/go-stringutil"; - rev = "6b638e95a32d0c1131db0e7fe83775cbea4a0d0b"; - sha256 = "00831p1wn3rimybk1z8l30787kn1akv5jax5wx743nn76qcmkmc6"; - }; - } - { - goPackagePath = "github.com/nats-io/nats"; - fetch = { - type = "git"; - url = "https://github.com/nats-io/nats"; - rev = "ea8b4fd12ebb823073c0004b9f09ac8748f4f165"; - sha256 = "0i5f6n9k0d2vzdy20sqygmss5j45y72irxsi80grjsh7qkxa6vn1"; - }; - } - { - goPackagePath = "github.com/nats-io/nuid"; - fetch = { - type = "git"; - url = "https://github.com/nats-io/nuid"; - rev = "a5152d67cf63cbfb5d992a395458722a45194715"; - sha256 = "0fphar5bz735wwa7549j31nxnm5a9dyw472gs9zafz0cv7g8np40"; - }; - } - { - goPackagePath = "github.com/nsqio/go-nsq"; - fetch = { - type = "git"; - url = "https://github.com/nsqio/go-nsq"; - rev = "0b80d6f05e15ca1930e0c5e1d540ed627e299980"; - sha256 = "1zi9jazjfzilp2g0xy30dlx9nd9g47cjqrnqxallly97mz9n01xr"; - }; - } - { - goPackagePath = "github.com/opencontainers/runc"; - fetch = { - type = "git"; - url = "https://github.com/opencontainers/runc"; - rev = "89ab7f2ccc1e45ddf6485eaa802c35dcf321dfc8"; - sha256 = "1rnaqcsww7plr430r4ksv9si4l91l25li0bwa1b03g3sn2shirk1"; - }; - } - { - goPackagePath = "github.com/prometheus/client_golang"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/client_golang"; - rev = "18acf9993a863f4c4b40612e19cdd243e7c86831"; - sha256 = "1gyjvwnvgyl0fs4hd2vp5hj1dsafhwb2h55w8zgzdpshvhwrpmhv"; - }; - } - { - goPackagePath = "github.com/prometheus/client_model"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/client_model"; - rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6"; - sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"; - }; - } - { - goPackagePath = "github.com/prometheus/common"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/common"; - rev = "e8eabff8812b05acf522b45fdcd725a785188e37"; - sha256 = "08magd2aw7dqaa8bbv85404zvy120ify61msfpy75az5rdl5anxq"; - }; - } - { - goPackagePath = "github.com/prometheus/procfs"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/procfs"; - rev = "406e5b7bfd8201a36e2bb5f7bdae0b03380c2ce8"; - sha256 = "0yla9hz15pg63394ygs9iiwzsqyv29labl8p424hijwsc9z9nka8"; - }; - } - { - goPackagePath = "github.com/samuel/go-zookeeper"; - fetch = { - type = "git"; - url = "https://github.com/samuel/go-zookeeper"; - rev = "218e9c81c0dd8b3b18172b2bbfad92cc7d6db55f"; - sha256 = "1v0m6wn83v4pbqz6hs7z1h5hbjk7k6npkpl7icvcxdcjd7rmyjp2"; - }; - } - { - goPackagePath = "github.com/shirou/gopsutil"; - fetch = { - type = "git"; - url = "https://github.com/shirou/gopsutil"; - rev = "4d0c402af66c78735c5ccf820dc2ca7de5e4ff08"; - sha256 = "1wkp7chzpz6brq2y0k2mvsf0iaknns279wfsjn5gm6gvih49lqni"; - }; - } - { - goPackagePath = "github.com/soniah/gosnmp"; - fetch = { - type = "git"; - url = "https://github.com/soniah/gosnmp"; - rev = "3fe3beb30fa9700988893c56a63b1df8e1b68c26"; - sha256 = "0a0vlxx1plqj9fi863wd8ajbzl705wgma4qk75v949azgn1yx9ib"; - }; - } - { - goPackagePath = "github.com/streadway/amqp"; - fetch = { - type = "git"; - url = "https://github.com/streadway/amqp"; - rev = "b4f3ceab0337f013208d31348b578d83c0064744"; - sha256 = "1whcg2l6w2q7xrkk8q5y95i90ckq72bpgksii9ibrpyixbx7p5xp"; - }; - } - { - goPackagePath = "github.com/stretchr/testify"; - fetch = { - type = "git"; - url = "https://github.com/stretchr/testify"; - rev = "1f4a1643a57e798696635ea4c126e9127adb7d3c"; - sha256 = "0nam9d68rn8ha8ldif22kkgv6k6ph3y88fp26159wdrs63ca3bzl"; - }; - } - { - goPackagePath = "github.com/vjeantet/grok"; - fetch = { - type = "git"; - url = "https://github.com/vjeantet/grok"; - rev = "83bfdfdfd1a8146795b28e547a8e3c8b28a466c2"; - sha256 = "03zdcg9gy482gbasa7sw4cpw1k1n3dr2q06q80qnkqn268p7hp80"; - }; - } - { - goPackagePath = "github.com/wvanbergen/kafka"; - fetch = { - type = "git"; - url = "https://github.com/wvanbergen/kafka"; - rev = "46f9a1cf3f670edec492029fadded9c2d9e18866"; - sha256 = "1czmbilprffdbwnrq4wcllaqknbq91l6p0ni6b55fkaggnwck694"; - }; - } - { - goPackagePath = "github.com/wvanbergen/kazoo-go"; - fetch = { - type = "git"; - url = "https://github.com/wvanbergen/kazoo-go"; - rev = "0f768712ae6f76454f987c3356177e138df258f8"; - sha256 = "1paaayg03nknbnl3kdl0ybqv4llz7iwry7f29i0bh9srb6c87x16"; - }; - } - { - goPackagePath = "github.com/yuin/gopher-lua"; - fetch = { - type = "git"; - url = "https://github.com/yuin/gopher-lua"; - rev = "bf3808abd44b1e55143a2d7f08571aaa80db1808"; - sha256 = "02m7ly5yzc3snvxlfl9j4ggwd7v0kpvy3pqgqbfr7scdjxdap4nm"; - }; - } - { - goPackagePath = "github.com/zensqlmonitor/go-mssqldb"; - fetch = { - type = "git"; - url = "https://github.com/zensqlmonitor/go-mssqldb"; - rev = "ffe5510c6fa5e15e6d983210ab501c815b56b363"; - sha256 = "079x8ms8lv5p6253ppaxva37k6w04xnd38y8763rr2giswxqzlkl"; - }; - } - { - goPackagePath = "golang.org/x/crypto"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/crypto"; - rev = "c197bcf24cde29d3f73c7b4ac6fd41f4384e8af6"; - sha256 = "1y2bbghi594m8p4pcm9pwrzql06179xj6zvhaghwcc6y0l48rbgp"; - }; - } - { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "6acef71eb69611914f7a30939ea9f6e194c78172"; - sha256 = "1fcsv50sbq0lpzrhx3m9jw51wa255fsbqjwsx9iszq4d0gysnnvc"; - }; - } - { - goPackagePath = "golang.org/x/text"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/text"; - rev = "a71fd10341b064c10f4a81ceac72bcf70f26ea34"; - sha256 = "1igxqrgnnb6983fl0yck0xal2hwnkcgbslr7cxyrg7a65vawd0q1"; - }; - } - { - goPackagePath = "gopkg.in/dancannon/gorethink.v1"; - fetch = { - type = "git"; - url = "https://gopkg.in/dancannon/gorethink.v1"; - rev = "7d1af5be49cb5ecc7b177bf387d232050299d6ef"; - sha256 = "0036hcadshka19bcqmq4mm9ssl9qhsx1n96lj1y24mh9g1api8fi"; - }; - } - { - goPackagePath = "gopkg.in/fatih/pool.v2"; - fetch = { - type = "git"; - url = "https://gopkg.in/fatih/pool.v2"; - rev = "cba550ebf9bce999a02e963296d4bc7a486cb715"; - sha256 = "1jlrakgnpvhi2ny87yrsj1gyrcncfzdhypa9i2mlvvzqlj4r0dn0"; - }; - } - { - goPackagePath = "gopkg.in/mgo.v2"; - fetch = { - type = "git"; - url = "https://gopkg.in/mgo.v2"; - rev = "d90005c5262a3463800497ea5a89aed5fe22c886"; - sha256 = "1z81k6mnfk07hkrkw31l16qycyiwa6wzyhysmywgkh58sm5dc9m7"; - }; - } - { - goPackagePath = "gopkg.in/yaml.v2"; - fetch = { - type = "git"; - url = "https://gopkg.in/yaml.v2"; - rev = "a83829b6f1293c91addabc89d0571c246397bbf4"; - sha256 = "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"; - }; - } -] From f44d29940e4168738b6b600003da44e52c1d383b Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 11:52:01 +0100 Subject: [PATCH 10/35] l 5: remove obsolete kapacitor --- krebs/5pkgs/kapacitor/default.nix | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 krebs/5pkgs/kapacitor/default.nix diff --git a/krebs/5pkgs/kapacitor/default.nix b/krebs/5pkgs/kapacitor/default.nix deleted file mode 100644 index 804826941..000000000 --- a/krebs/5pkgs/kapacitor/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, lib, fetchFromGitHub, buildGoPackage }: - -buildGoPackage rec { - name = "kapacitor-${version}"; - version = "1.0.0"; - - goPackagePath = "github.com/influxdata/kapacitor"; - - src = fetchFromGitHub { - owner = "influxdata"; - repo = "kapacitor"; - rev = "v${version}"; - sha256 = "14l9bhj6qdif79s4dyqqbnjgj3m4iarvw0ckld1wdhpdgvl8w9qh"; - }; - - meta = with lib; { - description = "Open source framework for processing, monitoring, and alerting on time series data"; - license = licenses.mit; - homepage = https://influxdata.com/time-series-platform/kapacitor/; - maintainers = with maintainers; [offline]; - platforms = with platforms; linux; - }; -} From 6ad79bd34eb62d916d5802536174bdb6c3fcd363 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 12:15:17 +0100 Subject: [PATCH 11/35] l 2 monitoring client: use services.telegraf --- lass/2configs/monitoring/client.nix | 105 ++++++---------------------- 1 file changed, 22 insertions(+), 83 deletions(-) diff --git a/lass/2configs/monitoring/client.nix b/lass/2configs/monitoring/client.nix index 210fd2d10..d20ad475d 100644 --- a/lass/2configs/monitoring/client.nix +++ b/lass/2configs/monitoring/client.nix @@ -1,90 +1,29 @@ {pkgs, config, ...}: with import ; { - lass.telegraf = { + services.telegraf = { enable = true; - interval = "1s"; - - outputs = '' - [outputs.influxdb] - urls = ["http://prism:8086"] - database = "telegraf_db" - user_agent = "telegraf" - ''; - inputs = [ - '' - [cpu] - percpu = false - totalcpu = true - drop = ["cpu_time"] - '' - '' - [[inputs.mem]] - '' - '' - [[inputs.ping]] - urls = ["8.8.8.8"] - '' - '' - [[inputs.net]] - '' - ]; - }; - systemd.services.telegraf.path = with pkgs; [ - iputils - lm_sensors - ]; - - services.collectd = { - enable = true; - autoLoadPlugin = true; - extraConfig = '' - Hostname ${config.krebs.build.host.name} - LoadPlugin load - LoadPlugin disk - LoadPlugin memory - Interval 30.0 - - LoadPlugin interface - - Interface "*Link" - Interface "lo" - Interface "vboxnet*" - Interface "virbr*" - IgnoreSelected true - - - LoadPlugin df - - MountPoint "/nix/store" - FSType "tmpfs" - FSType "binfmt_misc" - FSType "debugfs" - FSType "mqueue" - FSType "hugetlbfs" - FSType "systemd-1" - FSType "cgroup" - FSType "securityfs" - FSType "ramfs" - FSType "proc" - FSType "devpts" - FSType "devtmpfs" - MountPoint "/var/lib/docker/devicemapper" - IgnoreSelected true - - - LoadPlugin cpu - - ReportByCpu true - ReportByState true - ValuesPercentage true - - - LoadPlugin network - - Server "prism" "25826" - - ''; + extraConfig = { + interval = "1s"; + outputs = { + influxdb = { + urls = ["http://prism:8086"]; + database = "telegraf_db"; + user_agent = "telegraf"; + }; + }; + inputs = { + cpu = { + percpu = false; + totalcpu = true; + }; + mem = {}; + ping = { + urls = ["8.8.8.8"]; + }; + net = {}; + }; + }; }; } From 4dd88ea7d2cfe55ff4e40f3231fc212061c930cc Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 12:23:14 +0100 Subject: [PATCH 12/35] k 5 fortclientsslvpn: use gnome3.gtk --- krebs/5pkgs/fortclientsslvpn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krebs/5pkgs/fortclientsslvpn/default.nix b/krebs/5pkgs/fortclientsslvpn/default.nix index 07420c4d3..cbcfab05f 100644 --- a/krebs/5pkgs/fortclientsslvpn/default.nix +++ b/krebs/5pkgs/fortclientsslvpn/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, gtk, glib, libSM, gdk_pixbuf, libX11, libXinerama, iproute, +{ stdenv, lib, fetchurl, gnome3, glib, libSM, gdk_pixbuf, libX11, libXinerama, iproute, makeWrapper, libredirect, ppp, coreutils, gawk, pango }: stdenv.mkDerivation rec { name = "forticlientsslvpn"; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ]; guiLibPath = lib.makeLibraryPath [ - gtk + gnome3.gtk glib libSM gdk_pixbuf From dd84ced18678444e29d81daaa6fca53a4c47ad4c Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 12:51:10 +0100 Subject: [PATCH 13/35] k 5 newsbot-js: update packages.nix --- krebs/5pkgs/newsbot-js/packages.nix | 1365 ++++++++++++++++----------- 1 file changed, 835 insertions(+), 530 deletions(-) diff --git a/krebs/5pkgs/newsbot-js/packages.nix b/krebs/5pkgs/newsbot-js/packages.nix index 982a9d55c..62921cb8f 100644 --- a/krebs/5pkgs/newsbot-js/packages.nix +++ b/krebs/5pkgs/newsbot-js/packages.nix @@ -1,35 +1,16 @@ { self, fetchurl, fetchgit ? null, lib }: { - by-spec."addressparser"."~0.1.3" = - self.by-version."addressparser"."0.1.3"; - by-version."addressparser"."0.1.3" = self.buildNodePackage { - name = "addressparser-0.1.3"; - version = "0.1.3"; + by-spec."addressparser"."^1.0.1" = + self.by-version."addressparser"."1.0.1"; + by-version."addressparser"."1.0.1" = self.buildNodePackage { + name = "addressparser-1.0.1"; + version = "1.0.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz"; - name = "addressparser-0.1.3.tgz"; - sha1 = "9e9ab43d257e1ae784e1df5f580c9f5240f58874"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."ansi-color"."0.2.1" = - self.by-version."ansi-color"."0.2.1"; - by-version."ansi-color"."0.2.1" = self.buildNodePackage { - name = "ansi-color-0.2.1"; - version = "0.2.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/ansi-color/-/ansi-color-0.2.1.tgz"; - name = "ansi-color-0.2.1.tgz"; - sha1 = "3e75c037475217544ed763a8db5709fa9ae5bf9a"; + url = "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz"; + name = "addressparser-1.0.1.tgz"; + sha1 = "47afbe1a2a9262191db6838e4fd1d39b40821746"; }; deps = { }; @@ -40,15 +21,15 @@ cpu = [ ]; }; by-spec."ansi-regex"."^2.0.0" = - self.by-version."ansi-regex"."2.0.0"; - by-version."ansi-regex"."2.0.0" = self.buildNodePackage { - name = "ansi-regex-2.0.0"; - version = "2.0.0"; + self.by-version."ansi-regex"."2.1.1"; + by-version."ansi-regex"."2.1.1" = self.buildNodePackage { + name = "ansi-regex-2.1.1"; + version = "2.1.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"; - name = "ansi-regex-2.0.0.tgz"; - sha1 = "c5061b6e0ef8a81775e50f5d66151bf6bf371107"; + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"; + name = "ansi-regex-2.1.1.tgz"; + sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; }; deps = { }; @@ -58,16 +39,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."ansi-styles"."^2.1.0" = - self.by-version."ansi-styles"."2.1.0"; - by-version."ansi-styles"."2.1.0" = self.buildNodePackage { - name = "ansi-styles-2.1.0"; - version = "2.1.0"; + by-spec."ansi-styles"."^2.2.1" = + self.by-version."ansi-styles"."2.2.1"; + by-version."ansi-styles"."2.2.1" = self.buildNodePackage { + name = "ansi-styles-2.2.1"; + version = "2.2.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz"; - name = "ansi-styles-2.1.0.tgz"; - sha1 = "990f747146927b559a932bf92959163d60c0d0e2"; + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"; + name = "ansi-styles-2.2.1.tgz"; + sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; }; deps = { }; @@ -84,7 +65,7 @@ version = "0.0.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz"; + url = "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz"; name = "array-filter-0.0.1.tgz"; sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec"; }; @@ -103,7 +84,7 @@ version = "0.0.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz"; + url = "https://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz"; name = "array-indexofobject-0.0.1.tgz"; sha1 = "aaa128e62c9b3c358094568c219ff64fe489d42a"; }; @@ -122,7 +103,7 @@ version = "0.0.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz"; + url = "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz"; name = "array-map-0.0.0.tgz"; sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662"; }; @@ -141,7 +122,7 @@ version = "0.0.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz"; + url = "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz"; name = "array-reduce-0.0.0.tgz"; sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b"; }; @@ -153,16 +134,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."asn1"."0.1.11" = - self.by-version."asn1"."0.1.11"; - by-version."asn1"."0.1.11" = self.buildNodePackage { - name = "asn1-0.1.11"; - version = "0.1.11"; + by-spec."asn1"."~0.2.3" = + self.by-version."asn1"."0.2.3"; + by-version."asn1"."0.2.3" = self.buildNodePackage { + name = "asn1-0.2.3"; + version = "0.2.3"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"; - name = "asn1-0.1.11.tgz"; - sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7"; + url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz"; + name = "asn1-0.2.3.tgz"; + sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86"; }; deps = { }; @@ -172,16 +153,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."assert-plus"."^0.1.5" = - self.by-version."assert-plus"."0.1.5"; - by-version."assert-plus"."0.1.5" = self.buildNodePackage { - name = "assert-plus-0.1.5"; - version = "0.1.5"; + by-spec."assert-plus"."^0.2.0" = + self.by-version."assert-plus"."0.2.0"; + by-version."assert-plus"."0.2.0" = self.buildNodePackage { + name = "assert-plus-0.2.0"; + version = "0.2.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz"; - name = "assert-plus-0.1.5.tgz"; - sha1 = "ee74009413002d84cec7219c6ac811812e723160"; + url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz"; + name = "assert-plus-0.2.0.tgz"; + sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234"; }; deps = { }; @@ -191,57 +172,18 @@ os = [ ]; cpu = [ ]; }; - by-spec."async"."^1.4.0" = - self.by-version."async"."1.4.2"; - by-version."async"."1.4.2" = self.buildNodePackage { - name = "async-1.4.2"; - version = "1.4.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/async/-/async-1.4.2.tgz"; - name = "async-1.4.2.tgz"; - sha1 = "6c9edcb11ced4f0dd2f2d40db0d49a109c088aab"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."aws-sign2"."~0.5.0" = - self.by-version."aws-sign2"."0.5.0"; - by-version."aws-sign2"."0.5.0" = self.buildNodePackage { - name = "aws-sign2-0.5.0"; - version = "0.5.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"; - name = "aws-sign2-0.5.0.tgz"; - sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."bl"."~1.0.0" = - self.by-version."bl"."1.0.0"; - by-version."bl"."1.0.0" = self.buildNodePackage { - name = "bl-1.0.0"; + by-spec."assert-plus"."^1.0.0" = + self.by-version."assert-plus"."1.0.0"; + by-version."assert-plus"."1.0.0" = self.buildNodePackage { + name = "assert-plus-1.0.0"; version = "1.0.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/bl/-/bl-1.0.0.tgz"; - name = "bl-1.0.0.tgz"; - sha1 = "ada9a8a89a6d7ac60862f7dec7db207873e0c3f5"; + url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"; + name = "assert-plus-1.0.0.tgz"; + sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; }; deps = { - "readable-stream-2.0.2" = self.by-version."readable-stream"."2.0.2"; }; optionalDependencies = { }; @@ -249,16 +191,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."bluebird"."^2.9.30" = - self.by-version."bluebird"."2.10.2"; - by-version."bluebird"."2.10.2" = self.buildNodePackage { - name = "bluebird-2.10.2"; - version = "2.10.2"; + by-spec."asynckit"."^0.4.0" = + self.by-version."asynckit"."0.4.0"; + by-version."asynckit"."0.4.0" = self.buildNodePackage { + name = "asynckit-0.4.0"; + version = "0.4.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz"; - name = "bluebird-2.10.2.tgz"; - sha1 = "024a5517295308857f14f91f1106fc3b555f446b"; + url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"; + name = "asynckit-0.4.0.tgz"; + sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; }; deps = { }; @@ -268,16 +210,74 @@ os = [ ]; cpu = [ ]; }; + by-spec."aws-sign2"."~0.6.0" = + self.by-version."aws-sign2"."0.6.0"; + by-version."aws-sign2"."0.6.0" = self.buildNodePackage { + name = "aws-sign2-0.6.0"; + version = "0.6.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz"; + name = "aws-sign2-0.6.0.tgz"; + sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."aws4"."^1.2.1" = + self.by-version."aws4"."1.5.0"; + by-version."aws4"."1.5.0" = self.buildNodePackage { + name = "aws4-1.5.0"; + version = "1.5.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz"; + name = "aws4-1.5.0.tgz"; + sha1 = "0a29ffb79c31c9e712eeb087e8e7a64b4a56d755"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."bcrypt-pbkdf"."^1.0.0" = + self.by-version."bcrypt-pbkdf"."1.0.1"; + by-version."bcrypt-pbkdf"."1.0.1" = self.buildNodePackage { + name = "bcrypt-pbkdf-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz"; + name = "bcrypt-pbkdf-1.0.1.tgz"; + sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d"; + }; + deps = { + "tweetnacl-0.14.5" = self.by-version."tweetnacl"."0.14.5"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; by-spec."boom"."2.x.x" = - self.by-version."boom"."2.9.0"; - by-version."boom"."2.9.0" = self.buildNodePackage { - name = "boom-2.9.0"; - version = "2.9.0"; + self.by-version."boom"."2.10.1"; + by-version."boom"."2.10.1" = self.buildNodePackage { + name = "boom-2.10.1"; + version = "2.10.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/boom/-/boom-2.9.0.tgz"; - name = "boom-2.9.0.tgz"; - sha1 = "a54b7fd2fee477d351bf9e371680cbea67f12715"; + url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"; + name = "boom-2.10.1.tgz"; + sha1 = "39c8918ceff5799f83f9492a848f625add0c766f"; }; deps = { "hoek-2.16.3" = self.by-version."hoek"."2.16.3"; @@ -288,8 +288,25 @@ os = [ ]; cpu = [ ]; }; - by-spec."boom"."^2.8.x" = - self.by-version."boom"."2.9.0"; + by-spec."buffer-shims"."^1.0.0" = + self.by-version."buffer-shims"."1.0.0"; + by-version."buffer-shims"."1.0.0" = self.buildNodePackage { + name = "buffer-shims-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"; + name = "buffer-shims-1.0.0.tgz"; + sha1 = "9978ce317388c649ad8793028c3477ef044a8b51"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; by-spec."caseless"."~0.11.0" = self.by-version."caseless"."0.11.0"; by-version."caseless"."0.11.0" = self.buildNodePackage { @@ -297,7 +314,7 @@ version = "0.11.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"; + url = "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"; name = "caseless-0.11.0.tgz"; sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7"; }; @@ -309,22 +326,22 @@ os = [ ]; cpu = [ ]; }; - by-spec."chalk"."^1.0.0" = - self.by-version."chalk"."1.1.1"; - by-version."chalk"."1.1.1" = self.buildNodePackage { - name = "chalk-1.1.1"; - version = "1.1.1"; + by-spec."chalk"."^1.1.1" = + self.by-version."chalk"."1.1.3"; + by-version."chalk"."1.1.3" = self.buildNodePackage { + name = "chalk-1.1.3"; + version = "1.1.3"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz"; - name = "chalk-1.1.1.tgz"; - sha1 = "509afb67066e7499f7eb3535c77445772ae2d019"; + url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"; + name = "chalk-1.1.3.tgz"; + sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; }; deps = { - "ansi-styles-2.1.0" = self.by-version."ansi-styles"."2.1.0"; - "escape-string-regexp-1.0.3" = self.by-version."escape-string-regexp"."1.0.3"; + "ansi-styles-2.2.1" = self.by-version."ansi-styles"."2.2.1"; + "escape-string-regexp-1.0.5" = self.by-version."escape-string-regexp"."1.0.5"; "has-ansi-2.0.0" = self.by-version."has-ansi"."2.0.0"; - "strip-ansi-3.0.0" = self.by-version."strip-ansi"."3.0.0"; + "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1"; "supports-color-2.0.0" = self.by-version."supports-color"."2.0.0"; }; optionalDependencies = { @@ -340,7 +357,7 @@ version = "1.0.5"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz"; + url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz"; name = "combined-stream-1.0.5.tgz"; sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009"; }; @@ -353,18 +370,18 @@ os = [ ]; cpu = [ ]; }; - by-spec."combined-stream"."~1.0.1" = + by-spec."combined-stream"."~1.0.5" = self.by-version."combined-stream"."1.0.5"; - by-spec."commander"."^2.8.1" = - self.by-version."commander"."2.8.1"; - by-version."commander"."2.8.1" = self.buildNodePackage { - name = "commander-2.8.1"; - version = "2.8.1"; + by-spec."commander"."^2.9.0" = + self.by-version."commander"."2.9.0"; + by-version."commander"."2.9.0" = self.buildNodePackage { + name = "commander-2.9.0"; + version = "2.9.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz"; - name = "commander-2.8.1.tgz"; - sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4"; + url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"; + name = "commander-2.9.0.tgz"; + sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4"; }; deps = { "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1"; @@ -376,15 +393,15 @@ cpu = [ ]; }; by-spec."core-util-is"."~1.0.0" = - self.by-version."core-util-is"."1.0.1"; - by-version."core-util-is"."1.0.1" = self.buildNodePackage { - name = "core-util-is-1.0.1"; - version = "1.0.1"; + self.by-version."core-util-is"."1.0.2"; + by-version."core-util-is"."1.0.2" = self.buildNodePackage { + name = "core-util-is-1.0.2"; + version = "1.0.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"; - name = "core-util-is-1.0.1.tgz"; - sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538"; + url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"; + name = "core-util-is-1.0.2.tgz"; + sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; }; deps = { }; @@ -401,12 +418,12 @@ version = "2.0.5"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz"; + url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz"; name = "cryptiles-2.0.5.tgz"; sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8"; }; deps = { - "boom-2.9.0" = self.by-version."boom"."2.9.0"; + "boom-2.10.1" = self.by-version."boom"."2.10.1"; }; optionalDependencies = { }; @@ -414,18 +431,19 @@ os = [ ]; cpu = [ ]; }; - by-spec."ctype"."0.5.3" = - self.by-version."ctype"."0.5.3"; - by-version."ctype"."0.5.3" = self.buildNodePackage { - name = "ctype-0.5.3"; - version = "0.5.3"; + by-spec."dashdash"."^1.12.0" = + self.by-version."dashdash"."1.14.1"; + by-version."dashdash"."1.14.1" = self.buildNodePackage { + name = "dashdash-1.14.1"; + version = "1.14.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"; - name = "ctype-0.5.3.tgz"; - sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f"; + url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"; + name = "dashdash-1.14.1.tgz"; + sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; }; deps = { + "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0"; }; optionalDependencies = { }; @@ -440,7 +458,7 @@ version = "1.0.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"; + url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"; name = "delayed-stream-1.0.0.tgz"; sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; }; @@ -452,16 +470,36 @@ os = [ ]; cpu = [ ]; }; - by-spec."escape-string-regexp"."^1.0.2" = - self.by-version."escape-string-regexp"."1.0.3"; - by-version."escape-string-regexp"."1.0.3" = self.buildNodePackage { - name = "escape-string-regexp-1.0.3"; - version = "1.0.3"; + by-spec."ecc-jsbn"."~0.1.1" = + self.by-version."ecc-jsbn"."0.1.1"; + by-version."ecc-jsbn"."0.1.1" = self.buildNodePackage { + name = "ecc-jsbn-0.1.1"; + version = "0.1.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"; - name = "escape-string-regexp-1.0.3.tgz"; - sha1 = "9e2d8b25bc2555c3336723750e03f099c2735bb5"; + url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz"; + name = "ecc-jsbn-0.1.1.tgz"; + sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505"; + }; + deps = { + "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."escape-string-regexp"."^1.0.2" = + self.by-version."escape-string-regexp"."1.0.5"; + by-version."escape-string-regexp"."1.0.5" = self.buildNodePackage { + name = "escape-string-regexp-1.0.5"; + version = "1.0.5"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + name = "escape-string-regexp-1.0.5.tgz"; + sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; }; deps = { }; @@ -478,7 +516,7 @@ version = "3.0.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/extend/-/extend-3.0.0.tgz"; + url = "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz"; name = "extend-3.0.0.tgz"; sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4"; }; @@ -490,22 +528,18 @@ os = [ ]; cpu = [ ]; }; - by-spec."feedparser"."*" = - self.by-version."feedparser"."1.1.3"; - by-version."feedparser"."1.1.3" = self.buildNodePackage { - name = "feedparser-1.1.3"; - version = "1.1.3"; + by-spec."extsprintf"."1.0.2" = + self.by-version."extsprintf"."1.0.2"; + by-version."extsprintf"."1.0.2" = self.buildNodePackage { + name = "extsprintf-1.0.2"; + version = "1.0.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/feedparser/-/feedparser-1.1.3.tgz"; - name = "feedparser-1.1.3.tgz"; - sha1 = "0b725f6b4cbe4b26d518baec0d010ad020156c8b"; + url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"; + name = "extsprintf-1.0.2.tgz"; + sha1 = "e1080e0658e300b06294990cc70e1502235fd550"; }; deps = { - "sax-0.6.1" = self.by-version."sax"."0.6.1"; - "addressparser-0.1.3" = self.by-version."addressparser"."0.1.3"; - "array-indexofobject-0.0.1" = self.by-version."array-indexofobject"."0.0.1"; - "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33"; }; optionalDependencies = { }; @@ -513,15 +547,42 @@ os = [ ]; cpu = [ ]; }; - "feedparser" = self.by-version."feedparser"."1.1.3"; - by-spec."forever-agent"."~0.6.0" = + by-spec."feedparser"."*" = + self.by-version."feedparser"."2.1.0"; + by-version."feedparser"."2.1.0" = self.buildNodePackage { + name = "feedparser-2.1.0"; + version = "2.1.0"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/feedparser/-/feedparser-2.1.0.tgz"; + name = "feedparser-2.1.0.tgz"; + sha1 = "4cd98bf04e18db5b8644f91e98da89dd179f1fe7"; + }; + deps = { + "addressparser-1.0.1" = self.by-version."addressparser"."1.0.1"; + "array-indexofobject-0.0.1" = self.by-version."array-indexofobject"."0.0.1"; + "lodash.assign-4.2.0" = self.by-version."lodash.assign"."4.2.0"; + "lodash.get-4.4.2" = self.by-version."lodash.get"."4.4.2"; + "lodash.has-4.5.2" = self.by-version."lodash.has"."4.5.2"; + "lodash.uniq-4.5.0" = self.by-version."lodash.uniq"."4.5.0"; + "readable-stream-2.2.2" = self.by-version."readable-stream"."2.2.2"; + "sax-1.2.1" = self.by-version."sax"."1.2.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "feedparser" = self.by-version."feedparser"."2.1.0"; + by-spec."forever-agent"."~0.6.1" = self.by-version."forever-agent"."0.6.1"; by-version."forever-agent"."0.6.1" = self.buildNodePackage { name = "forever-agent-0.6.1"; version = "0.6.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"; + url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"; name = "forever-agent-0.6.1.tgz"; sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; }; @@ -534,20 +595,20 @@ cpu = [ ]; }; by-spec."form-data"."*" = - self.by-version."form-data"."1.0.0-rc3"; - by-version."form-data"."1.0.0-rc3" = self.buildNodePackage { - name = "form-data-1.0.0-rc3"; - version = "1.0.0-rc3"; + self.by-version."form-data"."2.1.2"; + by-version."form-data"."2.1.2" = self.buildNodePackage { + name = "form-data-2.1.2"; + version = "2.1.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz"; - name = "form-data-1.0.0-rc3.tgz"; - sha1 = "d35bc62e7fbc2937ae78f948aaa0d38d90607577"; + url = "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz"; + name = "form-data-2.1.2.tgz"; + sha1 = "89c3534008b97eada4cbb157d58f6f5df025eae4"; }; deps = { - "async-1.4.2" = self.by-version."async"."1.4.2"; + "asynckit-0.4.0" = self.by-version."asynckit"."0.4.0"; "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5"; - "mime-types-2.1.7" = self.by-version."mime-types"."2.1.7"; + "mime-types-2.1.14" = self.by-version."mime-types"."2.1.14"; }; optionalDependencies = { }; @@ -555,9 +616,9 @@ os = [ ]; cpu = [ ]; }; - "form-data" = self.by-version."form-data"."1.0.0-rc3"; - by-spec."form-data"."~1.0.0-rc1" = - self.by-version."form-data"."1.0.0-rc3"; + "form-data" = self.by-version."form-data"."2.1.2"; + by-spec."form-data"."~2.1.1" = + self.by-version."form-data"."2.1.2"; by-spec."generate-function"."^2.0.0" = self.by-version."generate-function"."2.0.0"; by-version."generate-function"."2.0.0" = self.buildNodePackage { @@ -565,7 +626,7 @@ version = "2.0.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"; + url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"; name = "generate-function-2.0.0.tgz"; sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74"; }; @@ -584,7 +645,7 @@ version = "1.2.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"; + url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"; name = "generate-object-property-1.2.0.tgz"; sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0"; }; @@ -597,6 +658,26 @@ os = [ ]; cpu = [ ]; }; + by-spec."getpass"."^0.1.1" = + self.by-version."getpass"."0.1.6"; + by-version."getpass"."0.1.6" = self.buildNodePackage { + name = "getpass-0.1.6"; + version = "0.1.6"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz"; + name = "getpass-0.1.6.tgz"; + sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6"; + }; + deps = { + "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; by-spec."graceful-readlink".">= 1.0.0" = self.by-version."graceful-readlink"."1.0.1"; by-version."graceful-readlink"."1.0.1" = self.buildNodePackage { @@ -604,7 +685,7 @@ version = "1.0.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"; + url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"; name = "graceful-readlink-1.0.1.tgz"; sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725"; }; @@ -616,22 +697,22 @@ os = [ ]; cpu = [ ]; }; - by-spec."har-validator"."^1.6.1" = - self.by-version."har-validator"."1.8.0"; - by-version."har-validator"."1.8.0" = self.buildNodePackage { - name = "har-validator-1.8.0"; - version = "1.8.0"; + by-spec."har-validator"."~2.0.6" = + self.by-version."har-validator"."2.0.6"; + by-version."har-validator"."2.0.6" = self.buildNodePackage { + name = "har-validator-2.0.6"; + version = "2.0.6"; bin = true; src = fetchurl { - url = "http://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz"; - name = "har-validator-1.8.0.tgz"; - sha1 = "d83842b0eb4c435960aeb108a067a3aa94c0eeb2"; + url = "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz"; + name = "har-validator-2.0.6.tgz"; + sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"; }; deps = { - "bluebird-2.10.2" = self.by-version."bluebird"."2.10.2"; - "chalk-1.1.1" = self.by-version."chalk"."1.1.1"; - "commander-2.8.1" = self.by-version."commander"."2.8.1"; - "is-my-json-valid-2.12.2" = self.by-version."is-my-json-valid"."2.12.2"; + "chalk-1.1.3" = self.by-version."chalk"."1.1.3"; + "commander-2.9.0" = self.by-version."commander"."2.9.0"; + "is-my-json-valid-2.15.0" = self.by-version."is-my-json-valid"."2.15.0"; + "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1"; }; optionalDependencies = { }; @@ -646,12 +727,12 @@ version = "2.0.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"; + url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"; name = "has-ansi-2.0.0.tgz"; sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; }; deps = { - "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0"; + "ansi-regex-2.1.1" = self.by-version."ansi-regex"."2.1.1"; }; optionalDependencies = { }; @@ -659,40 +740,20 @@ os = [ ]; cpu = [ ]; }; - by-spec."hashish"."~0.0.4" = - self.by-version."hashish"."0.0.4"; - by-version."hashish"."0.0.4" = self.buildNodePackage { - name = "hashish-0.0.4"; - version = "0.0.4"; + by-spec."hawk"."~3.1.3" = + self.by-version."hawk"."3.1.3"; + by-version."hawk"."3.1.3" = self.buildNodePackage { + name = "hawk-3.1.3"; + version = "3.1.3"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz"; - name = "hashish-0.0.4.tgz"; - sha1 = "6d60bc6ffaf711b6afd60e426d077988014e6554"; - }; - deps = { - "traverse-0.6.6" = self.by-version."traverse"."0.6.6"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."hawk"."~3.1.0" = - self.by-version."hawk"."3.1.0"; - by-version."hawk"."3.1.0" = self.buildNodePackage { - name = "hawk-3.1.0"; - version = "3.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/hawk/-/hawk-3.1.0.tgz"; - name = "hawk-3.1.0.tgz"; - sha1 = "8a13ae19977ec607602f3f0b9fd676f18c384e44"; + url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz"; + name = "hawk-3.1.3.tgz"; + sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4"; }; deps = { "hoek-2.16.3" = self.by-version."hoek"."2.16.3"; - "boom-2.9.0" = self.by-version."boom"."2.9.0"; + "boom-2.10.1" = self.by-version."boom"."2.10.1"; "cryptiles-2.0.5" = self.by-version."cryptiles"."2.0.5"; "sntp-1.0.9" = self.by-version."sntp"."1.0.9"; }; @@ -709,7 +770,7 @@ version = "2.16.3"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"; + url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"; name = "hoek-2.16.3.tgz"; sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed"; }; @@ -721,21 +782,21 @@ os = [ ]; cpu = [ ]; }; - by-spec."http-signature"."~0.11.0" = - self.by-version."http-signature"."0.11.0"; - by-version."http-signature"."0.11.0" = self.buildNodePackage { - name = "http-signature-0.11.0"; - version = "0.11.0"; + by-spec."http-signature"."~1.1.0" = + self.by-version."http-signature"."1.1.1"; + by-version."http-signature"."1.1.1" = self.buildNodePackage { + name = "http-signature-1.1.1"; + version = "1.1.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz"; - name = "http-signature-0.11.0.tgz"; - sha1 = "1796cf67a001ad5cd6849dca0991485f09089fe6"; + url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz"; + name = "http-signature-1.1.1.tgz"; + sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf"; }; deps = { - "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5"; - "asn1-0.1.11" = self.by-version."asn1"."0.1.11"; - "ctype-0.5.3" = self.by-version."ctype"."0.5.3"; + "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0"; + "jsprim-1.3.1" = self.by-version."jsprim"."1.3.1"; + "sshpk-1.10.2" = self.by-version."sshpk"."1.10.2"; }; optionalDependencies = { }; @@ -743,19 +804,19 @@ os = [ ]; cpu = [ ]; }; - by-spec."iconv"."~2.1.6" = - self.by-version."iconv"."2.1.11"; - by-version."iconv"."2.1.11" = self.buildNodePackage { - name = "iconv-2.1.11"; - version = "2.1.11"; + by-spec."iconv"."~2.2.1" = + self.by-version."iconv"."2.2.1"; + by-version."iconv"."2.2.1" = self.buildNodePackage { + name = "iconv-2.2.1"; + version = "2.2.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/iconv/-/iconv-2.1.11.tgz"; - name = "iconv-2.1.11.tgz"; - sha1 = "5f5da93a643506f5ceaa8bd9c78d6174f8b9351a"; + url = "https://registry.npmjs.org/iconv/-/iconv-2.2.1.tgz"; + name = "iconv-2.2.1.tgz"; + sha1 = "39b13fdd98987d26aef26c0a2f2a900911fa4584"; }; deps = { - "nan-2.0.9" = self.by-version."nan"."2.0.9"; + "nan-2.5.1" = self.by-version."nan"."2.5.1"; }; optionalDependencies = { }; @@ -764,15 +825,15 @@ cpu = [ ]; }; by-spec."inherits"."~2.0.1" = - self.by-version."inherits"."2.0.1"; - by-version."inherits"."2.0.1" = self.buildNodePackage { - name = "inherits-2.0.1"; - version = "2.0.1"; + self.by-version."inherits"."2.0.3"; + by-version."inherits"."2.0.3" = self.buildNodePackage { + name = "inherits-2.0.3"; + version = "2.0.3"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"; - name = "inherits-2.0.1.tgz"; - sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1"; + url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"; + name = "inherits-2.0.3.tgz"; + sha1 = "633c2c83e3da42a502f52466022480f4208261de"; }; deps = { }; @@ -783,41 +844,39 @@ cpu = [ ]; }; by-spec."irc"."*" = - self.by-version."irc"."0.4.0"; - by-version."irc"."0.4.0" = self.buildNodePackage { - name = "irc-0.4.0"; - version = "0.4.0"; + self.by-version."irc"."0.5.2"; + by-version."irc"."0.5.2" = self.buildNodePackage { + name = "irc-0.5.2"; + version = "0.5.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/irc/-/irc-0.4.0.tgz"; - name = "irc-0.4.0.tgz"; - sha1 = "316811f0aed73a907cd420cbd61fc7ea522d82da"; + url = "https://registry.npmjs.org/irc/-/irc-0.5.2.tgz"; + name = "irc-0.5.2.tgz"; + sha1 = "3714f4768365a96d0b2f776bc91166beb2464bbc"; }; deps = { - "ansi-color-0.2.1" = self.by-version."ansi-color"."0.2.1"; - "irc-colors-1.2.0" = self.by-version."irc-colors"."1.2.0"; + "irc-colors-1.3.1" = self.by-version."irc-colors"."1.3.1"; }; optionalDependencies = { - "iconv-2.1.11" = self.by-version."iconv"."2.1.11"; + "iconv-2.2.1" = self.by-version."iconv"."2.2.1"; }; peerDependencies = []; os = [ ]; cpu = [ ]; }; - "irc" = self.by-version."irc"."0.4.0"; + "irc" = self.by-version."irc"."0.5.2"; by-spec."irc-colors"."^1.1.0" = - self.by-version."irc-colors"."1.2.0"; - by-version."irc-colors"."1.2.0" = self.buildNodePackage { - name = "irc-colors-1.2.0"; - version = "1.2.0"; + self.by-version."irc-colors"."1.3.1"; + by-version."irc-colors"."1.3.1" = self.buildNodePackage { + name = "irc-colors-1.3.1"; + version = "1.3.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/irc-colors/-/irc-colors-1.2.0.tgz"; - name = "irc-colors-1.2.0.tgz"; - sha1 = "73315b06f8840f4abd181456f08569620a088afd"; + url = "https://registry.npmjs.org/irc-colors/-/irc-colors-1.3.1.tgz"; + name = "irc-colors-1.3.1.tgz"; + sha1 = "a6fccee5d9ecdc010c2b1cde3fbdff1f7134aff6"; }; deps = { - "hashish-0.0.4" = self.by-version."hashish"."0.0.4"; }; optionalDependencies = { }; @@ -825,22 +884,22 @@ os = [ ]; cpu = [ ]; }; - by-spec."is-my-json-valid"."^2.12.0" = - self.by-version."is-my-json-valid"."2.12.2"; - by-version."is-my-json-valid"."2.12.2" = self.buildNodePackage { - name = "is-my-json-valid-2.12.2"; - version = "2.12.2"; + by-spec."is-my-json-valid"."^2.12.4" = + self.by-version."is-my-json-valid"."2.15.0"; + by-version."is-my-json-valid"."2.15.0" = self.buildNodePackage { + name = "is-my-json-valid-2.15.0"; + version = "2.15.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.2.tgz"; - name = "is-my-json-valid-2.12.2.tgz"; - sha1 = "0d65859318c846ce3a134402fd3fbc504272ccc9"; + url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz"; + name = "is-my-json-valid-2.15.0.tgz"; + sha1 = "936edda3ca3c211fd98f3b2d3e08da43f7b2915b"; }; deps = { "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0"; "generate-object-property-1.2.0" = self.by-version."generate-object-property"."1.2.0"; - "jsonpointer-2.0.0" = self.by-version."jsonpointer"."2.0.0"; - "xtend-4.0.0" = self.by-version."xtend"."4.0.0"; + "jsonpointer-4.0.1" = self.by-version."jsonpointer"."4.0.1"; + "xtend-4.0.1" = self.by-version."xtend"."4.0.1"; }; optionalDependencies = { }; @@ -855,7 +914,7 @@ version = "1.0.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"; + url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"; name = "is-property-1.0.2.tgz"; sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84"; }; @@ -867,16 +926,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."isarray"."0.0.1" = - self.by-version."isarray"."0.0.1"; - by-version."isarray"."0.0.1" = self.buildNodePackage { - name = "isarray-0.0.1"; - version = "0.0.1"; + by-spec."is-typedarray"."~1.0.0" = + self.by-version."is-typedarray"."1.0.0"; + by-version."is-typedarray"."1.0.0" = self.buildNodePackage { + name = "is-typedarray-1.0.0"; + version = "1.0.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"; - name = "isarray-0.0.1.tgz"; - sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; + url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"; + name = "is-typedarray-1.0.0.tgz"; + sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; }; deps = { }; @@ -886,14 +945,33 @@ os = [ ]; cpu = [ ]; }; - by-spec."isstream"."~0.1.1" = + by-spec."isarray"."~1.0.0" = + self.by-version."isarray"."1.0.0"; + by-version."isarray"."1.0.0" = self.buildNodePackage { + name = "isarray-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"; + name = "isarray-1.0.0.tgz"; + sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."isstream"."~0.1.2" = self.by-version."isstream"."0.1.2"; by-version."isstream"."0.1.2" = self.buildNodePackage { name = "isstream-0.1.2"; version = "0.1.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"; + url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"; name = "isstream-0.1.2.tgz"; sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; }; @@ -905,14 +983,72 @@ os = [ ]; cpu = [ ]; }; - by-spec."json-stringify-safe"."~5.0.0" = + by-spec."jodid25519"."^1.0.0" = + self.by-version."jodid25519"."1.0.2"; + by-version."jodid25519"."1.0.2" = self.buildNodePackage { + name = "jodid25519-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz"; + name = "jodid25519-1.0.2.tgz"; + sha1 = "06d4912255093419477d425633606e0e90782967"; + }; + deps = { + "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."jsbn"."~0.1.0" = + self.by-version."jsbn"."0.1.0"; + by-version."jsbn"."0.1.0" = self.buildNodePackage { + name = "jsbn-0.1.0"; + version = "0.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz"; + name = "jsbn-0.1.0.tgz"; + sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."json-schema"."0.2.3" = + self.by-version."json-schema"."0.2.3"; + by-version."json-schema"."0.2.3" = self.buildNodePackage { + name = "json-schema-0.2.3"; + version = "0.2.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"; + name = "json-schema-0.2.3.tgz"; + sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."json-stringify-safe"."~5.0.1" = self.by-version."json-stringify-safe"."5.0.1"; by-version."json-stringify-safe"."5.0.1" = self.buildNodePackage { name = "json-stringify-safe-5.0.1"; version = "5.0.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; + url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; name = "json-stringify-safe-5.0.1.tgz"; sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; }; @@ -931,7 +1067,7 @@ version = "0.0.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"; + url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"; name = "jsonify-0.0.0.tgz"; sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73"; }; @@ -943,16 +1079,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."jsonpointer"."2.0.0" = - self.by-version."jsonpointer"."2.0.0"; - by-version."jsonpointer"."2.0.0" = self.buildNodePackage { - name = "jsonpointer-2.0.0"; - version = "2.0.0"; + by-spec."jsonpointer"."^4.0.0" = + self.by-version."jsonpointer"."4.0.1"; + by-version."jsonpointer"."4.0.1" = self.buildNodePackage { + name = "jsonpointer-4.0.1"; + version = "4.0.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"; - name = "jsonpointer-2.0.0.tgz"; - sha1 = "3af1dd20fe85463910d469a385e33017d2a030d9"; + url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz"; + name = "jsonpointer-4.0.1.tgz"; + sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"; }; deps = { }; @@ -962,16 +1098,38 @@ os = [ ]; cpu = [ ]; }; - by-spec."mime-db"."~1.19.0" = - self.by-version."mime-db"."1.19.0"; - by-version."mime-db"."1.19.0" = self.buildNodePackage { - name = "mime-db-1.19.0"; - version = "1.19.0"; + by-spec."jsprim"."^1.2.2" = + self.by-version."jsprim"."1.3.1"; + by-version."jsprim"."1.3.1" = self.buildNodePackage { + name = "jsprim-1.3.1"; + version = "1.3.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/mime-db/-/mime-db-1.19.0.tgz"; - name = "mime-db-1.19.0.tgz"; - sha1 = "496a18198a7ce8244534e25bb102b74fb420fd56"; + url = "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz"; + name = "jsprim-1.3.1.tgz"; + sha1 = "2a7256f70412a29ee3670aaca625994c4dcff252"; + }; + deps = { + "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2"; + "json-schema-0.2.3" = self.by-version."json-schema"."0.2.3"; + "verror-1.3.6" = self.by-version."verror"."1.3.6"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."lodash.assign"."^4.2.0" = + self.by-version."lodash.assign"."4.2.0"; + by-version."lodash.assign"."4.2.0" = self.buildNodePackage { + name = "lodash.assign-4.2.0"; + version = "4.2.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz"; + name = "lodash.assign-4.2.0.tgz"; + sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7"; }; deps = { }; @@ -981,38 +1139,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."mime-types"."^2.1.3" = - self.by-version."mime-types"."2.1.7"; - by-version."mime-types"."2.1.7" = self.buildNodePackage { - name = "mime-types-2.1.7"; - version = "2.1.7"; + by-spec."lodash.get"."^4.4.2" = + self.by-version."lodash.get"."4.4.2"; + by-version."lodash.get"."4.4.2" = self.buildNodePackage { + name = "lodash.get-4.4.2"; + version = "4.4.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/mime-types/-/mime-types-2.1.7.tgz"; - name = "mime-types-2.1.7.tgz"; - sha1 = "ff603970e3c731ef6f7f4df3c9a0f463a13c2755"; - }; - deps = { - "mime-db-1.19.0" = self.by-version."mime-db"."1.19.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."mime-types"."~2.1.2" = - self.by-version."mime-types"."2.1.7"; - by-spec."nan"."^2.0.0" = - self.by-version."nan"."2.1.0"; - by-version."nan"."2.1.0" = self.buildNodePackage { - name = "nan-2.1.0"; - version = "2.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/nan/-/nan-2.1.0.tgz"; - name = "nan-2.1.0.tgz"; - sha1 = "020a7ccedc63fdee85f85967d5607849e74abbe8"; + url = "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz"; + name = "lodash.get-4.4.2.tgz"; + sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99"; }; deps = { }; @@ -1022,16 +1158,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."nan"."~2.0.4" = - self.by-version."nan"."2.0.9"; - by-version."nan"."2.0.9" = self.buildNodePackage { - name = "nan-2.0.9"; - version = "2.0.9"; + by-spec."lodash.has"."^4.5.2" = + self.by-version."lodash.has"."4.5.2"; + by-version."lodash.has"."4.5.2" = self.buildNodePackage { + name = "lodash.has-4.5.2"; + version = "4.5.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/nan/-/nan-2.0.9.tgz"; - name = "nan-2.0.9.tgz"; - sha1 = "d02a770f46778842cceb94e17cab31ffc7234a05"; + url = "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz"; + name = "lodash.has-4.5.2.tgz"; + sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862"; }; deps = { }; @@ -1041,16 +1177,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."node-uuid"."~1.4.0" = - self.by-version."node-uuid"."1.4.3"; - by-version."node-uuid"."1.4.3" = self.buildNodePackage { - name = "node-uuid-1.4.3"; - version = "1.4.3"; - bin = true; + by-spec."lodash.uniq"."^4.5.0" = + self.by-version."lodash.uniq"."4.5.0"; + by-version."lodash.uniq"."4.5.0" = self.buildNodePackage { + name = "lodash.uniq-4.5.0"; + version = "4.5.0"; + bin = false; src = fetchurl { - url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz"; - name = "node-uuid-1.4.3.tgz"; - sha1 = "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9"; + url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"; + name = "lodash.uniq-4.5.0.tgz"; + sha1 = "d0225373aeb652adc1bc82e4945339a842754773"; }; deps = { }; @@ -1060,16 +1196,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."oauth-sign"."~0.8.0" = - self.by-version."oauth-sign"."0.8.0"; - by-version."oauth-sign"."0.8.0" = self.buildNodePackage { - name = "oauth-sign-0.8.0"; - version = "0.8.0"; + by-spec."mime-db"."~1.26.0" = + self.by-version."mime-db"."1.26.0"; + by-version."mime-db"."1.26.0" = self.buildNodePackage { + name = "mime-db-1.26.0"; + version = "1.26.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz"; - name = "oauth-sign-0.8.0.tgz"; - sha1 = "938fdc875765ba527137d8aec9d178e24debc553"; + url = "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz"; + name = "mime-db-1.26.0.tgz"; + sha1 = "eaffcd0e4fc6935cf8134da246e2e6c35305adff"; }; deps = { }; @@ -1079,16 +1215,38 @@ os = [ ]; cpu = [ ]; }; - by-spec."process-nextick-args"."~1.0.0" = - self.by-version."process-nextick-args"."1.0.3"; - by-version."process-nextick-args"."1.0.3" = self.buildNodePackage { - name = "process-nextick-args-1.0.3"; - version = "1.0.3"; + by-spec."mime-types"."^2.1.12" = + self.by-version."mime-types"."2.1.14"; + by-version."mime-types"."2.1.14" = self.buildNodePackage { + name = "mime-types-2.1.14"; + version = "2.1.14"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz"; - name = "process-nextick-args-1.0.3.tgz"; - sha1 = "e272eed825d5e9f4ea74d8d73b1fe311c3beb630"; + url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz"; + name = "mime-types-2.1.14.tgz"; + sha1 = "f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"; + }; + deps = { + "mime-db-1.26.0" = self.by-version."mime-db"."1.26.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mime-types"."~2.1.7" = + self.by-version."mime-types"."2.1.14"; + by-spec."nan"."^2.3.3" = + self.by-version."nan"."2.5.1"; + by-version."nan"."2.5.1" = self.buildNodePackage { + name = "nan-2.5.1"; + version = "2.5.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz"; + name = "nan-2.5.1.tgz"; + sha1 = "d5b01691253326a97a2bbee9e61c55d8d60351e2"; }; deps = { }; @@ -1098,16 +1256,18 @@ os = [ ]; cpu = [ ]; }; - by-spec."qs"."~5.1.0" = - self.by-version."qs"."5.1.0"; - by-version."qs"."5.1.0" = self.buildNodePackage { - name = "qs-5.1.0"; - version = "5.1.0"; + by-spec."nan"."^2.3.5" = + self.by-version."nan"."2.5.1"; + by-spec."oauth-sign"."~0.8.1" = + self.by-version."oauth-sign"."0.8.2"; + by-version."oauth-sign"."0.8.2" = self.buildNodePackage { + name = "oauth-sign-0.8.2"; + version = "0.8.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/qs/-/qs-5.1.0.tgz"; - name = "qs-5.1.0.tgz"; - sha1 = "4d932e5c7ea411cca76a312d39a606200fd50cd9"; + url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz"; + name = "oauth-sign-0.8.2.tgz"; + sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"; }; deps = { }; @@ -1117,22 +1277,18 @@ os = [ ]; cpu = [ ]; }; - by-spec."readable-stream"."~1.0.17" = - self.by-version."readable-stream"."1.0.33"; - by-version."readable-stream"."1.0.33" = self.buildNodePackage { - name = "readable-stream-1.0.33"; - version = "1.0.33"; + by-spec."pinkie"."^2.0.0" = + self.by-version."pinkie"."2.0.4"; + by-version."pinkie"."2.0.4" = self.buildNodePackage { + name = "pinkie-2.0.4"; + version = "2.0.4"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz"; - name = "readable-stream-1.0.33.tgz"; - sha1 = "3a360dd66c1b1d7fd4705389860eda1d0f61126c"; + url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"; + name = "pinkie-2.0.4.tgz"; + sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; }; deps = { - "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1"; - "isarray-0.0.1" = self.by-version."isarray"."0.0.1"; - "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31"; - "inherits-2.0.1" = self.by-version."inherits"."2.0.1"; }; optionalDependencies = { }; @@ -1140,22 +1296,100 @@ os = [ ]; cpu = [ ]; }; - by-spec."readable-stream"."~2.0.0" = - self.by-version."readable-stream"."2.0.2"; - by-version."readable-stream"."2.0.2" = self.buildNodePackage { - name = "readable-stream-2.0.2"; - version = "2.0.2"; + by-spec."pinkie-promise"."^2.0.0" = + self.by-version."pinkie-promise"."2.0.1"; + by-version."pinkie-promise"."2.0.1" = self.buildNodePackage { + name = "pinkie-promise-2.0.1"; + version = "2.0.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz"; - name = "readable-stream-2.0.2.tgz"; - sha1 = "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b"; + url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; + name = "pinkie-promise-2.0.1.tgz"; + sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; }; deps = { - "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1"; - "inherits-2.0.1" = self.by-version."inherits"."2.0.1"; - "isarray-0.0.1" = self.by-version."isarray"."0.0.1"; - "process-nextick-args-1.0.3" = self.by-version."process-nextick-args"."1.0.3"; + "pinkie-2.0.4" = self.by-version."pinkie"."2.0.4"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."process-nextick-args"."~1.0.6" = + self.by-version."process-nextick-args"."1.0.7"; + by-version."process-nextick-args"."1.0.7" = self.buildNodePackage { + name = "process-nextick-args-1.0.7"; + version = "1.0.7"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"; + name = "process-nextick-args-1.0.7.tgz"; + sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."punycode"."^1.4.1" = + self.by-version."punycode"."1.4.1"; + by-version."punycode"."1.4.1" = self.buildNodePackage { + name = "punycode-1.4.1"; + version = "1.4.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"; + name = "punycode-1.4.1.tgz"; + sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."qs"."~6.3.0" = + self.by-version."qs"."6.3.0"; + by-version."qs"."6.3.0" = self.buildNodePackage { + name = "qs-6.3.0"; + version = "6.3.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz"; + name = "qs-6.3.0.tgz"; + sha1 = "f403b264f23bc01228c74131b407f18d5ea5d442"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."readable-stream"."^2.2.2" = + self.by-version."readable-stream"."2.2.2"; + by-version."readable-stream"."2.2.2" = self.buildNodePackage { + name = "readable-stream-2.2.2"; + version = "2.2.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"; + name = "readable-stream-2.2.2.tgz"; + sha1 = "a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"; + }; + deps = { + "buffer-shims-1.0.0" = self.by-version."buffer-shims"."1.0.0"; + "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2"; + "isarray-1.0.0" = self.by-version."isarray"."1.0.0"; + "inherits-2.0.3" = self.by-version."inherits"."2.0.3"; + "process-nextick-args-1.0.7" = self.by-version."process-nextick-args"."1.0.7"; "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31"; "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2"; }; @@ -1166,36 +1400,37 @@ cpu = [ ]; }; by-spec."request"."*" = - self.by-version."request"."2.64.0"; - by-version."request"."2.64.0" = self.buildNodePackage { - name = "request-2.64.0"; - version = "2.64.0"; + self.by-version."request"."2.79.0"; + by-version."request"."2.79.0" = self.buildNodePackage { + name = "request-2.79.0"; + version = "2.79.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/request/-/request-2.64.0.tgz"; - name = "request-2.64.0.tgz"; - sha1 = "96a582423ce9b4b5c34e9b232e480173f14ba608"; + url = "https://registry.npmjs.org/request/-/request-2.79.0.tgz"; + name = "request-2.79.0.tgz"; + sha1 = "4dfe5bf6be8b8cdc37fcf93e04b65577722710de"; }; deps = { - "bl-1.0.0" = self.by-version."bl"."1.0.0"; + "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0"; + "aws4-1.5.0" = self.by-version."aws4"."1.5.0"; "caseless-0.11.0" = self.by-version."caseless"."0.11.0"; + "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5"; "extend-3.0.0" = self.by-version."extend"."3.0.0"; "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1"; - "form-data-1.0.0-rc3" = self.by-version."form-data"."1.0.0-rc3"; - "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1"; - "mime-types-2.1.7" = self.by-version."mime-types"."2.1.7"; - "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3"; - "qs-5.1.0" = self.by-version."qs"."5.1.0"; - "tunnel-agent-0.4.1" = self.by-version."tunnel-agent"."0.4.1"; - "tough-cookie-2.2.0" = self.by-version."tough-cookie"."2.2.0"; - "http-signature-0.11.0" = self.by-version."http-signature"."0.11.0"; - "oauth-sign-0.8.0" = self.by-version."oauth-sign"."0.8.0"; - "hawk-3.1.0" = self.by-version."hawk"."3.1.0"; - "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0"; - "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4"; - "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5"; + "form-data-2.1.2" = self.by-version."form-data"."2.1.2"; + "har-validator-2.0.6" = self.by-version."har-validator"."2.0.6"; + "hawk-3.1.3" = self.by-version."hawk"."3.1.3"; + "http-signature-1.1.1" = self.by-version."http-signature"."1.1.1"; + "is-typedarray-1.0.0" = self.by-version."is-typedarray"."1.0.0"; "isstream-0.1.2" = self.by-version."isstream"."0.1.2"; - "har-validator-1.8.0" = self.by-version."har-validator"."1.8.0"; + "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1"; + "mime-types-2.1.14" = self.by-version."mime-types"."2.1.14"; + "oauth-sign-0.8.2" = self.by-version."oauth-sign"."0.8.2"; + "qs-6.3.0" = self.by-version."qs"."6.3.0"; + "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5"; + "tough-cookie-2.3.2" = self.by-version."tough-cookie"."2.3.2"; + "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3"; + "uuid-3.0.1" = self.by-version."uuid"."3.0.1"; }; optionalDependencies = { }; @@ -1203,17 +1438,17 @@ os = [ ]; cpu = [ ]; }; - "request" = self.by-version."request"."2.64.0"; - by-spec."sax"."~0.6.0" = - self.by-version."sax"."0.6.1"; - by-version."sax"."0.6.1" = self.buildNodePackage { - name = "sax-0.6.1"; - version = "0.6.1"; + "request" = self.by-version."request"."2.79.0"; + by-spec."sax"."^1.2.1" = + self.by-version."sax"."1.2.1"; + by-version."sax"."1.2.1" = self.buildNodePackage { + name = "sax-1.2.1"; + version = "1.2.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/sax/-/sax-0.6.1.tgz"; - name = "sax-0.6.1.tgz"; - sha1 = "563b19c7c1de892e09bfc4f2fc30e3c27f0952b9"; + url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz"; + name = "sax-1.2.1.tgz"; + sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a"; }; deps = { }; @@ -1224,15 +1459,15 @@ cpu = [ ]; }; by-spec."shell-quote"."*" = - self.by-version."shell-quote"."1.4.3"; - by-version."shell-quote"."1.4.3" = self.buildNodePackage { - name = "shell-quote-1.4.3"; - version = "1.4.3"; + self.by-version."shell-quote"."1.6.1"; + by-version."shell-quote"."1.6.1" = self.buildNodePackage { + name = "shell-quote-1.6.1"; + version = "1.6.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/shell-quote/-/shell-quote-1.4.3.tgz"; - name = "shell-quote-1.4.3.tgz"; - sha1 = "952c44e0b1ed9013ef53958179cc643e8777466b"; + url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz"; + name = "shell-quote-1.6.1.tgz"; + sha1 = "f4781949cce402697127430ea3b3c5476f481767"; }; deps = { "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0"; @@ -1246,7 +1481,7 @@ os = [ ]; cpu = [ ]; }; - "shell-quote" = self.by-version."shell-quote"."1.4.3"; + "shell-quote" = self.by-version."shell-quote"."1.6.1"; by-spec."sntp"."1.x.x" = self.by-version."sntp"."1.0.9"; by-version."sntp"."1.0.9" = self.buildNodePackage { @@ -1254,7 +1489,7 @@ version = "1.0.9"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"; + url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"; name = "sntp-1.0.9.tgz"; sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198"; }; @@ -1267,6 +1502,34 @@ os = [ ]; cpu = [ ]; }; + by-spec."sshpk"."^1.7.0" = + self.by-version."sshpk"."1.10.2"; + by-version."sshpk"."1.10.2" = self.buildNodePackage { + name = "sshpk-1.10.2"; + version = "1.10.2"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz"; + name = "sshpk-1.10.2.tgz"; + sha1 = "d5a804ce22695515638e798dbe23273de070a5fa"; + }; + deps = { + "asn1-0.2.3" = self.by-version."asn1"."0.2.3"; + "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0"; + "dashdash-1.14.1" = self.by-version."dashdash"."1.14.1"; + "getpass-0.1.6" = self.by-version."getpass"."0.1.6"; + }; + optionalDependencies = { + "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0"; + "tweetnacl-0.14.5" = self.by-version."tweetnacl"."0.14.5"; + "jodid25519-1.0.2" = self.by-version."jodid25519"."1.0.2"; + "ecc-jsbn-0.1.1" = self.by-version."ecc-jsbn"."0.1.1"; + "bcrypt-pbkdf-1.0.1" = self.by-version."bcrypt-pbkdf"."1.0.1"; + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; by-spec."string_decoder"."~0.10.x" = self.by-version."string_decoder"."0.10.31"; by-version."string_decoder"."0.10.31" = self.buildNodePackage { @@ -1274,7 +1537,7 @@ version = "0.10.31"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"; + url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"; name = "string_decoder-0.10.31.tgz"; sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; }; @@ -1287,15 +1550,15 @@ cpu = [ ]; }; by-spec."stringstream"."~0.0.4" = - self.by-version."stringstream"."0.0.4"; - by-version."stringstream"."0.0.4" = self.buildNodePackage { - name = "stringstream-0.0.4"; - version = "0.0.4"; + self.by-version."stringstream"."0.0.5"; + by-version."stringstream"."0.0.5" = self.buildNodePackage { + name = "stringstream-0.0.5"; + version = "0.0.5"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz"; - name = "stringstream-0.0.4.tgz"; - sha1 = "0f0e3423f942960b5692ac324a57dd093bc41a92"; + url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz"; + name = "stringstream-0.0.5.tgz"; + sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878"; }; deps = { }; @@ -1306,18 +1569,18 @@ cpu = [ ]; }; by-spec."strip-ansi"."^3.0.0" = - self.by-version."strip-ansi"."3.0.0"; - by-version."strip-ansi"."3.0.0" = self.buildNodePackage { - name = "strip-ansi-3.0.0"; - version = "3.0.0"; + self.by-version."strip-ansi"."3.0.1"; + by-version."strip-ansi"."3.0.1" = self.buildNodePackage { + name = "strip-ansi-3.0.1"; + version = "3.0.1"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz"; - name = "strip-ansi-3.0.0.tgz"; - sha1 = "7510b665567ca914ccb5d7e072763ac968be3724"; + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"; + name = "strip-ansi-3.0.1.tgz"; + sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; }; deps = { - "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0"; + "ansi-regex-2.1.1" = self.by-version."ansi-regex"."2.1.1"; }; optionalDependencies = { }; @@ -1332,7 +1595,7 @@ version = "2.0.0"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"; + url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"; name = "supports-color-2.0.0.tgz"; sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; }; @@ -1344,16 +1607,36 @@ os = [ ]; cpu = [ ]; }; - by-spec."tough-cookie".">=0.12.0" = - self.by-version."tough-cookie"."2.2.0"; - by-version."tough-cookie"."2.2.0" = self.buildNodePackage { - name = "tough-cookie-2.2.0"; - version = "2.2.0"; + by-spec."tough-cookie"."~2.3.0" = + self.by-version."tough-cookie"."2.3.2"; + by-version."tough-cookie"."2.3.2" = self.buildNodePackage { + name = "tough-cookie-2.3.2"; + version = "2.3.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.0.tgz"; - name = "tough-cookie-2.2.0.tgz"; - sha1 = "d4ce661075e5fddb7f20341d3f9931a6fbbadde0"; + url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz"; + name = "tough-cookie-2.3.2.tgz"; + sha1 = "f081f76e4c85720e6c37a5faced737150d84072a"; + }; + deps = { + "punycode-1.4.1" = self.by-version."punycode"."1.4.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."tunnel-agent"."~0.4.1" = + self.by-version."tunnel-agent"."0.4.3"; + by-version."tunnel-agent"."0.4.3" = self.buildNodePackage { + name = "tunnel-agent-0.4.3"; + version = "0.4.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"; + name = "tunnel-agent-0.4.3.tgz"; + sha1 = "6373db76909fe570e08d73583365ed828a74eeeb"; }; deps = { }; @@ -1363,35 +1646,16 @@ os = [ ]; cpu = [ ]; }; - by-spec."traverse".">=0.2.4" = - self.by-version."traverse"."0.6.6"; - by-version."traverse"."0.6.6" = self.buildNodePackage { - name = "traverse-0.6.6"; - version = "0.6.6"; + by-spec."tweetnacl"."^0.14.3" = + self.by-version."tweetnacl"."0.14.5"; + by-version."tweetnacl"."0.14.5" = self.buildNodePackage { + name = "tweetnacl-0.14.5"; + version = "0.14.5"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz"; - name = "traverse-0.6.6.tgz"; - sha1 = "cbdf560fd7b9af632502fed40f918c157ea97137"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."tunnel-agent"."~0.4.0" = - self.by-version."tunnel-agent"."0.4.1"; - by-version."tunnel-agent"."0.4.1" = self.buildNodePackage { - name = "tunnel-agent-0.4.1"; - version = "0.4.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz"; - name = "tunnel-agent-0.4.1.tgz"; - sha1 = "bbeecff4d679ce753db9462761a88dfcec3c5ab3"; + url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"; + name = "tweetnacl-0.14.5.tgz"; + sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; }; deps = { }; @@ -1401,6 +1665,8 @@ os = [ ]; cpu = [ ]; }; + by-spec."tweetnacl"."~0.14.0" = + self.by-version."tweetnacl"."0.14.5"; by-spec."util-deprecate"."~1.0.1" = self.by-version."util-deprecate"."1.0.2"; by-version."util-deprecate"."1.0.2" = self.buildNodePackage { @@ -1408,7 +1674,7 @@ version = "1.0.2"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; + url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; name = "util-deprecate-1.0.2.tgz"; sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; }; @@ -1420,16 +1686,55 @@ os = [ ]; cpu = [ ]; }; - by-spec."xtend"."^4.0.0" = - self.by-version."xtend"."4.0.0"; - by-version."xtend"."4.0.0" = self.buildNodePackage { - name = "xtend-4.0.0"; - version = "4.0.0"; + by-spec."uuid"."^3.0.0" = + self.by-version."uuid"."3.0.1"; + by-version."uuid"."3.0.1" = self.buildNodePackage { + name = "uuid-3.0.1"; + version = "3.0.1"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz"; + name = "uuid-3.0.1.tgz"; + sha1 = "6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."verror"."1.3.6" = + self.by-version."verror"."1.3.6"; + by-version."verror"."1.3.6" = self.buildNodePackage { + name = "verror-1.3.6"; + version = "1.3.6"; bin = false; src = fetchurl { - url = "http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz"; - name = "xtend-4.0.0.tgz"; - sha1 = "8bc36ff87aedbe7ce9eaf0bca36b2354a743840f"; + url = "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"; + name = "verror-1.3.6.tgz"; + sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c"; + }; + deps = { + "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."xtend"."^4.0.0" = + self.by-version."xtend"."4.0.1"; + by-version."xtend"."4.0.1" = self.buildNodePackage { + name = "xtend-4.0.1"; + version = "4.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"; + name = "xtend-4.0.1.tgz"; + sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; }; deps = { }; From 0bdb6c4c7a0e688405cb4efe5a35faf7880b4090 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 13:23:19 +0100 Subject: [PATCH 14/35] m 2: remove obsolete gnupg1compat override --- makefu/2configs/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/makefu/2configs/default.nix b/makefu/2configs/default.nix index 488ca17d4..45f7315b0 100644 --- a/makefu/2configs/default.nix +++ b/makefu/2configs/default.nix @@ -143,7 +143,6 @@ with import ; nixpkgs.config.packageOverrides = pkgs: { nano = pkgs.runCommand "empty" {} "mkdir -p $out"; tinc = pkgs.tinc_pre; - gnupg1compat = super.gnupg1compat.override { gnupg = self.gnupg21; }; }; services.cron.enable = false; From 53532e63f006479bc3ff57c93a2b5f52d4709545 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 14:20:55 +0100 Subject: [PATCH 15/35] l 2 monitoring: remove broken ping statistics --- lass/2configs/monitoring/client.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/lass/2configs/monitoring/client.nix b/lass/2configs/monitoring/client.nix index d20ad475d..bd7d6acbb 100644 --- a/lass/2configs/monitoring/client.nix +++ b/lass/2configs/monitoring/client.nix @@ -19,9 +19,6 @@ with import ; totalcpu = true; }; mem = {}; - ping = { - urls = ["8.8.8.8"]; - }; net = {}; }; }; From a5bd0ad7742260db8893d8578950a0cfd0cbc62e Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 14:21:42 +0100 Subject: [PATCH 16/35] l 2 monitoring: set agent interval to 1s --- lass/2configs/monitoring/client.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/monitoring/client.nix b/lass/2configs/monitoring/client.nix index bd7d6acbb..b8c245215 100644 --- a/lass/2configs/monitoring/client.nix +++ b/lass/2configs/monitoring/client.nix @@ -5,7 +5,7 @@ with import ; enable = true; extraConfig = { - interval = "1s"; + agent.interval = "1s"; outputs = { influxdb = { urls = ["http://prism:8086"]; From 7bcbb92979830bf8db28db5babad2527f2353805 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 5 Feb 2017 18:01:15 +0100 Subject: [PATCH 17/35] k 5 Reaktor plugins: fix regex in url-title --- krebs/5pkgs/Reaktor/plugins.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/krebs/5pkgs/Reaktor/plugins.nix b/krebs/5pkgs/Reaktor/plugins.nix index d4774dd69..e85e41cfe 100644 --- a/krebs/5pkgs/Reaktor/plugins.nix +++ b/krebs/5pkgs/Reaktor/plugins.nix @@ -118,7 +118,7 @@ rec { }; url-title = (buildSimpleReaktorPlugin "url-title" { - pattern = "^.*(?Phttp[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)$$"; + pattern = "^.*(?Phttp[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+).*$$"; path = with pkgs; [ curl perl ]; script = pkgs.writeDash "lambda-pl" '' if [ "$#" -gt 0 ]; then From b24a84a4e12e0943a17c7afb715bd728a6a6e47f Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 6 Feb 2017 15:08:49 +0100 Subject: [PATCH 18/35] l 2 repo-sync: also sync populate --- lass/2configs/repo-sync.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lass/2configs/repo-sync.nix b/lass/2configs/repo-sync.nix index b1a26b171..5b6930c93 100644 --- a/lass/2configs/repo-sync.nix +++ b/lass/2configs/repo-sync.nix @@ -102,6 +102,7 @@ in { (sync-retiolum "go") (sync-retiolum "much") (sync-retiolum "newsbot-js") + (sync-retiolum "populate") (sync-retiolum "stockholm") (sync-retiolum "wai-middleware-time") (sync-retiolum "web-routes-wai-custom") From 9439a1579ed84af8b43eb5ddb01b7aa19e060b79 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 6 Feb 2017 15:09:10 +0100 Subject: [PATCH 19/35] l 2 mail: fix path to gpg.rc --- lass/2configs/mail.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/mail.nix b/lass/2configs/mail.nix index 5ca84133d..e4b319528 100644 --- a/lass/2configs/mail.nix +++ b/lass/2configs/mail.nix @@ -17,7 +17,7 @@ let muttrc = pkgs.writeText "muttrc" '' # gpg - source ${pkgs.neomutt}/share/doc/neomutt/samples/gpg.rc + source ${pkgs.neomutt}/share/doc/mutt/samples/gpg.rc set pgp_use_gpg_agent = yes set pgp_sign_as = 0x976A7E4D set crypt_autosign = yes From 96ab457d0985aa9fec742430a285012a797ba8d5 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 6 Feb 2017 16:20:45 +0100 Subject: [PATCH 20/35] l 2 repo-sync: use lassul.us instead of prism workaround because cgit http is currently broken on prism --- lass/2configs/repo-sync.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/repo-sync.nix b/lass/2configs/repo-sync.nix index 5b6930c93..83f646130 100644 --- a/lass/2configs/repo-sync.nix +++ b/lass/2configs/repo-sync.nix @@ -49,7 +49,7 @@ let mirror.url = "${mirror}${name}"; }; lassulus = { - origin.url = "http://cgit.prism/${name}"; + origin.url = "http://cgit.lassul.us/${name}"; mirror.url = "${mirror}${name}"; }; "@latest" = { From 8d5484a79763cc4d4f4feebc5cb1fa27d3d44764 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 6 Feb 2017 17:02:41 +0100 Subject: [PATCH 21/35] l 2 buildbot: use cgit.lassul.us --- lass/2configs/buildbot-standalone.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/buildbot-standalone.nix b/lass/2configs/buildbot-standalone.nix index c9e2928b3..cd11254d6 100644 --- a/lass/2configs/buildbot-standalone.nix +++ b/lass/2configs/buildbot-standalone.nix @@ -11,7 +11,7 @@ let in { config.krebs.buildbot.master = let - stockholm-mirror-url = http://cgit.prism/stockholm ; + stockholm-mirror-url = http://cgit.lassul.us/stockholm ; in { workers = { testworker = "lasspass"; From 73f72eeaf128104328b5e53257e3ca92c8441df5 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 6 Feb 2017 19:13:59 +0100 Subject: [PATCH 22/35] l 3: remove obsolete telegraf module --- lass/3modules/default.nix | 1 - lass/3modules/telegraf.nix | 84 -------------------------------------- 2 files changed, 85 deletions(-) delete mode 100644 lass/3modules/telegraf.nix diff --git a/lass/3modules/default.nix b/lass/3modules/default.nix index f97b041ac..f4a2b4565 100644 --- a/lass/3modules/default.nix +++ b/lass/3modules/default.nix @@ -9,6 +9,5 @@ _: ./usershadow.nix ./xresources.nix ./kapacitor.nix - ./telegraf.nix ]; } diff --git a/lass/3modules/telegraf.nix b/lass/3modules/telegraf.nix deleted file mode 100644 index 0b3be2d69..000000000 --- a/lass/3modules/telegraf.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ config, lib, pkgs, ... }: - -with builtins; -with lib; - -let - cfg = config.lass.telegraf; - - out = { - options.lass.telegraf = api; - config = mkIf cfg.enable imp; - }; - - api = { - enable = mkEnableOption "telegraf"; - dataDir = mkOption { - type = types.str; - default = "/var/lib/telegraf"; - }; - user = mkOption { - type = types.str; - default = "telegraf"; - }; - outputs = mkOption { - type = types.str; - default = '' - [outputs.influxdb] - urls = ["http://localhost:8086"] - database = "telegraf_db" - user_agent = "telegraf" - ''; - }; - inputs = mkOption { - type = with types; listOf str; - default = [ - '' - [cpu] - percpu = false - totalcpu = true - drop = ["cpu_time"] - '' - ]; - }; - interval = mkOption { - type = types.str; - default = "10s"; - }; - config = mkOption { - type = types.str; - #TODO: find a good default - default = '' - [agent] - interval = "${cfg.interval}" - - [outputs] - - ${cfg.outputs} - - ${concatStringsSep "\n" cfg.inputs} - - ''; - description = "configuration telegraf is started with"; - }; - }; - - configFile = pkgs.writeText "telegraf.conf" cfg.config; - - imp = { - - systemd.services.telegraf = { - description = "telegraf"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - - restartIfChanged = true; - - serviceConfig = { - Restart = "always"; - ExecStart = "${pkgs.telegraf}/bin/telegraf -config ${configFile}"; - }; - }; - }; - -in out From 2b68541e297fd6fcb67a117c7d816dbcca9e8c64 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 7 Feb 2017 17:09:39 +0100 Subject: [PATCH 23/35] l 3 kapacitor: use extraConfig & start as user --- lass/3modules/kapacitor.nix | 188 +++++++++++++++++++++--------------- 1 file changed, 109 insertions(+), 79 deletions(-) diff --git a/lass/3modules/kapacitor.nix b/lass/3modules/kapacitor.nix index 299a56d92..092890814 100644 --- a/lass/3modules/kapacitor.nix +++ b/lass/3modules/kapacitor.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: with builtins; -with lib; +with import ; let cfg = config.lass.kapacitor; @@ -11,6 +11,71 @@ let config = mkIf cfg.enable imp; }; + configOptions = recursiveUpdate { + hostname = "localhost"; + data_dir = cfg.dataDir; + http = { + bind-address = ":9092"; + auth-enabled = false; + log-enabled = false; + gtgwrite-tracing = false; + pprof-enabled = false; + https-enabled = false; + https-certificate = "/etc/ssl/kapacitor.pem"; + shutdown-timeout = "10s"; + shared-secret = ""; + }; + + replay ={ + dir = "${cfg.dataDir}/replay"; + }; + + storage = { + boltdb = "${cfg.dataDir}/kapacitor.db"; + }; + + task = { + dir = "${cfg.dataDir}/tasks"; + snapshot-interval = "1m0s"; + }; + + influxdb = [{ + enabled = true; + name = "default"; + default = false; + urls = ["http://localhost:8086"]; + username = ""; + password = ""; + ssl-ca = ""; + ssl-cert = ""; + ssl-key = ""; + insecure-skip-verify = false; + timeout = "0s"; + disable-subscriptions = false; + subscription-protocol = "http"; + udp-bind = ""; + udp-buffer = 1000; + udp-read-buffer = 0; + startup-timeout = "5m0s"; + subscriptions-sync-interval = "1m0s"; + influxdb.excluded-subscriptions = { + _kapacitor = ["autogen"]; + }; + }]; + + logging = { + file = "STDERR"; + level = "INFO"; + }; + + deadman = { + interval = "10s"; + id = "{{ .Group }}:NODE_NAME for task '{{ .TaskName }}'"; + message = "{{ .ID }} is {{ if eq .Level \"OK\" }}alive{{ else }}dead{{ end }}: {{ index .Fields \"emitted\" | printf \"%0.3f\" }} points/INTERVAL."; + global = false; + }; + } cfg.extraConfig; + api = { enable = mkEnableOption "kapacitor"; dataDir = mkOption { @@ -18,90 +83,54 @@ let default = "/var/lib/kapacitor"; }; user = mkOption { - type = types.str; - default = "kapacitor"; + type = types.user; + default = { + name = "kapacitor"; + home = cfg.dataDir; + }; }; - logLevel = mkOption { - type = types.enum ["DEBUG" "INFO" "WARN" "ERROR" "OFF"]; - default = "INFO"; + group = mkOption { + type = types.group; + default = { + name = "kapacitor"; + }; }; - alarms = mkOption { - type = with types; attrsOf str; + extraConfig = mkOption { + type = types.attrs; default = {}; }; - check_db = mkOption { - type = types.str; - default = "all_data"; - }; - config = mkOption { - type = types.str; - #TODO: find a good default - default = '' - hostname = "localhost" - data_dir = "${cfg.dataDir}" - - [http] - bind-address = ":9092" - auth-enabled = false - log-enabled = true - write-tracing = false - pprof-enabled = false - https-enabled = false - https-certificate = "/etc/ssl/kapacitor.pem" - shutdown-timeout = "10s" - shared-secret = "" - - [replay] - dir = "${cfg.dataDir}/replay" - - [storage] - boltdb = "${cfg.dataDir}/kapacitor.db" - - [task] - dir = "${cfg.dataDir}/tasks" - snapshot-interval = "1m0s" - - [[influxdb]] - enabled = true - name = "default" - default = false - urls = ["http://localhost:8086"] - username = "" - password = "" - ssl-ca = "" - ssl-cert = "" - ssl-key = "" - insecure-skip-verify = false - timeout = "0s" - disable-subscriptions = false - subscription-protocol = "http" - udp-bind = "" - udp-buffer = 1000 - udp-read-buffer = 0 - startup-timeout = "5m0s" - subscriptions-sync-interval = "1m0s" - [influxdb.subscriptions] - [influxdb.excluded-subscriptions] - _kapacitor = ["autogen"] - - [logging] - file = "STDERR" - level = "${cfg.logLevel}" - - [deadman] - interval = "10s" - threshold = 0.0 - id = "{{ .Group }}:NODE_NAME for task '{{ .TaskName }}'" - message = "{{ .ID }} is {{ if eq .Level \"OK\" }}alive{{ else }}dead{{ end }}: {{ index .Fields \"emitted\" | printf \"%0.3f\" }} points/INTERVAL." - global = false - ''; - description = "configuration kapacitor is started with"; + alarms = mkOption { + type = with types; attrsOf (submodule { + options = { + database = mkOption { + type = str; + }; + text = mkOption { + type = str; + }; + }; + }); + default = {}; }; }; - configFile = pkgs.writeText "kapacitor.conf" cfg.config; + configFile = pkgs.runCommand "kapacitor.toml" {} '' + ${pkgs.remarshal}/bin/remarshal -if json -of toml \ + < ${pkgs.writeText "kapacitor.json" (builtins.toJSON configOptions)} \ + > $out + ''; imp = { + users = { + groups.${cfg.group.name} = { + inherit (cfg.group) name gid; + }; + users.${cfg.user.name} = { + inherit (cfg.user) home name uid; + createHome = true; + group = cfg.group.name; + }; + }; systemd.services.kapacitor = { description = "kapacitor"; @@ -112,6 +141,7 @@ let serviceConfig = { Restart = "always"; + User = cfg.user.name; ExecStart = "${pkgs.kapacitor}/bin/kapacitord -config ${configFile}"; }; }; @@ -125,13 +155,14 @@ let serviceConfig = { Type = "oneshot"; + User = cfg.user.name; ExecStart = pkgs.writeDash "add_alarms" '' ${pkgs.kapacitor}/bin/kapacitor delete tasks \* ${concatStrings (mapAttrsToList (name: alarm: '' ${pkgs.kapacitor}/bin/kapacitor define ${name} \ -type batch \ - -tick ${pkgs.writeText "${name}.tick" alarm} \ - -dbrp ${cfg.check_db}.default + -tick ${pkgs.writeText "${name}.tick" alarm.text} \ + -dbrp ${alarm.database}.default ${pkgs.kapacitor}/bin/kapacitor enable ${name} '') cfg.alarms)} ''; @@ -139,5 +170,4 @@ let }; }; - in out From f39df4913b225ec67ca0557e3b702323bcb2bf2b Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 7 Feb 2017 17:10:34 +0100 Subject: [PATCH 24/35] l 2 monitoring server: use new kapacitor config --- lass/2configs/monitoring/server.nix | 66 ++++++++++++++++------------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/lass/2configs/monitoring/server.nix b/lass/2configs/monitoring/server.nix index 505cb7a17..1b556c56b 100644 --- a/lass/2configs/monitoring/server.nix +++ b/lass/2configs/monitoring/server.nix @@ -22,6 +22,7 @@ with import ; lass.kapacitor = let + db = "telegraf_db"; echoToIrc = pkgs.writeDash "echo_irc" '' set -euf data="$(${pkgs.jq}/bin/jq -r .message)" @@ -31,37 +32,42 @@ with import ; ''; in { enable = true; - check_db = "telegraf_db"; alarms = { - cpu = '' - var data = batch - |query(${"'''"} - SELECT mean("usage_user") AS mean - FROM "${config.lass.kapacitor.check_db}"."default"."cpu" - ${"'''"}) - .period(10m) - .every(1m) - .groupBy('host') - data |alert() - .crit(lambda: "mean" > 90) - .exec('${echoToIrc}') - data |deadman(1.0,5m) - .stateChangesOnly() - .exec('${echoToIrc}') - ''; - ram = '' - var data = batch - |query(${"'''"} - SELECT mean("used_percent") AS mean - FROM "${config.lass.kapacitor.check_db}"."default"."mem" - ${"'''"}) - .period(10m) - .every(1m) - .groupBy('host') - data |alert() - .crit(lambda: "mean" > 90) - .exec('${echoToIrc}') - ''; + cpu = { + database = db; + text = '' + var data = batch + |query(${"'''"} + SELECT mean("usage_user") AS mean + FROM "${db}"."default"."cpu" + ${"'''"}) + .period(10m) + .every(1m) + .groupBy('host') + data |alert() + .crit(lambda: "mean" > 90) + .exec('${echoToIrc}') + data |deadman(1.0,5m) + .stateChangesOnly() + .exec('${echoToIrc}') + ''; + }; + ram = { + database = db; + text = '' + var data = batch + |query(${"'''"} + SELECT mean("used_percent") AS mean + FROM "${db}"."default"."mem" + ${"'''"}) + .period(10m) + .every(1m) + .groupBy('host') + data |alert() + .crit(lambda: "mean" > 90) + .exec('${echoToIrc}') + ''; + }; }; }; From 3085d190485d2b4e822bf4a507104ace155c52b3 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 7 Feb 2017 17:11:30 +0100 Subject: [PATCH 25/35] l 2 monitoring: disable influx http logging --- lass/2configs/monitoring/server.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lass/2configs/monitoring/server.nix b/lass/2configs/monitoring/server.nix index 1b556c56b..ff6e980cb 100644 --- a/lass/2configs/monitoring/server.nix +++ b/lass/2configs/monitoring/server.nix @@ -8,6 +8,7 @@ with import ; # meta.logging-enabled = true; http.bind-address = ":8086"; admin.bind-address = ":8083"; + http.log-enabled = false; monitoring = { enabled = false; # write-interval = "24h"; From 73140ed18358e25983b28874c220f8e882e5e95f Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 7 Feb 2017 17:12:21 +0100 Subject: [PATCH 26/35] l 2 monitoring server: add kibana + elasticsearch --- lass/2configs/monitoring/server.nix | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/lass/2configs/monitoring/server.nix b/lass/2configs/monitoring/server.nix index ff6e980cb..f3d8026ab 100644 --- a/lass/2configs/monitoring/server.nix +++ b/lass/2configs/monitoring/server.nix @@ -72,15 +72,28 @@ with import ; }; }; - krebs.iptables.tables.filter.INPUT.rules = [ - { predicate = "-p tcp -i retiolum --dport 8086"; target = "ACCEPT"; } - { predicate = "-p tcp -i retiolum --dport 3000"; target = "ACCEPT"; } - { predicate = "-p udp -i retiolum --dport 25826"; target = "ACCEPT"; } - ]; services.grafana = { enable = true; addr = "0.0.0.0"; auth.anonymous.enable = true; security = import ; # { AdminUser = ""; adminPassword = ""} }; + + services.elasticsearch = { + enable = true; + listenAddress = "0.0.0.0"; + }; + + services.kibana = { + enable = true; + listenAddress = "0.0.0.0"; + }; + + krebs.iptables.tables.filter.INPUT.rules = [ + { predicate = "-p tcp -i retiolum --dport 8086"; target = "ACCEPT"; } + { predicate = "-p tcp -i retiolum --dport 3000"; target = "ACCEPT"; } + { predicate = "-p udp -i retiolum --dport 25826"; target = "ACCEPT"; } + { predicate = "-p tcp -i retiolum --dport 9200"; target = "ACCEPT"; } + { predicate = "-p tcp -i retiolum --dport 5601"; target = "ACCEPT"; } + ]; } From aaf1f55626f16c7f9dcb681eb2d34743345e0e29 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 7 Feb 2017 17:12:50 +0100 Subject: [PATCH 27/35] l 2 monitoring client: add journalbeat --- lass/2configs/monitoring/client.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lass/2configs/monitoring/client.nix b/lass/2configs/monitoring/client.nix index b8c245215..e2b7dcae6 100644 --- a/lass/2configs/monitoring/client.nix +++ b/lass/2configs/monitoring/client.nix @@ -23,4 +23,13 @@ with import ; }; }; }; + + services.journalbeat = { + enable = true; + extraConfig = '' + output.elasticsearch: + hosts: ["prism:9200"] + template.enabled: false + ''; + }; } From 1d26ac7771945590d3c3bc0a6a53b90037c11084 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 7 Feb 2017 17:13:07 +0100 Subject: [PATCH 28/35] l 1 prism: scatter repo-sync timers --- lass/1systems/prism.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lass/1systems/prism.nix b/lass/1systems/prism.nix index f9654ac4c..c0c22a0de 100644 --- a/lass/1systems/prism.nix +++ b/lass/1systems/prism.nix @@ -215,7 +215,8 @@ in { } { krebs.repo-sync.timerConfig = { - OnCalendar = "*:0/5"; + OnUnitInactiveSec = "5min"; + RandomizedDelaySec = "2min"; }; } { From 69f6bd19714ece1f14fdbbc4314b5b7fe0fada31 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 7 Feb 2017 17:13:47 +0100 Subject: [PATCH 29/35] l 2 newsbot-js: remove some obsolete feeds --- lass/2configs/newsbot-js.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lass/2configs/newsbot-js.nix b/lass/2configs/newsbot-js.nix index 46ff3fbf9..3c6c5dc88 100644 --- a/lass/2configs/newsbot-js.nix +++ b/lass/2configs/newsbot-js.nix @@ -10,10 +10,6 @@ let arbor|http://feeds2.feedburner.com/asert/|#news archlinux|http://www.archlinux.org/feeds/news/|#news ars|http://feeds.arstechnica.com/arstechnica/index?format=xml|#news - asiaone_asia|http://news.asiaone.com/rss/asia|#news - asiaone_business|http://business.asiaone.com/rss.xml|#news - asiaone_sci|http://news.asiaone.com/rss/science-and-tech|#news - asiaone_world|http://news.asiaone.com/rss/world|#news augustl|http://augustl.com/atom.xml|#news bbc|http://feeds.bbci.co.uk/news/rss.xml|#news bdt_drucksachen|http://www.bundestag.de/dip21rss/bundestag_drucksachen.rss|#news #bundestag @@ -78,7 +74,6 @@ let heise|http://heise.de.feedsportal.com/c/35207/f/653902/index.rss|#news hindu_business|http://www.thehindubusinessline.com/?service=rss|#news #financial hindu|http://www.thehindu.com/?service=rss|#news - hintergrund|http://www.hintergrund.de/index.php?option=com_bca-rss-syndicator&feed_id=8|#news ign|http://feeds.ign.com/ign/all|#news independent|http://www.independent.com/rss/headlines/|#news indymedia|http://de.indymedia.org/RSS/newswire.xml|#news From cb044e37e657f3a5c5dad69353b42695f742d65f Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 7 Feb 2017 17:14:35 +0100 Subject: [PATCH 30/35] l 1: add iso --- krebs/3modules/lass/default.nix | 4 +- lass/1systems/iso.nix | 152 ++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 lass/1systems/iso.nix diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index d35a9f357..0b67abd11 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -302,7 +302,9 @@ with import ; ssh.privkey.path = ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOPgQIMYiyD4/Co+nlOQWEzCKssemOEXAY/lbIZZaMhj"; }; - + iso = { + cores = 1; + }; }; users = { lass = { diff --git a/lass/1systems/iso.nix b/lass/1systems/iso.nix new file mode 100644 index 000000000..9dfbf7cb8 --- /dev/null +++ b/lass/1systems/iso.nix @@ -0,0 +1,152 @@ +{ config, pkgs, ... }: + +with import ; +{ + imports = [ + + ../../krebs + ../3modules + ../5pkgs + ../2configs/binary-cache/client.nix + ../2configs/mc.nix + ../2configs/nixpkgs.nix + ../2configs/vim.nix + { + krebs.enable = true; + krebs.build.user = config.krebs.users.lass; + krebs.build.host = config.krebs.hosts.iso; + krebs.build.source.nixos-config.symlink = "stockholm/lass/1systems/${config.krebs.buil.host.name}.nix"; + } + { + nixpkgs.config.allowUnfree = true; + } + { + users.extraUsers = { + root = { + openssh.authorizedKeys.keys = [ + config.krebs.users.lass.pubkey + config.krebs.users.lass-shodan.pubkey + config.krebs.users.lass-icarus.pubkey + ]; + }; + }; + } + { + environment.extraInit = '' + EDITOR=vim + ''; + } + { + environment.systemPackages = with pkgs; [ + #stockholm + git + gnumake + jq + parallel + proot + populate + + #style + most + rxvt_unicode.terminfo + + #monitoring tools + htop + iotop + + #network + iptables + iftop + + #stuff for dl + aria2 + + #neat utils + krebspaste + pciutils + pop + psmisc + q + rs + tmux + untilport + usbutils + + #unpack stuff + p7zip + unzip + unrar + + #data recovery + ddrescue + ntfs3g + dosfstools + ]; + } + { + programs.bash = { + enableCompletion = true; + interactiveShellInit = '' + HISTCONTROL='erasedups:ignorespace' + HISTSIZE=65536 + HISTFILESIZE=$HISTSIZE + + shopt -s checkhash + shopt -s histappend histreedit histverify + shopt -s no_empty_cmd_completion + complete -d cd + ''; + promptInit = '' + if test $UID = 0; then + PS1='\[\033[1;31m\]\w\[\033[0m\] ' + PROMPT_COMMAND='echo -ne "\033]0;$$ $USER@$PWD\007"' + elif test $UID = 1337; then + PS1='\[\033[1;32m\]\w\[\033[0m\] ' + PROMPT_COMMAND='echo -ne "\033]0;$$ $PWD\007"' + else + PS1='\[\033[1;33m\]\u@\w\[\033[0m\] ' + PROMPT_COMMAND='echo -ne "\033]0;$$ $USER@$PWD\007"' + fi + if test -n "$SSH_CLIENT"; then + PS1='\[\033[35m\]\h'" $PS1" + PROMPT_COMMAND='echo -ne "\033]0;$$ $HOSTNAME $USER@$PWD\007"' + fi + ''; + }; + } + { + services.openssh = { + enable = true; + hostKeys = [ + # XXX bits here make no science + { bits = 8192; type = "ed25519"; path = "/etc/ssh/ssh_host_ed25519_key"; } + ]; + }; + } + { + krebs.iptables = { + enable = true; + tables = { + nat.PREROUTING.rules = [ + { predicate = "! -i retiolum -p tcp -m tcp --dport 22"; target = "REDIRECT --to-ports 0"; precedence = 100; } + { predicate = "-p tcp -m tcp --dport 45621"; target = "REDIRECT --to-ports 22"; precedence = 99; } + ]; + nat.OUTPUT.rules = [ + { predicate = "-o lo -p tcp -m tcp --dport 45621"; target = "REDIRECT --to-ports 22"; precedence = 100; } + ]; + filter.INPUT.policy = "DROP"; + filter.FORWARD.policy = "DROP"; + filter.INPUT.rules = [ + { predicate = "-m conntrack --ctstate RELATED,ESTABLISHED"; target = "ACCEPT"; precedence = 10001; } + { predicate = "-p icmp"; target = "ACCEPT"; precedence = 10000; } + { predicate = "-i lo"; target = "ACCEPT"; precedence = 9999; } + { predicate = "-p tcp --dport 22"; target = "ACCEPT"; precedence = 9998; } + { predicate = "-p tcp -i retiolum"; target = "REJECT --reject-with tcp-reset"; precedence = -10000; } + { predicate = "-p udp -i retiolum"; target = "REJECT --reject-with icmp-port-unreachable"; v6 = false; precedence = -10000; } + { predicate = "-i retiolum"; target = "REJECT --reject-with icmp-proto-unreachable"; v6 = false; precedence = -10000; } + ]; + }; + }; + } + ]; +} From 54e16f7a9e059991c85098e5e274bbadb8e93497 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 7 Feb 2017 17:21:25 +0100 Subject: [PATCH 31/35] move kapacitor to k 3 --- krebs/3modules/default.nix | 1 + {lass => krebs}/3modules/kapacitor.nix | 4 ++-- lass/3modules/default.nix | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) rename {lass => krebs}/3modules/kapacitor.nix (98%) diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix index 4b17c4abd..e0810ab63 100644 --- a/krebs/3modules/default.nix +++ b/krebs/3modules/default.nix @@ -21,6 +21,7 @@ let ./git.nix ./go.nix ./iptables.nix + ./kapacitor.nix ./newsbot-js.nix ./nginx.nix ./nixpkgs.nix diff --git a/lass/3modules/kapacitor.nix b/krebs/3modules/kapacitor.nix similarity index 98% rename from lass/3modules/kapacitor.nix rename to krebs/3modules/kapacitor.nix index 092890814..2ec67c73d 100644 --- a/lass/3modules/kapacitor.nix +++ b/krebs/3modules/kapacitor.nix @@ -4,10 +4,10 @@ with builtins; with import ; let - cfg = config.lass.kapacitor; + cfg = config.krebs.kapacitor; out = { - options.lass.kapacitor = api; + options.krebs.kapacitor = api; config = mkIf cfg.enable imp; }; diff --git a/lass/3modules/default.nix b/lass/3modules/default.nix index f4a2b4565..959c9d1b4 100644 --- a/lass/3modules/default.nix +++ b/lass/3modules/default.nix @@ -8,6 +8,5 @@ _: ./umts.nix ./usershadow.nix ./xresources.nix - ./kapacitor.nix ]; } From dc4dcb80d39d0429c108c2b2258d4074eede2122 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 7 Feb 2017 17:44:24 +0100 Subject: [PATCH 32/35] l 2 monitoring server: use krebs.kapacitor --- lass/2configs/monitoring/server.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/monitoring/server.nix b/lass/2configs/monitoring/server.nix index f3d8026ab..bbae4511e 100644 --- a/lass/2configs/monitoring/server.nix +++ b/lass/2configs/monitoring/server.nix @@ -21,7 +21,7 @@ with import ; }]; }; - lass.kapacitor = + krebs.kapacitor = let db = "telegraf_db"; echoToIrc = pkgs.writeDash "echo_irc" '' From c12d68c1b41e4b6d5f31b65e4f2be0741b4b1d4d Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 8 Feb 2017 11:57:21 +0100 Subject: [PATCH 33/35] l 2 nixpkgs: f66d782 -> f7b7d8e --- lass/2configs/nixpkgs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/nixpkgs.nix b/lass/2configs/nixpkgs.nix index e7229654d..aef9dd8b4 100644 --- a/lass/2configs/nixpkgs.nix +++ b/lass/2configs/nixpkgs.nix @@ -3,6 +3,6 @@ { krebs.build.source.nixpkgs.git = { url = https://github.com/nixos/nixpkgs; - ref = "f66d782"; + ref = "f7b7d8e"; }; } From 4e7fdf429f16c383c042292a47dd1cac0cb96f45 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Feb 2017 09:50:28 +0100 Subject: [PATCH 34/35] proot: fix seccomp filters --- krebs/5pkgs/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix index c1ec0f333..e01b6e804 100644 --- a/krebs/5pkgs/default.nix +++ b/krebs/5pkgs/default.nix @@ -44,6 +44,14 @@ with import ; }; buildbot-worker = callPackage ./buildbot/worker.nix {}; + # https://github.com/proot-me/PRoot/issues/106 + proot = overrideDerivation pkgs.proot (oldAttrs: { + patches = singleton (pkgs.fetchurl { + url = https://github.com/openmole/PRoot/commit/10119a1f1fd7dea012464ae176c2b5fc3eb18928.diff; + sha256 = "0cmd95mz8p5ifjvfvi4g9zzyxqddbscxin2j3a9zbmbjl2wi458g"; + }); + }); + # XXX symlinkJoin changed arguments somewhere around nixpkgs d541e0d symlinkJoin = { name, paths, ... }@args: let x = pkgs.symlinkJoin args; From 954477b8674156754cd51021d92885b456a04a5b Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 9 Feb 2017 12:41:11 +0100 Subject: [PATCH 35/35] k 5: fix proot signal 11 error with wrapper --- krebs/5pkgs/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix index e01b6e804..c79a639a4 100644 --- a/krebs/5pkgs/default.nix +++ b/krebs/5pkgs/default.nix @@ -45,12 +45,11 @@ with import ; buildbot-worker = callPackage ./buildbot/worker.nix {}; # https://github.com/proot-me/PRoot/issues/106 - proot = overrideDerivation pkgs.proot (oldAttrs: { - patches = singleton (pkgs.fetchurl { - url = https://github.com/openmole/PRoot/commit/10119a1f1fd7dea012464ae176c2b5fc3eb18928.diff; - sha256 = "0cmd95mz8p5ifjvfvi4g9zzyxqddbscxin2j3a9zbmbjl2wi458g"; - }); - }); + proot = pkgs.writeScriptBin "proot" '' + #!${pkgs.dash}/bin/dash + export PROOT_NO_SECCOMP=1 + exec ${pkgs.proot}/bin/proot "$@" + ''; # XXX symlinkJoin changed arguments somewhere around nixpkgs d541e0d symlinkJoin = { name, paths, ... }@args: let