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/krebs/3modules/kapacitor.nix b/krebs/3modules/kapacitor.nix new file mode 100644 index 000000000..2ec67c73d --- /dev/null +++ b/krebs/3modules/kapacitor.nix @@ -0,0 +1,173 @@ +{ config, lib, pkgs, ... }: + +with builtins; +with import ; + +let + cfg = config.krebs.kapacitor; + + out = { + options.krebs.kapacitor = api; + 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 { + type = types.str; + default = "/var/lib/kapacitor"; + }; + user = mkOption { + type = types.user; + default = { + name = "kapacitor"; + home = cfg.dataDir; + }; + }; + group = mkOption { + type = types.group; + default = { + name = "kapacitor"; + }; + }; + extraConfig = mkOption { + type = types.attrs; + default = {}; + }; + alarms = mkOption { + type = with types; attrsOf (submodule { + options = { + database = mkOption { + type = str; + }; + text = mkOption { + type = str; + }; + }; + }); + default = {}; + }; + }; + + 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"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + restartIfChanged = true; + + serviceConfig = { + Restart = "always"; + User = cfg.user.name; + ExecStart = "${pkgs.kapacitor}/bin/kapacitord -config ${configFile}"; + }; + }; + + systemd.services.kapacitor-alarms = { + description = "kapacitor-alarms"; + after = [ "kapacitor.service" ]; + wantedBy = [ "multi-user.target" ]; + + restartIfChanged = true; + + 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.text} \ + -dbrp ${alarm.database}.default + ${pkgs.kapacitor}/bin/kapacitor enable ${name} + '') cfg.alarms)} + ''; + }; + }; + + }; +in out 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/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 diff --git a/krebs/5pkgs/builders.nix b/krebs/5pkgs/builders.nix deleted file mode 100644 index 49d04be4d..000000000 --- a/krebs/5pkgs/builders.nix +++ /dev/null @@ -1,293 +0,0 @@ -{ config, pkgs, ... }: -with import ; -rec { - execve = name: { filename, argv ? null, envp ? {}, destination ? "" }: let - in writeC name { inherit destination; } /* c */ '' - #include - - static char *const filename = ${toC filename}; - - ${if argv == null - then /* Propagate arguments */ /* c */ '' - #define MAIN_ARGS int argc, char **argv - '' - else /* Provide fixed arguments */ /* c */ '' - #define MAIN_ARGS void - static char *const argv[] = ${toC (argv ++ [null])}; - ''} - - static char *const envp[] = ${toC ( - mapAttrsToList (k: v: "${k}=${v}") envp ++ [null] - )}; - - int main (MAIN_ARGS) { - execve(filename, argv, envp); - return -1; - } - ''; - - execveBin = name: cfg: execve name (cfg // { destination = "/bin/${name}"; }); - - makeScriptWriter = interpreter: name: text: - assert (with types; either absolute-pathname filename).check name; - pkgs.writeOut (baseNameOf name) { - ${optionalString (types.absolute-pathname.check name) name} = { - executable = true; - text = "#! ${interpreter}\n${text}"; - }; - }; - - writeBash = name: text: - assert (with types; either absolute-pathname filename).check name; - pkgs.writeOut (baseNameOf name) { - ${optionalString (types.absolute-pathname.check name) name} = { - check = pkgs.writeDash "shellcheck.sh" '' - ${pkgs.haskellPackages.ShellCheck}/bin/shellcheck "$1" || : - ''; - executable = true; - text = "#! ${pkgs.bash}/bin/bash\n${text}"; - }; - }; - - writeBashBin = name: - assert types.filename.check name; - pkgs.writeBash "/bin/${name}"; - - writeC = name: { destination ? "" }: src: pkgs.runCommand name {} /* sh */ '' - PATH=${makeBinPath (with pkgs; [ - binutils - coreutils - gcc - ])} - src=${pkgs.writeText "${name}.c" src} - exe=$out${destination} - mkdir -p "$(dirname "$exe")" - gcc -O -Wall -o "$exe" $src - strip --strip-unneeded "$exe" - ''; - - writeDash = makeScriptWriter "${pkgs.dash}/bin/dash"; - - writeDashBin = name: - assert types.filename.check name; - pkgs.writeDash "/bin/${name}"; - - writeEximConfig = name: text: pkgs.runCommand name { - inherit text; - passAsFile = [ "text" ]; - } /* sh */ '' - # TODO validate exim config even with config.nix.useChroot == true - # currently doing so will fail because "user exim was not found" - #${pkgs.exim}/bin/exim -C "$textPath" -bV >/dev/null - mv "$textPath" $out - ''; - - writeOut = name: specs0: - let - writers.link = - { path - , link - }: - assert path == "" || types.absolute-pathname.check path; - assert types.package.check link; - { - install = /* sh */ '' - ${optionalString (dirOf path != "/") /* sh */ '' - ${pkgs.coreutils}/bin/mkdir -p $out${dirOf path} - ''} - ${pkgs.coreutils}/bin/ln -s ${link} $out${path} - ''; - }; - - writers.text = - { path - , check ? null - , executable ? false - , mode ? if executable then "0755" else "0644" - , text - }: - assert path == "" || types.absolute-pathname.check path; - assert types.bool.check executable; - assert types.file-mode.check mode; - rec { - var = "file_${hashString "sha1" path}"; - val = text; - install = /* sh */ '' - ${optionalString (check != null) /* sh */ '' - ${check} ''$${var}Path - ''} - ${pkgs.coreutils}/bin/install -m ${mode} -D ''$${var}Path $out${path} - ''; - }; - - write = spec: writers.${spec.type} (removeAttrs spec ["type"]); - - specs = - mapAttrsToList - (path: spec: let - known-types = [ "link" "text" ]; - found-types = attrNames (getAttrs known-types spec); - type = assert length found-types == 1; head found-types; - in spec // { inherit path type; }) - specs0; - - files = map write specs; - - filevars = genAttrs' (filter (hasAttr "var") files) - (spec: nameValuePair spec.var spec.val); - - env = filevars // { passAsFile = attrNames filevars; }; - in - pkgs.runCommand name env /* sh */ '' - set -efu - ${concatMapStringsSep "\n" (getAttr "install") files} - ''; - - writeHaskell = - k: - let - k' = parseDrvName k; - name = k'.name; - version = if k'.version != "" then k'.version else "0"; - in - { base-depends ? ["base"] - , executables ? {} - , ghc-options ? ["-Wall" "-O3" "-threaded" "-rtsopts"] - , haskellPackages ? pkgs.haskellPackages - , library ? null - , license ? "WTFPL" - }: - let - isExecutable = executables != {}; - isLibrary = library != null; - - cabal-file = pkgs.writeText "${name}-${version}.cabal" /* cabal */ '' - build-type: Simple - cabal-version: >= 1.2 - name: ${name} - version: ${version} - ${concatStringsSep "\n" (mapAttrsToList exe-section executables)} - ${optionalString isLibrary (lib-section library)} - ''; - - exe-install = - exe-name: - { file ? pkgs.writeText "${name}-${exe-name}.hs" text - , relpath ? "${exe-name}.hs" - , text - , ... }: - if types.filename.check exe-name - then /* sh */ "install -D ${file} $out/${relpath}" - else throw "argument ‘exe-name’ is not a ${types.filename.name}"; - - exe-section = - exe-name: - { build-depends ? base-depends ++ extra-depends - , extra-depends ? [] - , file ? pkgs.writeText "${name}-${exe-name}.hs" text - , relpath ? "${exe-name}.hs" - , text - , ... }: /* cabal */ '' - executable ${exe-name} - build-depends: ${concatStringsSep "," build-depends} - ghc-options: ${toString ghc-options} - main-is: ${relpath} - ''; - - get-depends = - { build-depends ? base-depends ++ extra-depends - , extra-depends ? [] - , ... - }: - build-depends; - - lib-install = - { exposed-modules - , ... }: - concatStringsSep "\n" (mapAttrsToList mod-install exposed-modules); - - lib-section = - { build-depends ? base-depends ++ extra-depends - , extra-depends ? [] - , exposed-modules - , ... }: /* cabal */ '' - library - build-depends: ${concatStringsSep "," build-depends} - ghc-options: ${toString ghc-options} - exposed-modules: ${concatStringsSep "," (attrNames exposed-modules)} - ''; - - mod-install = - mod-name: - { file ? pkgs.writeText "${name}-${mod-name}.hs" text - , relpath ? "${replaceStrings ["."] ["/"] mod-name}.hs" - , text - , ... }: - if types.haskell.modid.check mod-name - then /* sh */ "install -D ${file} $out/${relpath}" - else throw "argument ‘mod-name’ is not a ${types.haskell.modid.name}"; - in - haskellPackages.mkDerivation { - inherit isExecutable isLibrary license version; - executableHaskellDepends = - attrVals - (concatMap get-depends (attrValues executables)) - haskellPackages; - libraryHaskellDepends = - attrVals - (optionals isLibrary (get-depends library)) - haskellPackages; - pname = name; - src = pkgs.runCommand "${name}-${version}-src" {} /* sh */ '' - install -D ${cabal-file} $out/${cabal-file.name} - ${optionalString isLibrary (lib-install library)} - ${concatStringsSep "\n" (mapAttrsToList exe-install executables)} - ''; - }; - - writeJq = name: src: pkgs.runCommand name {} /* sh */ '' - name=${assert types.filename.check name; name} - src=${shell.escape src} - - # syntax check - printf '%s' "$src" > src.jq - ${pkgs.jq}/bin/jq -f src.jq < /dev/null - - cp src.jq "$out" - ''; - - writeJSON = name: value: pkgs.writeText name (toJSON value); - - writeNixFromCabal = - trace (toString [ - "The function `writeNixFromCabal` has been deprecated in favour of" - "`writeHaskell`." - ]) - (name: path: pkgs.runCommand name {} /* sh */ '' - ${pkgs.cabal2nix}/bin/cabal2nix ${path} > $out - ''); - - writePython2 = name: src: pkgs.runCommand name {} /* sh */ '' - name=${assert types.filename.check name; name} - src=${shell.escape src} - - # syntax check - printf '%s' "$src" > src.py - ${pkgs.python2}/bin/python -m py_compile src.py - - cp src.py "$out" - ''; - - writePython3 = name: src: pkgs.runCommand name {} /* sh */ '' - name=${assert types.filename.check name; name} - src=${shell.escape src} - - # syntax check - printf '%s' "$src" > src.py - ${pkgs.python3}/bin/python -m py_compile src.py - - cp src.py "$out" - ''; - - writeSed = makeScriptWriter "${pkgs.gnused}/bin/sed -f"; -} diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix index e01b6e804..8bb244cd3 100644 --- a/krebs/5pkgs/default.nix +++ b/krebs/5pkgs/default.nix @@ -1,13 +1,16 @@ { config, lib, pkgs, ... }@args: with import ; { - nixpkgs.config.packageOverrides = pkgs: let + imports = [ + ./writers.nix + ]; + nixpkgs.config.packageOverrides = oldpkgs: let # This callPackage will try to detect obsolete overrides. callPackage = path: args: let override = pkgs.callPackage path args; upstream = optionalAttrs (override ? "name") - (pkgs.${(parseDrvName override.name).name} or {}); + (oldpkgs.${(parseDrvName override.name).name} or {}); in if upstream ? "name" && override ? "name" && compareVersions upstream.name override.name != -1 @@ -15,14 +18,13 @@ with import ; else override; in {} - // import ./builders.nix args // mapAttrs (_: flip callPackage {}) (filterAttrs (_: dir: pathExists (dir + "/default.nix")) (subdirsOf ./.)) // { empty = pkgs.runCommand "empty-1.0.0" {} "mkdir $out"; - haskellPackages = pkgs.haskellPackages.override { + haskellPackages = oldpkgs.haskellPackages.override { overrides = self: super: mapAttrs (name: path: self.callPackage path {}) (mapAttrs' @@ -45,17 +47,15 @@ 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.writeDashBin "proot" '' + export PROOT_NO_SECCOMP=1 + exec ${oldpkgs.proot}/bin/proot "$@" + ''; # XXX symlinkJoin changed arguments somewhere around nixpkgs d541e0d symlinkJoin = { name, paths, ... }@args: let - x = pkgs.symlinkJoin args; - in if typeOf x != "lambda" then x else pkgs.symlinkJoin name paths; + x = oldpkgs.symlinkJoin args; + in if typeOf x != "lambda" then x else oldpkgs.symlinkJoin name paths; test = { infest-cac-centos7 = callPackage ./test/infest-cac-centos7 {}; 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 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; - }; -} 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 = { }; 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"; - }; - } -] diff --git a/krebs/5pkgs/writers.nix b/krebs/5pkgs/writers.nix new file mode 100644 index 000000000..fe8fe5d72 --- /dev/null +++ b/krebs/5pkgs/writers.nix @@ -0,0 +1,301 @@ +{ pkgs, ... }: +with import ; +{ + nixpkgs.config.packageOverrides = _: { + execve = name: { filename, argv ? null, envp ? {}, destination ? "" }: let + in pkgs.writeC name { inherit destination; } /* c */ '' + #include + + static char *const filename = ${toC filename}; + + ${if argv == null + then /* Propagate arguments */ /* c */ '' + #define MAIN_ARGS int argc, char **argv + '' + else /* Provide fixed arguments */ /* c */ '' + #define MAIN_ARGS void + static char *const argv[] = ${toC (argv ++ [null])}; + ''} + + static char *const envp[] = ${toC ( + mapAttrsToList (k: v: "${k}=${v}") envp ++ [null] + )}; + + int main (MAIN_ARGS) { + execve(filename, argv, envp); + return -1; + } + ''; + + execveBin = name: cfg: + pkgs.execve name (cfg // { destination = "/bin/${name}"; }); + + makeScriptWriter = interpreter: name: text: + assert (with types; either absolute-pathname filename).check name; + pkgs.writeOut (baseNameOf name) { + ${optionalString (types.absolute-pathname.check name) name} = { + executable = true; + text = "#! ${interpreter}\n${text}"; + }; + }; + + writeBash = name: text: + assert (with types; either absolute-pathname filename).check name; + pkgs.writeOut (baseNameOf name) { + ${optionalString (types.absolute-pathname.check name) name} = { + check = pkgs.writeDash "shellcheck.sh" '' + ${pkgs.haskellPackages.ShellCheck}/bin/shellcheck "$1" || : + ''; + executable = true; + text = "#! ${pkgs.bash}/bin/bash\n${text}"; + }; + }; + + writeBashBin = name: + assert types.filename.check name; + pkgs.writeBash "/bin/${name}"; + + writeC = name: { destination ? "" }: text: pkgs.runCommand name { + inherit text; + passAsFile = [ "text" ]; + } /* sh */ '' + PATH=${makeBinPath (with pkgs; [ + binutils + coreutils + gcc + ])} + exe=$out${destination} + mkdir -p "$(dirname "$exe")" + gcc -O -Wall -o "$exe" -x c "$textPath" + strip --strip-unneeded "$exe" + ''; + + writeDash = pkgs.makeScriptWriter "${pkgs.dash}/bin/dash"; + + writeDashBin = name: + assert types.filename.check name; + pkgs.writeDash "/bin/${name}"; + + writeEximConfig = name: text: pkgs.runCommand name { + inherit text; + passAsFile = [ "text" ]; + } /* sh */ '' + # TODO validate exim config even with config.nix.useChroot == true + # currently doing so will fail because "user exim was not found" + #${pkgs.exim}/bin/exim -C "$textPath" -bV >/dev/null + mv "$textPath" $out + ''; + + writeOut = name: specs0: + let + writers.link = + { path + , link + }: + assert path == "" || types.absolute-pathname.check path; + assert types.package.check link; + { + install = /* sh */ '' + ${optionalString (dirOf path != "/") /* sh */ '' + ${pkgs.coreutils}/bin/mkdir -p $out${dirOf path} + ''} + ${pkgs.coreutils}/bin/ln -s ${link} $out${path} + ''; + }; + + writers.text = + { path + , check ? null + , executable ? false + , mode ? if executable then "0755" else "0644" + , text + }: + assert path == "" || types.absolute-pathname.check path; + assert types.bool.check executable; + assert types.file-mode.check mode; + rec { + var = "file_${hashString "sha1" path}"; + val = text; + install = /* sh */ '' + ${optionalString (check != null) /* sh */ '' + ${check} ''$${var}Path + ''} + ${pkgs.coreutils}/bin/install \ + -m ${mode} \ + -D \ + ''$${var}Path $out${path} + ''; + }; + + write = spec: writers.${spec.type} (removeAttrs spec ["type"]); + + specs = + mapAttrsToList + (path: spec: let + known-types = [ "link" "text" ]; + found-types = attrNames (getAttrs known-types spec); + type = assert length found-types == 1; head found-types; + in spec // { inherit path type; }) + specs0; + + files = map write specs; + + filevars = genAttrs' (filter (hasAttr "var") files) + (spec: nameValuePair spec.var spec.val); + + env = filevars // { passAsFile = attrNames filevars; }; + in + pkgs.runCommand name env /* sh */ '' + set -efu + ${concatMapStringsSep "\n" (getAttr "install") files} + ''; + + writeHaskell = + k: + let + k' = parseDrvName k; + name = k'.name; + version = if k'.version != "" then k'.version else "0"; + in + { base-depends ? ["base"] + , executables ? {} + , ghc-options ? ["-Wall" "-O3" "-threaded" "-rtsopts"] + , haskellPackages ? pkgs.haskellPackages + , library ? null + , license ? "WTFPL" + }: + let + isExecutable = executables != {}; + isLibrary = library != null; + + cabal-file = pkgs.writeText "${name}-${version}.cabal" /* cabal */ '' + build-type: Simple + cabal-version: >= 1.2 + name: ${name} + version: ${version} + ${concatStringsSep "\n" (mapAttrsToList exe-section executables)} + ${optionalString isLibrary (lib-section library)} + ''; + + exe-install = + exe-name: + { file ? pkgs.writeText "${name}-${exe-name}.hs" text + , relpath ? "${exe-name}.hs" + , text + , ... }: + if types.filename.check exe-name + then /* sh */ "install -D ${file} $out/${relpath}" + else throw "argument ‘exe-name’ is not a ${types.filename.name}"; + + exe-section = + exe-name: + { build-depends ? base-depends ++ extra-depends + , extra-depends ? [] + , file ? pkgs.writeText "${name}-${exe-name}.hs" text + , relpath ? "${exe-name}.hs" + , text + , ... }: /* cabal */ '' + executable ${exe-name} + build-depends: ${concatStringsSep "," build-depends} + ghc-options: ${toString ghc-options} + main-is: ${relpath} + ''; + + get-depends = + { build-depends ? base-depends ++ extra-depends + , extra-depends ? [] + , ... + }: + build-depends; + + lib-install = + { exposed-modules + , ... }: + concatStringsSep "\n" (mapAttrsToList mod-install exposed-modules); + + lib-section = + { build-depends ? base-depends ++ extra-depends + , extra-depends ? [] + , exposed-modules + , ... }: /* cabal */ '' + library + build-depends: ${concatStringsSep "," build-depends} + ghc-options: ${toString ghc-options} + exposed-modules: ${concatStringsSep "," (attrNames exposed-modules)} + ''; + + mod-install = + mod-name: + { file ? pkgs.writeText "${name}-${mod-name}.hs" text + , relpath ? "${replaceStrings ["."] ["/"] mod-name}.hs" + , text + , ... }: + if types.haskell.modid.check mod-name + then /* sh */ "install -D ${file} $out/${relpath}" + else throw "argument ‘mod-name’ is not a ${types.haskell.modid.name}"; + in + haskellPackages.mkDerivation { + inherit isExecutable isLibrary license version; + executableHaskellDepends = + attrVals + (concatMap get-depends (attrValues executables)) + haskellPackages; + libraryHaskellDepends = + attrVals + (optionals isLibrary (get-depends library)) + haskellPackages; + pname = name; + src = pkgs.runCommand "${name}-${version}-src" {} /* sh */ '' + install -D ${cabal-file} $out/${cabal-file.name} + ${optionalString isLibrary (lib-install library)} + ${concatStringsSep "\n" (mapAttrsToList exe-install executables)} + ''; + }; + + writeJq = name: text: + assert (with types; either absolute-pathname filename).check name; + pkgs.writeOut (baseNameOf name) { + ${optionalString (types.absolute-pathname.check name) name} = { + check = pkgs.writeDash "jqcheck.sh" '' + exec ${pkgs.jq}/bin/jq -f "$1" -n + ''; + inherit text; + }; + }; + + writeJSON = name: value: pkgs.writeText name (toJSON value); + + writeNixFromCabal = + trace (toString [ + "The function `writeNixFromCabal` has been deprecated in favour of" + "`writeHaskell`." + ]) + (name: path: pkgs.runCommand name {} /* sh */ '' + ${pkgs.cabal2nix}/bin/cabal2nix ${path} > $out + ''); + + writePython2 = name: text: + assert (with types; either absolute-pathname filename).check name; + pkgs.writeOut (baseNameOf name) { + ${optionalString (types.absolute-pathname.check name) name} = { + check = pkgs.writeDash "python2check.sh" '' + exec ${pkgs.python2}/bin/python -m py_compile "$1" + ''; + inherit text; + }; + }; + + writePython3 = name: text: + assert (with types; either absolute-pathname filename).check name; + pkgs.writeOut (baseNameOf name) { + ${optionalString (types.absolute-pathname.check name) name} = { + check = pkgs.writeDash "python3check.sh" '' + exec ${pkgs.python3}/bin/python -m py_compile "$textPath" + ''; + inherit text; + }; + }; + + writeSed = pkgs.makeScriptWriter "${pkgs.gnused}/bin/sed -f"; + }; +} 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; } + ]; + }; + }; + } + ]; +} 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"; }; } { 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 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"; diff --git a/lass/2configs/mail.nix b/lass/2configs/mail.nix index 872acc003..e4b319528 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/mutt/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 { diff --git a/lass/2configs/monitoring/client.nix b/lass/2configs/monitoring/client.nix index e879d6960..e2b7dcae6 100644 --- a/lass/2configs/monitoring/client.nix +++ b/lass/2configs/monitoring/client.nix @@ -1,94 +1,35 @@ {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]] - '' - '' - [[inputs.dns_query]] - servers = ["8.8.8.8"] - '' - ]; + extraConfig = { + agent.interval = "1s"; + outputs = { + influxdb = { + urls = ["http://prism:8086"]; + database = "telegraf_db"; + user_agent = "telegraf"; + }; + }; + inputs = { + cpu = { + percpu = false; + totalcpu = true; + }; + mem = {}; + net = {}; + }; + }; }; - systemd.services.telegraf.path = with pkgs; [ - iputils - lm_sensors - ]; - services.collectd = { + services.journalbeat = { 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" - + output.elasticsearch: + hosts: ["prism:9200"] + template.enabled: false ''; }; } diff --git a/lass/2configs/monitoring/server.nix b/lass/2configs/monitoring/server.nix index 2e1c15ca1..bbae4511e 100644 --- a/lass/2configs/monitoring/server.nix +++ b/lass/2configs/monitoring/server.nix @@ -1,15 +1,14 @@ {pkgs, config, ...}: with import ; { - services.influxdb = { - enable = true; - }; + services.influxdb.enable = true; services.influxdb.extraConfig = { meta.hostname = config.krebs.build.host.name; # meta.logging-enabled = true; http.bind-address = ":8086"; admin.bind-address = ":8083"; + http.log-enabled = false; monitoring = { enabled = false; # write-interval = "24h"; @@ -22,45 +21,79 @@ with import ; }]; }; - lass.kapacitor = + krebs.kapacitor = let + db = "telegraf_db"; echoToIrc = pkgs.writeDash "echo_irc" '' set -euf 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; alarms = { - test2 = '' - batch - |query(${"'''"} - SELECT mean("usage_user") AS mean - FROM "${config.lass.kapacitor.check_db}"."default"."cpu" - ${"'''"}) - .every(3m) - .period(1m) - .groupBy('host') - |alert() - .crit(lambda: "mean" > 90) - // Whenever we get an alert write it to a file. - .log('/tmp/alerts.log') - .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}') + ''; + }; }; }; - 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"; } + ]; } 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 diff --git a/lass/2configs/nixpkgs.nix b/lass/2configs/nixpkgs.nix index 4a1b0379b..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 = "5fff5a902594b34471b613eb2babcec923e1e1f1"; + ref = "f7b7d8e"; }; } diff --git a/lass/2configs/repo-sync.nix b/lass/2configs/repo-sync.nix index b1a26b171..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" = { @@ -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") 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"; diff --git a/lass/3modules/default.nix b/lass/3modules/default.nix index 2bf2df8b3..959c9d1b4 100644 --- a/lass/3modules/default.nix +++ b/lass/3modules/default.nix @@ -6,10 +6,7 @@ _: ./hosts.nix ./mysql-backup.nix ./umts.nix - ./urxvtd.nix ./usershadow.nix ./xresources.nix - ./kapacitor.nix - ./telegraf.nix ]; } diff --git a/lass/3modules/kapacitor.nix b/lass/3modules/kapacitor.nix deleted file mode 100644 index 299a56d92..000000000 --- a/lass/3modules/kapacitor.nix +++ /dev/null @@ -1,143 +0,0 @@ -{ config, lib, pkgs, ... }: - -with builtins; -with lib; - -let - cfg = config.lass.kapacitor; - - out = { - options.lass.kapacitor = api; - config = mkIf cfg.enable imp; - }; - - api = { - enable = mkEnableOption "kapacitor"; - dataDir = mkOption { - type = types.str; - default = "/var/lib/kapacitor"; - }; - user = mkOption { - type = types.str; - default = "kapacitor"; - }; - logLevel = mkOption { - type = types.enum ["DEBUG" "INFO" "WARN" "ERROR" "OFF"]; - default = "INFO"; - }; - alarms = mkOption { - type = with types; attrsOf str; - 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"; - }; - }; - - configFile = pkgs.writeText "kapacitor.conf" cfg.config; - - imp = { - - systemd.services.kapacitor = { - description = "kapacitor"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - - restartIfChanged = true; - - serviceConfig = { - Restart = "always"; - ExecStart = "${pkgs.kapacitor}/bin/kapacitord -config ${configFile}"; - }; - }; - - systemd.services.kapacitor-alarms = { - description = "kapacitor-alarms"; - after = [ "kapacitor.service" ]; - wantedBy = [ "multi-user.target" ]; - - restartIfChanged = true; - - serviceConfig = { - Type = "oneshot"; - 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 - ${pkgs.kapacitor}/bin/kapacitor enable ${name} - '') cfg.alarms)} - ''; - }; - }; - - }; - -in out 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 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); - }; -} 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) 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;