summary refs log tree commit diff
path: root/pkgs/applications/networking/cluster
diff options
context:
space:
mode:
authorvolth <volth@webmaster.ms>2018-06-15 23:11:46 +0000
committerGitHub <noreply@github.com>2018-06-15 23:11:46 +0000
commit7aa95b1c54ab6c6a7804183311ee494b2d06bd20 (patch)
tree9764da22fae5f9e705dfe780c85cbc3f82fc0dc8 /pkgs/applications/networking/cluster
parent50bf6f4a9c18790689088a2927fc7fdbf849e47d (diff)
parent07d23845c319a260f101ee825ed9402ff117e87e (diff)
downloadnixlib-7aa95b1c54ab6c6a7804183311ee494b2d06bd20.tar
nixlib-7aa95b1c54ab6c6a7804183311ee494b2d06bd20.tar.gz
nixlib-7aa95b1c54ab6c6a7804183311ee494b2d06bd20.tar.bz2
nixlib-7aa95b1c54ab6c6a7804183311ee494b2d06bd20.tar.lz
nixlib-7aa95b1c54ab6c6a7804183311ee494b2d06bd20.tar.xz
nixlib-7aa95b1c54ab6c6a7804183311ee494b2d06bd20.tar.zst
nixlib-7aa95b1c54ab6c6a7804183311ee494b2d06bd20.zip
Merge branch 'master' into hadoop_2_7-3_0
Diffstat (limited to 'pkgs/applications/networking/cluster')
-rw-r--r--pkgs/applications/networking/cluster/chronos/chronos-deps.nix2
-rw-r--r--pkgs/applications/networking/cluster/click/default.nix28
-rw-r--r--pkgs/applications/networking/cluster/cni/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix33
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/kvm2.nix36
-rw-r--r--pkgs/applications/networking/cluster/flink/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix15
-rw-r--r--pkgs/applications/networking/cluster/helmfile/default.nix24
-rw-r--r--pkgs/applications/networking/cluster/heptio-ark/default.nix25
-rw-r--r--pkgs/applications/networking/cluster/kompose/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kontemplate/default.nix41
-rw-r--r--pkgs/applications/networking/cluster/kontemplate/deps.nix93
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/kubecfg/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix22
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix34
-rw-r--r--pkgs/applications/networking/cluster/mesos/mesos-deps.nix2
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix57
-rw-r--r--pkgs/applications/networking/cluster/minikube/localkube.patch20
-rw-r--r--pkgs/applications/networking/cluster/nomad/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix63
-rw-r--r--pkgs/applications/networking/cluster/panamax/api/Gemfile23
-rw-r--r--pkgs/applications/networking/cluster/panamax/api/Gemfile.lock164
-rw-r--r--pkgs/applications/networking/cluster/panamax/api/default.nix73
-rw-r--r--pkgs/applications/networking/cluster/panamax/api/gemset.nix568
-rw-r--r--pkgs/applications/networking/cluster/panamax/ui/Gemfile31
-rw-r--r--pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock226
-rw-r--r--pkgs/applications/networking/cluster/panamax/ui/default.nix71
-rw-r--r--pkgs/applications/networking/cluster/panamax/ui/gemset.nix789
-rw-r--r--pkgs/applications/networking/cluster/pig/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix28
-rw-r--r--pkgs/applications/networking/cluster/taktuk/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform-landscape/Gemfile2
-rw-r--r--pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock25
-rw-r--r--pkgs/applications/networking/cluster/terraform-landscape/default.nix19
-rw-r--r--pkgs/applications/networking/cluster/terraform-landscape/gemset.nix61
-rw-r--r--pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix38
-rw-r--r--pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix47
-rw-r--r--pkgs/applications/networking/cluster/terraform-provider-libvirt/deps.nix12
-rw-r--r--pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix23
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix22
-rw-r--r--pkgs/applications/networking/cluster/terraform/providers/data.nix181
-rw-r--r--pkgs/applications/networking/cluster/terraform/providers/default.nix8
-rwxr-xr-xpkgs/applications/networking/cluster/terraform/providers/update-all2
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/deps.nix36
48 files changed, 730 insertions, 2279 deletions
diff --git a/pkgs/applications/networking/cluster/chronos/chronos-deps.nix b/pkgs/applications/networking/cluster/chronos/chronos-deps.nix
index 1caf1ce0bc8e..aac0dd10e15a 100644
--- a/pkgs/applications/networking/cluster/chronos/chronos-deps.nix
+++ b/pkgs/applications/networking/cluster/chronos/chronos-deps.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   outputHashMode = "recursive";
   outputHash = "0mm2sb1p5zz6b0z2s4zhdlix6fafydsxmqjy8zbkwzw4f6lazzyl";
 
-  buildInputs = [ curl ];
+  nativeBuildInputs = [ curl ];
 
   impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
 }
diff --git a/pkgs/applications/networking/cluster/click/default.nix b/pkgs/applications/networking/cluster/click/default.nix
new file mode 100644
index 000000000000..7fd4cd9fa824
--- /dev/null
+++ b/pkgs/applications/networking/cluster/click/default.nix
@@ -0,0 +1,28 @@
+{ darwin, fetchFromGitHub, rustPlatform, stdenv }:
+
+with rustPlatform;
+
+buildRustPackage rec {
+  name = "click-${version}";
+  version = "0.3.1";
+  rev = "b5dfb4a8f8344330a098cb61523695dfe0fd296a";
+
+  src = fetchFromGitHub {
+    owner = "databricks";
+    repo = "click";
+    sha256 = "0a2hq4hcxkkx7gs5dv7sr3j5jy2dby4r6y090z7zl2xy5wydr7bi";
+    inherit rev;
+  };
+
+  cargoSha256 = "03vgbkv9xsnx44vivbbhjgxv9drp0yjnimgy6hwm32x74r00k3hj";
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+
+  meta = with stdenv.lib; {
+    description = ''The "Command Line Interactive Controller for Kubernetes"'';
+    homepage = https://github.com/databricks/click;
+    license = [ licenses.asl20 ];
+    maintainers = [ maintainers.mbode ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/cni/default.nix b/pkgs/applications/networking/cluster/cni/default.nix
index a7205f1bc7af..0f232772f076 100644
--- a/pkgs/applications/networking/cluster/cni/default.nix
+++ b/pkgs/applications/networking/cluster/cni/default.nix
@@ -2,28 +2,25 @@
 
 stdenv.mkDerivation rec {
   name = "cni-${version}";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "cni";
     rev = "v${version}";
-    sha256 = "0n2sc5xf1h0i54am80kj7imrvawddn0kxvgi65w0194dpmyrg5al";
+    sha256 = "00ajs2r5r2z3l0vqwxrcwhjfc9px12qbcv5vnvs2mdipvvls1y2y";
   };
 
   buildInputs = [ go ];
 
-  outputs = ["out" "plugins"];
-
   buildPhase = ''
     patchShebangs build.sh
     ./build.sh
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $plugins
+    mkdir -p $out/bin
     mv bin/cnitool $out/bin
-    mv bin/* $plugins/
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
new file mode 100644
index 000000000000..8a006edda6a8
--- /dev/null
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, fetchFromGitHub, go }:
+
+stdenv.mkDerivation rec {
+  name = "cni-plugins-${version}";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "containernetworking";
+    repo = "plugins";
+    rev = "v${version}";
+    sha256 = "1sywllwnr6lc812sgkqjdd3y10r82shl88dlnwgnbgzs738q2vp2";
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    patchShebangs build.sh
+    ./build.sh
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv bin/* $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Some standard networking plugins, maintained by the CNI team";
+    homepage = https://github.com/containernetworking/plugins;
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/docker-machine/default.nix b/pkgs/applications/networking/cluster/docker-machine/default.nix
index cc69be36e371..d67d9d5851cf 100644
--- a/pkgs/applications/networking/cluster/docker-machine/default.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/default.nix
@@ -3,7 +3,7 @@
 
 buildGoPackage rec {
   name = "machine-${version}";
-  version = "0.13.0";
+  version = "0.14.0";
 
   goPackagePath = "github.com/docker/machine";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "docker";
     repo = "machine";
-    sha256 = "1bqblgz2avrvp9xv6rlvgl0xh2ghpml3a00xhq3mmzkznayw6chq";
+    sha256 = "0hd5sklmvkhhpfn318hq9w0f7x14165h1l2mdn9iv4447z1iibff";
   };
 
   postInstall = ''
diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
new file mode 100644
index 000000000000..fd067936efdf
--- /dev/null
+++ b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
@@ -0,0 +1,36 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig }:
+
+buildGoPackage rec {
+  pname = "docker-machine-kvm2";
+  name = "${pname}-${version}";
+  version = "0.27.0";
+
+  goPackagePath = "k8s.io/minikube";
+  subPackages = [ "cmd/drivers/kvm" ];
+
+  src = fetchFromGitHub {
+    owner = "kubernetes";
+    repo = "minikube";
+    rev = "v${version}";
+    sha256 = "00gj8x5p0vxwy0y0g5nnddmq049h7zxvhb73lb4gii5mghr9mkws";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libvirt ];
+
+  preBuild = ''
+    export buildFlagsArray=(-ldflags="-X k8s.io/minikube/pkg/drivers/kvm/version.VERSION=v${version}")
+  '';
+
+  postInstall = ''
+    mv $bin/bin/kvm $bin/bin/docker-machine-driver-kvm2
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/kubernetes/minikube/blob/master/docs/drivers.md;
+    description = "KVM2 driver for docker-machine.";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ tadfisher ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/flink/default.nix b/pkgs/applications/networking/cluster/flink/default.nix
index bc8684da7679..f394df3391ac 100644
--- a/pkgs/applications/networking/cluster/flink/default.nix
+++ b/pkgs/applications/networking/cluster/flink/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, jre
-, version ? "1.3" }:
+, version ? "1.4" }:
 
 let
   versionMap = {
@@ -7,6 +7,13 @@ let
       flinkVersion = "1.3.2";
       scalaVersion = "2.11";
       sha256 = "0mf4qz0963bflzidgslvwpdlvj9za9sj20dfybplw9lhd4sf52rp";
+      hadoopBundle = "-hadoop27";
+    };
+    "1.4" = {
+      flinkVersion = "1.4.2";
+      scalaVersion = "2.11";
+      sha256 = "0x3cikys5brin0kx9zr69xfp8k5w6g8141yrrr26ks7gpss2x636";
+      hadoopBundle = "";
     };
   };
 in
@@ -17,7 +24,7 @@ stdenv.mkDerivation rec {
   name = "flink-${flinkVersion}";
 
   src = fetchurl {
-    url = "mirror://apache/flink/${name}/${name}-bin-hadoop27-scala_${scalaVersion}.tgz";
+    url = "mirror://apache/flink/${name}/${name}-bin${hadoopBundle}-scala_${scalaVersion}.tgz";
     inherit sha256;
   };
 
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index 768712a3b673..6f4bc17f8b50 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, which, maven, cmake, jre, bash, coreutils, glibc, protobuf2_5, fuse, snappy, zlib, bzip2, openssl }:
 
-
 let
   common = { version, sha256, dependencies-sha256, tomcat }:
     let
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 408019eeb4b2..ae9dc3bbc34a 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchurl, kubernetes }:
+{ stdenv, fetchurl, kubectl }:
 let
-  arch = if stdenv.isLinux
+  isLinux = stdenv.isLinux;
+  arch = if isLinux
          then "linux-amd64"
          else "darwin-amd64";
-  checksum = if stdenv.isLinux
-             then "9f04c4824fc751d6c932ae5b93f7336eae06e78315352aa80241066aa1d66c49"
-             else "5058142bcd6e16b7e01695a8f258d27ae0b6469caf227ddf6aa2181405e6aa8e";
+  checksum = if isLinux
+             then "0bnjpiivhsxhl45ab32vzf6crv4z8nbq5kcjkvlbcbswdbgp0pq6"
+             else "0smwhj4pmd4k7csz82akbkrkb0j2jxnmb33ifhkqw7n33jhl3aqp";
   pname = "helm";
-  version = "2.7.2";
+  version = "2.9.0";
 in
 stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -21,7 +22,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ ];
 
-  propagatedBuildInputs = [ kubernetes ];
+  propagatedBuildInputs = [ kubectl ];
 
   phases = [ "buildPhase" "installPhase" ];
 
diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix
new file mode 100644
index 000000000000..b1dcfb809b5d
--- /dev/null
+++ b/pkgs/applications/networking/cluster/helmfile/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoPackage, fetchFromGitHub, ... }:
+
+let version = "0.16.0"; in
+
+buildGoPackage {
+  name = "helmfile-${version}";
+
+  src = fetchFromGitHub {
+    owner = "roboll";
+    repo = "helmfile";
+    rev = "v${version}";
+    sha256 = "12gxlan89h0r83aaacshh58nd1pi26gx5gkna0ksll9wsfvraj4d";
+  };
+
+  goPackagePath = "github.com/roboll/helmfile";
+
+  meta = {
+    description = "Deploy Kubernetes Helm charts";
+    homepage = https://github.com/roboll/helmfile;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ pneumaticat ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/heptio-ark/default.nix b/pkgs/applications/networking/cluster/heptio-ark/default.nix
new file mode 100644
index 000000000000..d24c307fcce5
--- /dev/null
+++ b/pkgs/applications/networking/cluster/heptio-ark/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "heptio-ark-${version}";
+  version = "0.7.1";
+
+  goPackagePath = "github.com/heptio/ark";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "heptio";
+    repo = "ark";
+    sha256 = "0j3x9zxcffxhlw0fxq2cw9ph37bqw90cbmf9xshmnj8yl9rbxp7y";
+  };
+
+  postInstall = "rm $bin/bin/generate";
+
+  meta = with stdenv.lib; {
+    description = "A utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes";
+    homepage = https://heptio.github.io/ark/;
+    license = licenses.asl20;
+    maintainers = [maintainers.mbode];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kompose/default.nix b/pkgs/applications/networking/cluster/kompose/default.nix
index b2c97d1ea396..ff0f664154aa 100644
--- a/pkgs/applications/networking/cluster/kompose/default.nix
+++ b/pkgs/applications/networking/cluster/kompose/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "kompose-${version}";
-  version = "1.5.0";
+  version = "1.9.0";
 
   goPackagePath = "github.com/kubernetes/kompose";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "kubernetes";
     repo = "kompose";
-    sha256 = "1r5f8jbr2c1xxb5fpfgy23w4m30zahhmrw23jlk1hpx2w1pi1iyh";
+    sha256 = "00yvih5gn67sw9v30a0rpaj1zag7k02i4biw1p37agxih0aphc86";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/kontemplate/default.nix b/pkgs/applications/networking/cluster/kontemplate/default.nix
index aa5f86633318..e5d649c68b79 100644
--- a/pkgs/applications/networking/cluster/kontemplate/default.nix
+++ b/pkgs/applications/networking/cluster/kontemplate/default.nix
@@ -1,26 +1,35 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "kontemplate-${version}";
-  version = "1.3.0";
-
+  name          = "kontemplate-${version}";
+  version       = "1.6.0";
   goPackagePath = "github.com/tazjin/kontemplate";
+  goDeps        = ./deps.nix;
 
   src = fetchFromGitHub {
-    rev = "v${version}";
-    owner = "tazjin";
-    repo = "kontemplate";
-    sha256 = "0g9hs9gwwkng9vbnv07ibhll0kggdprffpmhlbz9nmv81w2z3myi";
+    owner  = "tazjin";
+    repo   = "kontemplate";
+    rev    = "v${version}";
+    sha256 = "06qcf2cxs686kd7iqccmqd5chdzxgbkav95byjim7sgvq9qjajfi";
   };
 
-  goDeps = ./deps.nix;
-
-  meta = with stdenv.lib; {
-    description = "Extremely simple Kubernetes resource templates";
-    homepage = http://kontemplate.works;
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ mbode ];
-    platforms = platforms.unix;
+  meta = with lib; {
+    description      = "Extremely simple Kubernetes resource templates";
+    homepage         = "http://kontemplate.works";
+    downloadPage     = "https://github.com/tazjin/kontemplate/releases";
+    license          = licenses.gpl3;
+    maintainers      = with maintainers; [ mbode tazjin ];
+    platforms        = platforms.unix;
     repositories.git = git://github.com/tazjin/kontemplate.git;
+
+    longDescription = ''
+      Kontemplate is a simple CLI tool that can take sets of
+      Kubernetes resource files with placeholders and insert values
+      per environment.
+
+      It can be used as a simple way of deploying the same set of
+      resources to different Kubernetes contexts with context-specific
+      configuration.
+    '';
   };
 }
diff --git a/pkgs/applications/networking/cluster/kontemplate/deps.nix b/pkgs/applications/networking/cluster/kontemplate/deps.nix
index 1d6dfb3e64f5..db2692a79e72 100644
--- a/pkgs/applications/networking/cluster/kontemplate/deps.nix
+++ b/pkgs/applications/networking/cluster/kontemplate/deps.nix
@@ -3,118 +3,109 @@
   {
     goPackagePath = "github.com/Masterminds/semver";
     fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/semver";
-      rev = "15d8430ab86497c5c0da827b748823945e1cf1e1";
-      sha256 = "0q5w6mjr1zws04z7x1ax1hp1zxdc4mbm9zsikgd6fv0c9ndnjr3q";
+      type   = "git";
+      url    = "https://github.com/Masterminds/semver";
+      rev    = "517734cc7d6470c0d07130e40fd40bdeb9bcd3fd";
+      sha256 = "1625b5sxpmlz60jw67j1ljfcc09d4lhxg3z6gc4am8s2rrdgwij6";
     };
   }
   {
     goPackagePath = "github.com/Masterminds/sprig";
     fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/sprig";
-      rev = "b217b9c388de2cacde4354c536e520c52c055563";
-      sha256 = "1f41v3c8c7zagc4qjhcb6nwkvi8nzvf70f89a7ss2m6krkxz0m2a";
+      type   = "git";
+      url    = "https://github.com/Masterminds/sprig";
+      rev    = "e039e20e500c2c025d9145be375e27cf42a94174";
+      sha256 = "1yhpyzq6ghwl0242phjpbc9358fcw63pxrcxsyv9n4dm0w15va3m";
     };
   }
   {
     goPackagePath = "github.com/alecthomas/template";
     fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/template";
-      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
+      type   = "git";
+      url    = "https://github.com/alecthomas/template";
+      rev    = "a0175ee3bccc567396460bf5acd36800cb10c49c";
       sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
     };
   }
   {
     goPackagePath = "github.com/alecthomas/units";
     fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/units";
-      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
+      type   = "git";
+      url    = "https://github.com/alecthomas/units";
+      rev    = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
       sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
     };
   }
   {
     goPackagePath = "github.com/aokoli/goutils";
     fetch = {
-      type = "git";
-      url = "https://github.com/aokoli/goutils";
-      rev = "3391d3790d23d03408670993e957e8f408993c34";
+      type   = "git";
+      url    = "https://github.com/aokoli/goutils";
+      rev    = "3391d3790d23d03408670993e957e8f408993c34";
       sha256 = "1yj4yjfwylica31sgj69ygb04p9xxi22kgfxd0j5f58zr8vwww2n";
     };
   }
   {
     goPackagePath = "github.com/ghodss/yaml";
     fetch = {
-      type = "git";
-      url = "https://github.com/ghodss/yaml";
-      rev = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7";
+      type   = "git";
+      url    = "https://github.com/ghodss/yaml";
+      rev    = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7";
       sha256 = "0skwmimpy7hlh7pva2slpcplnm912rp3igs98xnqmn859kwa5v8g";
     };
   }
   {
     goPackagePath = "github.com/huandu/xstrings";
     fetch = {
-      type = "git";
-      url = "https://github.com/huandu/xstrings";
-      rev = "37469d0c81a7910b49d64a0d308ded4823e90937";
-      sha256 = "18c2b4h7phdm71mn66x8bsmghjr1b2lpg07zcbgmab37y36bjl20";
+      type   = "git";
+      url    = "https://github.com/huandu/xstrings";
+      rev    = "3959339b333561bf62a38b424fd41517c2c90f40";
+      sha256 = "0f1jyd80grpr88gwhljx2x0xgsyzw07807n4z4axxxlybh5f0nh1";
     };
   }
   {
     goPackagePath = "github.com/imdario/mergo";
     fetch = {
-      type = "git";
-      url = "https://github.com/imdario/mergo";
-      rev = "7fe0c75c13abdee74b09fcacef5ea1c6bba6a874";
-      sha256 = "1hclh5kpg25s2llpk7j7sm3vf66xci5jchn8wzdcr5fj372ghsbd";
-    };
-  }
-  {
-    goPackagePath = "github.com/polydawn/meep";
-    fetch = {
-      type = "git";
-      url = "https://github.com/polydawn/meep";
-      rev = "eaf1db2168fe380b4da17a35f0adddb5ae15a651";
-      sha256 = "12n134fb2imnj67xkbznzm0gqkg36hdxwr960y91qb5s2q2krxir";
+      type   = "git";
+      url    = "https://github.com/imdario/mergo";
+      rev    = "d806ba8c21777d504a2090a2ca4913c750dd3a33";
+      sha256 = "12n3lfbfxvnag916c6dpxl48j29s482zwsqjc6wk4vb68qbz2nl3";
     };
   }
   {
     goPackagePath = "github.com/satori/go.uuid";
     fetch = {
-      type = "git";
-      url = "https://github.com/satori/go.uuid";
-      rev = "5bf94b69c6b68ee1b541973bb8e1144db23a194b";
+      type   = "git";
+      url    = "https://github.com/satori/go.uuid";
+      rev    = "5bf94b69c6b68ee1b541973bb8e1144db23a194b";
       sha256 = "0l782l4srv36pj8pfgn61996d0vjifld4a569rbjwq5h14pd0c07";
     };
   }
   {
     goPackagePath = "golang.org/x/crypto";
     fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "94eea52f7b742c7cbe0b03b22f0c4c8631ece122";
-      sha256 = "095zyvjb0m2pz382500miqadhk7w3nis8z3j941z8cq4rdafijvi";
+      type   = "git";
+      url    = "https://go.googlesource.com/crypto";
+      rev    = "ab89591268e0c8b748cbe4047b00197516011af5";
+      sha256 = "1cbg8wlv1hmdps9ksa4kym5zy0mb2yjykw4ns7yqv7nmz4s5xajr";
     };
   }
   {
     goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
     fetch = {
-      type = "git";
-      url = "https://gopkg.in/alecthomas/kingpin.v2";
-      rev = "1087e65c9441605df944fb12c33f0fe7072d18ca";
+      type   = "git";
+      url    = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev    = "1087e65c9441605df944fb12c33f0fe7072d18ca";
       sha256 = "18llqzkdqf62qbqcv2fd3j0igl6cwwn4dissf5skkvxrcxjcmmj0";
     };
   }
   {
     goPackagePath = "gopkg.in/yaml.v2";
     fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "287cf08546ab5e7e37d55a84f7ed3fd1db036de5";
-      sha256 = "15502klds9wwv567vclb9kx95gs8lnyzn4ybsk6l9fc7a67lk831";
+      type   = "git";
+      url    = "https://gopkg.in/yaml.v2";
+      rev    = "eb3733d160e74a9c7e442f435eb3bea458e1d19f";
+      sha256 = "1srhvcaa9db3a6xj29mkjr5kg33y71pclrlx4vcwz5m1lgb5c7q6";
     };
   }
 ]
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index 41099192176c..a1e17f60810d 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata  }:
+
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata }:
 
 buildGoPackage rec {
   name = "kops-${version}";
-  version = "1.8.0";
+  version = "1.9.0";
 
   goPackagePath = "k8s.io/kops";
 
@@ -10,7 +11,7 @@ buildGoPackage rec {
     rev = version;
     owner = "kubernetes";
     repo = "kops";
-    sha256 = "0vaa18vhwk132fv7i896513isp66wnz9gn0b5613n3x28q0gvkmg";
+    sha256 = "03avkm7gk2dqyvd7245qsca1sbhwk41j9yhc208gcmjgjhkx2vn7";
   };
 
   buildInputs = [go-bindata];
@@ -24,8 +25,7 @@ buildGoPackage rec {
 
   preBuild = ''
     (cd go/src/k8s.io/kops
-     go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...
-     go-bindata -o federation/model/bindata.go -pkg model -prefix federation/model federation/model/...)
+     go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...)
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/networking/cluster/kubecfg/default.nix b/pkgs/applications/networking/cluster/kubecfg/default.nix
index 7f17bd57c194..73a28325f52d 100644
--- a/pkgs/applications/networking/cluster/kubecfg/default.nix
+++ b/pkgs/applications/networking/cluster/kubecfg/default.nix
@@ -1,6 +1,6 @@
 { lib, buildGoPackage, fetchFromGitHub, ... }:
 
-let version = "0.5.0"; in
+let version = "0.6.0"; in
 
 buildGoPackage {
   name = "kubecfg-${version}";
@@ -9,7 +9,7 @@ buildGoPackage {
     owner = "ksonnet";
     repo = "kubecfg";
     rev = "v${version}";
-    sha256 = "1s8w133p8qkj3dr73jimajm9ddp678lw9k9symj8rjw5p35igr93";
+    sha256 = "12kv1p707kdxjx5l8rcikd1gjwp5xjxdmmyvlpnvyagrphgrwpsf";
   };
 
   goPackagePath = "github.com/ksonnet/kubecfg";
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index e8686ade5900..59b3ab7e8b4c 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync
+{ stdenv, lib, fetchFromGitHub, fetchpatch, removeReferencesTo, which, go_1_9, go-bindata, makeWrapper, rsync
 , iptables, coreutils
 , components ? [
     "cmd/kubeadm"
@@ -7,9 +7,7 @@
     "cmd/kube-apiserver"
     "cmd/kube-controller-manager"
     "cmd/kube-proxy"
-    "plugin/cmd/kube-scheduler"
-    "federation/cmd/federation-apiserver"
-    "federation/cmd/federation-controller-manager"
+    "cmd/kube-scheduler"
     "test/e2e/e2e.test"
   ]
 }:
@@ -18,16 +16,17 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "kubernetes-${version}";
-  version = "1.7.9";
+  version = "1.10.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "0lxagvv8mysw6n0vp5vsccl87b628dgsjrf298dx2dqx7wn7zjgi";
+    sha256 = "0q1llnqy83fkx3vhcfjyl3frd41h7g1cvl38lfhsz1z1v9av3bpd";
   };
 
-  buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
+  # Build using golang v1.9 in accordance with https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.10.md#external-dependencies
+  buildInputs = [ removeReferencesTo makeWrapper which go_1_9 rsync go-bindata ];
 
   outputs = ["out" "man" "pause"];
 
@@ -49,7 +48,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p "$out/bin" "$out/share/bash-completion/completions" "$man/share/man" "$pause/bin"
+    mkdir -p "$out/bin" "$out/share/bash-completion/completions" "$out/share/zsh/site-functions" "$man/share/man" "$pause/bin"
 
     cp _output/local/go/bin/* "$out/bin/"
     cp build/pause/pause "$pause/bin/pause"
@@ -60,17 +59,18 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/kube-addons --set "KUBECTL_BIN" "$out/bin/kubectl"
 
     $out/bin/kubectl completion bash > $out/share/bash-completion/completions/kubectl
+    $out/bin/kubectl completion zsh > $out/share/zsh/site-functions/_kubectl
   '';
 
   preFixup = ''
-    find $out/bin $pause/bin -type f -exec remove-references-to -t ${go} '{}' +
+    find $out/bin $pause/bin -type f -exec remove-references-to -t ${go_1_9} '{}' +
   '';
 
   meta = {
     description = "Production-Grade Container Scheduling and Management";
     license = licenses.asl20;
-    homepage = http://kubernetes.io;
-    maintainers = with maintainers; [offline];
+    homepage = https://kubernetes.io;
+    maintainers = with maintainers; [johanot offline];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index 6654ee89c806..961c0afc5c50 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -4,6 +4,7 @@
 , leveldb, glog, perf, utillinux, libnl, iproute, openssl, libevent
 , ethtool, coreutils, which, iptables, maven
 , bash, autoreconfHook
+, withJava ? !stdenv.isDarwin
 }:
 
 let
@@ -23,7 +24,7 @@ let
   });
 
 in stdenv.mkDerivation rec {
-  version = "1.4.0";
+  version = "1.4.1";
   name = "mesos-${version}";
 
   enableParallelBuilding = true;
@@ -31,7 +32,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://apache/mesos/${version}/${name}.tar.gz";
-    sha256 = "0c08kd226nrjwm2z2drpq4vi97h9r8b1xkdvkgh1114fxg7cyvys";
+    sha256 = "1c7l0rim9ija913gpppz2mcms08ywyqhlzbbspqsi7wwfdd7jwsr";
   };
 
   patches = [
@@ -46,11 +47,13 @@ in stdenv.mkDerivation rec {
     autoreconfHook
   ];
   buildInputs = [
-    makeWrapper curl sasl jdk
+    makeWrapper curl sasl
     python wrapPython boto setuptools leveldb
-    subversion apr glog openssl libevent maven
+    subversion apr glog openssl libevent
   ] ++ lib.optionals stdenv.isLinux [
     libnl
+  ] ++ lib.optionals withJava [
+    jdk maven
   ];
 
   propagatedBuildInputs = [
@@ -181,6 +184,7 @@ in stdenv.mkDerivation rec {
     "--with-libevent=${libevent.dev}"
     "--with-protobuf=${pythonProtobuf.protobuf}"
     "PROTOBUF_JAR=${mavenRepo}/com/google/protobuf/protobuf-java/3.3.0/protobuf-java-3.3.0.jar"
+    (if withJava then "--enable-java" else "--disable-java")
   ] ++ lib.optionals stdenv.isLinux [
     "--with-network-isolator"
     "--with-nl=${libnl.dev}"
@@ -190,16 +194,6 @@ in stdenv.mkDerivation rec {
     rm -rf $out/var
     rm $out/bin/*.sh
 
-    mkdir -p $out/share/java
-    cp src/java/target/mesos-*.jar $out/share/java
-
-    MESOS_NATIVE_JAVA_LIBRARY=$out/lib/libmesos${stdenv.hostPlatform.extensions.sharedLibrary}
-
-    mkdir -p $out/nix-support
-    touch $out/nix-support/setup-hook
-    echo "export MESOS_NATIVE_JAVA_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
-    echo "export MESOS_NATIVE_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
-
     # Inspired by: pkgs/development/python-modules/generic/default.nix
     pushd src/python
     mkdir -p $out/lib/${python.libPrefix}/site-packages
@@ -218,6 +212,16 @@ in stdenv.mkDerivation rec {
       --old-and-unmanageable \
       --prefix="$out"
     popd
+  '' + stdenv.lib.optionalString withJava ''
+    mkdir -p $out/share/java
+    cp src/java/target/mesos-*.jar $out/share/java
+
+    MESOS_NATIVE_JAVA_LIBRARY=$out/lib/libmesos${stdenv.hostPlatform.extensions.sharedLibrary}
+
+    mkdir -p $out/nix-support
+    touch $out/nix-support/setup-hook
+    echo "export MESOS_NATIVE_JAVA_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
+    echo "export MESOS_NATIVE_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
   '';
 
   postFixup = ''
@@ -248,6 +252,6 @@ in stdenv.mkDerivation rec {
     license     = licenses.asl20;
     description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
     maintainers = with maintainers; [ cstrahan kevincox offline ];
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/mesos/mesos-deps.nix b/pkgs/applications/networking/cluster/mesos/mesos-deps.nix
index 642c660edb69..1cf819870f4e 100644
--- a/pkgs/applications/networking/cluster/mesos/mesos-deps.nix
+++ b/pkgs/applications/networking/cluster/mesos/mesos-deps.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   outputHashMode = "recursive";
   outputHash = "10h0qs7svw0cqjkyxs8z6s3qraa8ga920zfrr59rdlanbwg4klly";
 
-  buildInputs = [ curl ];
+  nativeBuildInputs = [ curl ];
 
   impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
 }
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index f69b0e5eca9b..97bcb1bd1b4d 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -1,29 +1,12 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, fetchurl, go-bindata, kubernetes, libvirt, qemu, docker-machine-kvm,
-  gpgme, makeWrapper, hostPlatform, vmnet }:
+{ stdenv, buildGoPackage, fetchFromGitHub, fetchurl, go-bindata, libvirt, qemu, docker-machine-kvm,
+  gpgme, makeWrapper, hostPlatform, vmnet, python }:
 
-let
-  binPath = [ kubernetes ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ libvirt qemu docker-machine-kvm ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [];
+let binPath = stdenv.lib.optionals stdenv.isLinux [ libvirt qemu docker-machine-kvm ];
 
-  # Normally, minikube bundles localkube in its own binary via go-bindata. Unfortunately, it needs to make that localkube
-  # a static linux binary, and our Linux nixpkgs go compiler doesn't seem to work when asking for a cgo binary that's static
-  # (presumably because we don't have some static system libraries it wants), and cross-compiling cgo on Darwin is a nightmare.
-  #
-  # Note that minikube can download (and cache) versions of localkube it needs on demand. Unfortunately, minikube's knowledge
-  # of where it can download versions of localkube seems to rely on a json file that doesn't get updated as often as we'd like. So
-  # instead, we download localkube ourselves and shove it into the minikube binary. The versions URL that minikube uses is
-  # currently https://storage.googleapis.com/minikube/k8s_releases.json
-
-  localkube-version = "1.8.0";
-  localkube-binary = fetchurl {
-    url = "https://storage.googleapis.com/minikube/k8sReleases/v${localkube-version}/localkube-linux-amd64";
-    sha256 = "09mv1g9i0d14brvvp2wxgmfqvgp0na5dbm4z76a660q1fxszvgqc";
-  };
 in buildGoPackage rec {
   pname   = "minikube";
   name    = "${pname}-${version}";
-  version = "0.24.1";
+  version = "0.27.0";
 
   goPackagePath = "k8s.io/minikube";
 
@@ -31,45 +14,43 @@ in buildGoPackage rec {
     owner  = "kubernetes";
     repo   = "minikube";
     rev    = "v${version}";
-    sha256 = "18b5ic4lcn84hq2ji5alyx58x9vi0b03544i5xzfgn3h2k78kynk";
+    sha256 = "00gj8x5p0vxwy0y0g5nnddmq049h7zxvhb73lb4gii5mghr9mkws";
   };
 
-  patches = [
-    ./localkube.patch
-  ];
-
-  # kubernetes is here only to shut up a loud warning when generating the completions below. minikube checks very eagerly
-  # that kubectl is on the $PATH, even if it doesn't use it at all to generate the completions
-  buildInputs = [ go-bindata makeWrapper kubernetes gpgme ] ++ stdenv.lib.optional hostPlatform.isDarwin vmnet;
-  subPackages = [ "cmd/minikube" ];
+  buildInputs = [ go-bindata makeWrapper gpgme ] ++ stdenv.lib.optional hostPlatform.isDarwin vmnet;
+  subPackages = [ "cmd/minikube" ] ++ stdenv.lib.optional hostPlatform.isDarwin "cmd/drivers/hyperkit";
 
   preBuild = ''
     pushd go/src/${goPackagePath} >/dev/null
 
-    mkdir -p out
-    cp ${localkube-binary} out/localkube
-
-    go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets ./out/localkube deploy/addons/...
+    go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets deploy/addons/...
 
     ISO_VERSION=$(grep "^ISO_VERSION" Makefile | sed "s/^.*\s//")
     ISO_BUCKET=$(grep "^ISO_BUCKET" Makefile | sed "s/^.*\s//")
+    KUBERNETES_VERSION=$(${python}/bin/python hack/get_k8s_version.py --k8s-version-only 2>&1) || true
 
     export buildFlagsArray="-ldflags=\
       -X k8s.io/minikube/pkg/version.version=v${version} \
       -X k8s.io/minikube/pkg/version.isoVersion=$ISO_VERSION \
-      -X k8s.io/minikube/pkg/version.isoPath=$ISO_BUCKET"
+      -X k8s.io/minikube/pkg/version.isoPath=$ISO_BUCKET \
+      -X k8s.io/minikube/vendor/k8s.io/client-go/pkg/version.gitVersion=$KUBERNETES_VERSION \
+      -X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.gitVersion=$KUBERNETES_VERSION"
 
     popd >/dev/null
   '';
 
   postInstall = ''
     mkdir -p $bin/share/bash-completion/completions/
-    MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion bash > $bin/share/bash-completion/completions/minikube
+    MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTKUBECTLDOWNLOADMSG=false HOME=$PWD $bin/bin/minikube completion bash > $bin/share/bash-completion/completions/minikube
     mkdir -p $bin/share/zsh/site-functions/
-    MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion zsh > $bin/share/zsh/site-functions/_minikube
+    MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTKUBECTLDOWNLOADMSG=false HOME=$PWD $bin/bin/minikube completion zsh > $bin/share/zsh/site-functions/_minikube
   '';
 
-  postFixup = "wrapProgram $bin/bin/${pname} --prefix PATH : ${stdenv.lib.makeBinPath binPath}";
+  postFixup = ''
+    wrapProgram $bin/bin/${pname} --prefix PATH : $bin/bin:${stdenv.lib.makeBinPath binPath}
+  '' + stdenv.lib.optionalString hostPlatform.isDarwin ''
+    mv $bin/bin/hyperkit $bin/bin/docker-machine-driver-hyperkit
+  '';
 
   meta = with stdenv.lib; {
     homepage    = https://github.com/kubernetes/minikube;
diff --git a/pkgs/applications/networking/cluster/minikube/localkube.patch b/pkgs/applications/networking/cluster/minikube/localkube.patch
deleted file mode 100644
index 2d69cded555f..000000000000
--- a/pkgs/applications/networking/cluster/minikube/localkube.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/pkg/minikube/bootstrapper/localkube/localkube.go b/pkg/minikube/bootstrapper/localkube/localkube.go
-index 1c4b5000..c9f120d4 100644
---- a/pkg/minikube/bootstrapper/localkube/localkube.go
-+++ b/pkg/minikube/bootstrapper/localkube/localkube.go
-@@ -113,14 +113,9 @@ func (lk *LocalkubeBootstrapper) UpdateCluster(config bootstrapper.KubernetesCon
-
- 	copyableFiles := []assets.CopyableFile{}
- 	var localkubeFile assets.CopyableFile
--	var err error
-
- 	//add url/file/bundled localkube to file list
--	lCacher := localkubeCacher{config}
--	localkubeFile, err = lCacher.fetchLocalkubeFromURI()
--	if err != nil {
--		return errors.Wrap(err, "Error updating localkube from uri")
--	}
-+	localkubeFile = assets.NewBinDataAsset("out/localkube", "/usr/local/bin/", "localkube", "0777")
- 	copyableFiles = append(copyableFiles, localkubeFile)
-
- 	// user added files
diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix
index e39bc59709e5..8486f0d53067 100644
--- a/pkgs/applications/networking/cluster/nomad/default.nix
+++ b/pkgs/applications/networking/cluster/nomad/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "nomad-${version}";
-  version = "0.6.2";
+  version = "0.7.1";
   rev = "v${version}";
 
   goPackagePath = "github.com/hashicorp/nomad";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = "nomad";
     inherit rev;
-    sha256 = "12bxqn7yldri5cwyxybd1lwg4c66mxd7g9syf54va5788c0hj8ij";
+    sha256 = "0hn80dqzxkwvk1zjk6px725mb2i3c06smqfj0yyjz96vgf7qbqy2";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index fdc97733c773..6b6a2dc8986b 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -1,12 +1,24 @@
-{ stdenv, fetchFromGitHub, which, buildGoPackage, utillinux, coreutils }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, removeReferencesTo, which, go_1_9, go-bindata, makeWrapper, rsync, utillinux
+, iptables, coreutils, kerberos, clang
+, components ? [
+  "cmd/oc"
+  "cmd/openshift"
+  ]
+}:
+
+with lib;
 
 let
-  version = "3.6.0";
+  version = "3.9.0";
   ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version);
   versionMajor = ver 0;
   versionMinor = ver 1;
   versionPatch = ver 2;
-in buildGoPackage rec {
+  gitCommit = "191fece";
+  # version is in vendor/k8s.io/kubernetes/pkg/version/base.go
+  k8sversion = "v1.9.1";
+  k8sgitcommit = "a0ce1bc657";
+in stdenv.mkDerivation rec {
   name = "openshift-origin-${version}";
   inherit version;
 
@@ -14,40 +26,55 @@ in buildGoPackage rec {
     owner = "openshift";
     repo = "origin";
     rev = "v${version}";
-    sha256 = "08bdqvsjl6c7dmllyz8n4akb7gyn91znvbph5cgmmk1bhskycy1r";
-  };
+    sha256 = "06k0zilfyvll7z34yirraslgpwgah9k6y5i6wgi7f00a79k76k78";
+};
 
-  buildInputs = [ which ];
+  # go > 1.10
+  # [FATAL] [14:44:02+0000] Please install Go version go1.9 or use PERMISSIVE_GO=y to bypass this check.
+  buildInputs = [ removeReferencesTo makeWrapper which go_1_9 rsync go-bindata kerberos clang ];
+
+  outputs = [ "out" ];
 
-  goPackagePath = null;
   patchPhase = ''
     patchShebangs ./hack
-    substituteInPlace pkg/bootstrap/docker/host/host.go  \
+
+    substituteInPlace pkg/oc/bootstrap/docker/host/host.go  \
       --replace 'nsenter --mount=/rootfs/proc/1/ns/mnt findmnt' \
       'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/findmnt'
 
-    substituteInPlace pkg/bootstrap/docker/host/host.go  \
+    substituteInPlace pkg/oc/bootstrap/docker/host/host.go  \
       --replace 'nsenter --mount=/rootfs/proc/1/ns/mnt mount' \
       'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/mount'
 
-    substituteInPlace pkg/bootstrap/docker/host/host.go  \
+    substituteInPlace pkg/oc/bootstrap/docker/host/host.go  \
       --replace 'nsenter --mount=/rootfs/proc/1/ns/mnt mkdir' \
-      'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/mount'
+      'nsenter --mount=/rootfs/proc/1/ns/mnt ${coreutils}/bin/mkdir'
   '';
 
   buildPhase = ''
-    cd go/src/origin-v${version}-src
     # Openshift build require this variables to be set
     # unless there is a .git folder which is not the case with fetchFromGitHub
-    export OS_GIT_VERSION=v${version}
-    export OS_GIT_MAJOR=${versionMajor}
-    export OS_GIT_MINOR=${versionMinor}
-    make build
+    echo "OS_GIT_VERSION=v${version}" >> os-version-defs
+    echo "OS_GIT_MAJOR=${versionMajor}" >> os-version-defs
+    echo "OS_GIT_MINOR=${versionMinor}" >> os-version-defs
+    echo "OS_GIT_PATCH=${versionPatch}" >> os-version-defs
+    echo "OS_GIT_COMMIT=${gitCommit}" >> os-version-defs
+    echo "KUBE_GIT_VERSION=${k8sversion}" >> os-version-defs
+    echo "KUBE_GIT_COMMIT=${k8sgitcommit}" >> os-version-defs
+    export OS_VERSION_FILE="os-version-defs"
+    export CC=clang
+    make all WHAT='${concatStringsSep " " components}'
   '';
 
   installPhase = ''
-    mkdir -p "$bin/bin"
-    cp -a "_output/local/bin/$(go env GOOS)/$(go env GOARCH)/"* "$bin/bin/"
+    mkdir -p "$out/bin"
+    cp -a "_output/local/bin/$(go env GOOS)/$(go env GOARCH)/"* "$out/bin/"
+    install -D -t "$out/etc/bash_completion.d" contrib/completions/bash/*
+    install -D -t "$out/share/zsh/site-functions" contrib/completions/zsh/*
+  '';
+
+  preFixup = ''
+    find $out/bin -type f -exec remove-references-to -t ${go_1_9} '{}' +
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/panamax/api/Gemfile b/pkgs/applications/networking/cluster/panamax/api/Gemfile
deleted file mode 100644
index 82085aa6db08..000000000000
--- a/pkgs/applications/networking/cluster/panamax/api/Gemfile
+++ /dev/null
@@ -1,23 +0,0 @@
-source 'https://rubygems.org'
-
-gem 'rails', '4.1.7'
-gem 'puma', '2.8.2'
-gem 'sqlite3', '1.3.9'
-gem 'faraday_middleware', '0.9.0'
-gem 'docker-api', '1.13.0', require: 'docker'
-gem 'fleet-api', '0.6.0', require: 'fleet'
-gem 'active_model_serializers', '0.9.0'
-gem 'octokit', '3.2.0'
-gem 'kmts', '2.0.1'
-
-group :test, :development do
-  gem 'rspec-rails'
-  gem 'its'
-end
-
-group :test do
-  gem 'coveralls', '0.7.0'
-  gem 'shoulda-matchers', '2.6.1'
-  gem 'database_cleaner', '1.3.0'
-  gem 'webmock', '1.20.0'
-end
diff --git a/pkgs/applications/networking/cluster/panamax/api/Gemfile.lock b/pkgs/applications/networking/cluster/panamax/api/Gemfile.lock
deleted file mode 100644
index 597c691700ad..000000000000
--- a/pkgs/applications/networking/cluster/panamax/api/Gemfile.lock
+++ /dev/null
@@ -1,164 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    actionmailer (4.1.7)
-      actionpack (= 4.1.7)
-      actionview (= 4.1.7)
-      mail (~> 2.5, >= 2.5.4)
-    actionpack (4.1.7)
-      actionview (= 4.1.7)
-      activesupport (= 4.1.7)
-      rack (~> 1.5.2)
-      rack-test (~> 0.6.2)
-    actionview (4.1.7)
-      activesupport (= 4.1.7)
-      builder (~> 3.1)
-      erubis (~> 2.7.0)
-    active_model_serializers (0.9.0)
-      activemodel (>= 3.2)
-    activemodel (4.1.7)
-      activesupport (= 4.1.7)
-      builder (~> 3.1)
-    activerecord (4.1.7)
-      activemodel (= 4.1.7)
-      activesupport (= 4.1.7)
-      arel (~> 5.0.0)
-    activesupport (4.1.7)
-      i18n (~> 0.6, >= 0.6.9)
-      json (~> 1.7, >= 1.7.7)
-      minitest (~> 5.1)
-      thread_safe (~> 0.1)
-      tzinfo (~> 1.1)
-    addressable (2.3.6)
-    archive-tar-minitar (0.5.2)
-    arel (5.0.1.20140414130214)
-    builder (3.2.2)
-    coveralls (0.7.0)
-      multi_json (~> 1.3)
-      rest-client
-      simplecov (>= 0.7)
-      term-ansicolor
-      thor
-    crack (0.4.2)
-      safe_yaml (~> 1.0.0)
-    database_cleaner (1.3.0)
-    diff-lcs (1.2.5)
-    docile (1.1.5)
-    docker-api (1.13.0)
-      archive-tar-minitar
-      excon (>= 0.37.0)
-      json
-    erubis (2.7.0)
-    excon (0.37.0)
-    faraday (0.8.9)
-      multipart-post (~> 1.2.0)
-    faraday_middleware (0.9.0)
-      faraday (>= 0.7.4, < 0.9)
-    fleet-api (0.6.0)
-      faraday (= 0.8.9)
-      faraday_middleware (= 0.9.0)
-    hike (1.2.3)
-    i18n (0.7.0)
-    its (0.2.0)
-      rspec-core
-    json (1.8.1)
-    kmts (2.0.1)
-    mail (2.6.3)
-      mime-types (>= 1.16, < 3)
-    mime-types (2.4.3)
-    minitest (5.5.1)
-    multi_json (1.10.1)
-    multipart-post (1.2.0)
-    octokit (3.2.0)
-      sawyer (~> 0.5.3)
-    puma (2.8.2)
-      rack (>= 1.1, < 2.0)
-    rack (1.5.2)
-    rack-test (0.6.3)
-      rack (>= 1.0)
-    rails (4.1.7)
-      actionmailer (= 4.1.7)
-      actionpack (= 4.1.7)
-      actionview (= 4.1.7)
-      activemodel (= 4.1.7)
-      activerecord (= 4.1.7)
-      activesupport (= 4.1.7)
-      bundler (>= 1.3.0, < 2.0)
-      railties (= 4.1.7)
-      sprockets-rails (~> 2.0)
-    railties (4.1.7)
-      actionpack (= 4.1.7)
-      activesupport (= 4.1.7)
-      rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
-    rake (10.4.0)
-    rest-client (1.6.7)
-      mime-types (>= 1.16)
-    rspec-core (3.1.7)
-      rspec-support (~> 3.1.0)
-    rspec-expectations (3.1.2)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.1.0)
-    rspec-mocks (3.1.3)
-      rspec-support (~> 3.1.0)
-    rspec-rails (3.1.0)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      railties (>= 3.0)
-      rspec-core (~> 3.1.0)
-      rspec-expectations (~> 3.1.0)
-      rspec-mocks (~> 3.1.0)
-      rspec-support (~> 3.1.0)
-    rspec-support (3.1.2)
-    safe_yaml (1.0.4)
-    sawyer (0.5.4)
-      addressable (~> 2.3.5)
-      faraday (~> 0.8, < 0.10)
-    shoulda-matchers (2.6.1)
-      activesupport (>= 3.0.0)
-    simplecov (0.9.1)
-      docile (~> 1.1.0)
-      multi_json (~> 1.0)
-      simplecov-html (~> 0.8.0)
-    simplecov-html (0.8.0)
-    sprockets (2.12.3)
-      hike (~> 1.2)
-      multi_json (~> 1.0)
-      rack (~> 1.0)
-      tilt (~> 1.1, != 1.3.0)
-    sprockets-rails (2.2.4)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      sprockets (>= 2.8, < 4.0)
-    sqlite3 (1.3.9)
-    term-ansicolor (1.3.0)
-      tins (~> 1.0)
-    thor (0.19.1)
-    thread_safe (0.3.4)
-    tilt (1.4.1)
-    tins (1.3.0)
-    tzinfo (1.2.2)
-      thread_safe (~> 0.1)
-    webmock (1.20.0)
-      addressable (>= 2.3.6)
-      crack (>= 0.3.2)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  active_model_serializers (= 0.9.0)
-  coveralls (= 0.7.0)
-  database_cleaner (= 1.3.0)
-  docker-api (= 1.13.0)
-  faraday_middleware (= 0.9.0)
-  fleet-api (= 0.6.0)
-  its
-  kmts (= 2.0.1)
-  octokit (= 3.2.0)
-  puma (= 2.8.2)
-  rails (= 4.1.7)
-  rspec-rails
-  shoulda-matchers (= 2.6.1)
-  sqlite3 (= 1.3.9)
-  webmock (= 1.20.0)
diff --git a/pkgs/applications/networking/cluster/panamax/api/default.nix b/pkgs/applications/networking/cluster/panamax/api/default.nix
deleted file mode 100644
index 6a8fe2834912..000000000000
--- a/pkgs/applications/networking/cluster/panamax/api/default.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler
-, ruby, libxslt, libxml2, sqlite, openssl, docker
-, dataDir ? "/var/lib/panamax-api" }@args:
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "panamax-api-${version}";
-  version = "0.2.16";
-
-  env = bundlerEnv {
-    name = "panamax-api-gems-${version}";
-    inherit ruby;
-    gemdir = ./.;
-  };
-
-  bundler = args.bundler.override { inherit ruby; };
-
-  database_yml = builtins.toFile "database.yml" ''
-    production:
-      adapter: sqlite3
-      database: <%= ENV["PANAMAX_DATABASE_PATH"] || "${dataDir}/db/mnt/db.sqlite3" %>
-      timeout: 5000
-  '';
-
-  src = fetchgit {
-    rev = "refs/tags/v${version}";
-    url = "git://github.com/CenturyLinkLabs/panamax-api";
-    sha256 = "0dqg0fbmy5cgjh0ql8yqlybhjyyrslgghjrc24wjhd1rghjn2qi6";
-  };
-
-  buildInputs = [ makeWrapper sqlite openssl env.ruby bundler ];
-
-  setSourceRoot = ''
-    mkdir -p $out/share
-    cp -R panamax-api $out/share/panamax-api
-    export sourceRoot="$out/share/panamax-api"
-  '';
-
-  postPatch = ''
-    find . -type f -exec sed -e 's|/usr/bin/docker|${docker}/bin/docker|g' -i "{}" \;
-  '';
-
-  configurePhase = ''
-    export HOME=$PWD
-    export GEM_HOME=${env}/${env.ruby.gemPath}
-    export RAILS_ENV=production
-
-    ln -sf ${database_yml} config/database.yml
-  '';
-
-  installPhase = ''
-    rm -rf log tmp
-    mv ./db ./_db
-    ln -sf ${dataDir}/{db,state/log,state/tmp} .
-
-    mkdir -p $out/bin
-    makeWrapper bin/bundle "$out/bin/bundle" \
-      --run "cd $out/share/panamax-api" \
-      --prefix "PATH" : "$out/share/panamax-api/bin:${env.ruby}/bin:$PATH" \
-      --prefix "HOME" : "$out/share/panamax-api" \
-      --prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \
-      --prefix "GEM_PATH" : "$out/share/panamax-api:${bundler}/${env.ruby.gemPath}"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/CenturyLinkLabs/panamax-api;
-    description = "The API behind The Panamax UI";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ matejc offline ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/cluster/panamax/api/gemset.nix b/pkgs/applications/networking/cluster/panamax/api/gemset.nix
deleted file mode 100644
index 8182543a2bb9..000000000000
--- a/pkgs/applications/networking/cluster/panamax/api/gemset.nix
+++ /dev/null
@@ -1,568 +0,0 @@
-{
-  "actionmailer" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0qjv5akjbpgd4cx518k522mssvc3y3nki65hi6fj5nbzi7a6rwq5";
-    };
-    dependencies = [
-      "actionpack"
-      "actionview"
-      "mail"
-    ];
-  };
-  "actionpack" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "07y1ny00h69xklq260smyl5md052f617gqrzkyw5sxafs5z25zax";
-    };
-    dependencies = [
-      "actionview"
-      "activesupport"
-      "rack"
-      "rack-test"
-    ];
-  };
-  "actionview" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "06sp37gfpn2jn7j6vlpp1y6vfi5kig60vyvixrjhyz0g4vgm13ax";
-    };
-    dependencies = [
-      "activesupport"
-      "builder"
-      "erubis"
-    ];
-  };
-  "active_model_serializers" = {
-    version = "0.9.0";
-    source = {
-      type = "gem";
-      sha256 = "1ws3gx3wwlm17w7k0agwzmcmww6627lvqaqm828lzm3g1xqilkkl";
-    };
-    dependencies = [
-      "activemodel"
-    ];
-  };
-  "activemodel" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0rlqzz25l7vsphgkilg80kmk20d9h357awi27ax6zzb9klkqh0jr";
-    };
-    dependencies = [
-      "activesupport"
-      "builder"
-    ];
-  };
-  "activerecord" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0j4r0m32mjbwmz9gs8brln35jzr1cn7h585ggj0w0f1ai4hjsby5";
-    };
-    dependencies = [
-      "activemodel"
-      "activesupport"
-      "arel"
-    ];
-  };
-  "activesupport" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "13i3mz66d5kp5y39gjwmcfqv0wb6mxm5k1nnz40wvd38dsf7n3bs";
-    };
-    dependencies = [
-      "i18n"
-      "json"
-      "minitest"
-      "thread_safe"
-      "tzinfo"
-    ];
-  };
-  "addressable" = {
-    version = "2.3.6";
-    source = {
-      type = "gem";
-      sha256 = "137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8";
-    };
-  };
-  "archive-tar-minitar" = {
-    version = "0.5.2";
-    source = {
-      type = "gem";
-      sha256 = "1j666713r3cc3wb0042x0wcmq2v11vwwy5pcaayy5f0lnd26iqig";
-    };
-  };
-  "arel" = {
-    version = "5.0.1.20140414130214";
-    source = {
-      type = "gem";
-      sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9";
-    };
-  };
-  "builder" = {
-    version = "3.2.2";
-    source = {
-      type = "gem";
-      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
-    };
-  };
-  "coveralls" = {
-    version = "0.7.0";
-    source = {
-      type = "gem";
-      sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4";
-    };
-    dependencies = [
-      "multi_json"
-      "rest-client"
-      "simplecov"
-      "term-ansicolor"
-      "thor"
-    ];
-  };
-  "crack" = {
-    version = "0.4.2";
-    source = {
-      type = "gem";
-      sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a";
-    };
-    dependencies = [
-      "safe_yaml"
-    ];
-  };
-  "database_cleaner" = {
-    version = "1.3.0";
-    source = {
-      type = "gem";
-      sha256 = "19w25yda684pg29bggq26wy4lpyjvzscwg2hx3hmmmpysiwfnxgn";
-    };
-  };
-  "diff-lcs" = {
-    version = "1.2.5";
-    source = {
-      type = "gem";
-      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
-    };
-  };
-  "docile" = {
-    version = "1.1.5";
-    source = {
-      type = "gem";
-      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
-    };
-  };
-  "docker-api" = {
-    version = "1.13.0";
-    source = {
-      type = "gem";
-      sha256 = "1rara27gn7lxaf12dqkx8s1clssg10jndfcy4wz2fv6ms1i1lnp6";
-    };
-    dependencies = [
-      "archive-tar-minitar"
-      "excon"
-      "json"
-    ];
-  };
-  "erubis" = {
-    version = "2.7.0";
-    source = {
-      type = "gem";
-      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
-    };
-  };
-  "excon" = {
-    version = "0.37.0";
-    source = {
-      type = "gem";
-      sha256 = "05x7asmsq5m419n1lhzk9bic02gwng4cqmrcqsfnd6kmkwm8csv2";
-    };
-  };
-  "faraday" = {
-    version = "0.8.9";
-    source = {
-      type = "gem";
-      sha256 = "17d79fsgx0xwh0mfxyz5pbr435qlw79phlfvifc546w2axdkp718";
-    };
-    dependencies = [
-      "multipart-post"
-    ];
-  };
-  "faraday_middleware" = {
-    version = "0.9.0";
-    source = {
-      type = "gem";
-      sha256 = "1kwvi2sdxd6j764a7q5iir73dw2v6816zx3l8cgfv0wr2m47icq2";
-    };
-    dependencies = [
-      "faraday"
-    ];
-  };
-  "fleet-api" = {
-    version = "0.6.0";
-    source = {
-      type = "gem";
-      sha256 = "0136mzc0fxp6mzh38n6xbg87cw9g9vq1nrlr3ylazbflvmlxgan6";
-    };
-    dependencies = [
-      "faraday"
-      "faraday_middleware"
-    ];
-  };
-  "hike" = {
-    version = "1.2.3";
-    source = {
-      type = "gem";
-      sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
-    };
-  };
-  "i18n" = {
-    version = "0.7.0";
-    source = {
-      type = "gem";
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
-    };
-  };
-  "its" = {
-    version = "0.2.0";
-    source = {
-      type = "gem";
-      sha256 = "0rxwds9ipqp48mzqcaxzmfcqhawazg0zlhc1avv3i2cmm3np1z8g";
-    };
-    dependencies = [
-      "rspec-core"
-    ];
-  };
-  "json" = {
-    version = "1.8.1";
-    source = {
-      type = "gem";
-      sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn";
-    };
-  };
-  "kmts" = {
-    version = "2.0.1";
-    source = {
-      type = "gem";
-      sha256 = "1wk680q443lg35a25am6i8xawf16iqg5xnq1m8xd2gib4dsy1d8v";
-    };
-  };
-  "mail" = {
-    version = "2.6.3";
-    source = {
-      type = "gem";
-      sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp";
-    };
-    dependencies = [
-      "mime-types"
-    ];
-  };
-  "mime-types" = {
-    version = "2.4.3";
-    source = {
-      type = "gem";
-      sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq";
-    };
-  };
-  "minitest" = {
-    version = "5.5.1";
-    source = {
-      type = "gem";
-      sha256 = "1h8jn0rgmwy37jnhfcg55iilw0n370vgp8xnh0g5laa8rhv32fyn";
-    };
-  };
-  "multi_json" = {
-    version = "1.10.1";
-    source = {
-      type = "gem";
-      sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c";
-    };
-  };
-  "multipart-post" = {
-    version = "1.2.0";
-    source = {
-      type = "gem";
-      sha256 = "12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc";
-    };
-  };
-  "octokit" = {
-    version = "3.2.0";
-    source = {
-      type = "gem";
-      sha256 = "07ll3x1hv72zssb4hkdw56xg3xk6x4fch4yf38zljvbh388r11ng";
-    };
-    dependencies = [
-      "sawyer"
-    ];
-  };
-  "puma" = {
-    version = "2.8.2";
-    source = {
-      type = "gem";
-      sha256 = "1l57fmf8vyxfjv7ab5znq0k339cym5ghnm5xxfvd1simjp73db0k";
-    };
-    dependencies = [
-      "rack"
-    ];
-  };
-  "rack" = {
-    version = "1.5.2";
-    source = {
-      type = "gem";
-      sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6";
-    };
-  };
-  "rack-test" = {
-    version = "0.6.3";
-    source = {
-      type = "gem";
-      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
-    };
-    dependencies = [
-      "rack"
-    ];
-  };
-  "rails" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "059mpljplmhfz8rr4hk40q67fllcpsy809m4mwwbkm8qwif2z5r0";
-    };
-    dependencies = [
-      "actionmailer"
-      "actionpack"
-      "actionview"
-      "activemodel"
-      "activerecord"
-      "activesupport"
-      "railties"
-      "sprockets-rails"
-    ];
-  };
-  "railties" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "1n08h0rgj0aq5lvslnih6lvqz9wadpz6nnb25i4qhp37fhhyz9yz";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "rake"
-      "thor"
-    ];
-  };
-  "rake" = {
-    version = "10.4.0";
-    source = {
-      type = "gem";
-      sha256 = "0a10xzqc1lh6gjkajkslr0n40wjrniyiyzxkp9m5fc8wf7b74zw8";
-    };
-  };
-  "rest-client" = {
-    version = "1.6.7";
-    source = {
-      type = "gem";
-      sha256 = "0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853";
-    };
-    dependencies = [
-      "mime-types"
-    ];
-  };
-  "rspec-core" = {
-    version = "3.1.7";
-    source = {
-      type = "gem";
-      sha256 = "01bawvln663gffljwzpq3mrpa061cghjbvfbq15jvhmip3csxqc9";
-    };
-    dependencies = [
-      "rspec-support"
-    ];
-  };
-  "rspec-expectations" = {
-    version = "3.1.2";
-    source = {
-      type = "gem";
-      sha256 = "0m8d36wng1lpbcs54zhg1rxh63rgj345k3p0h0c06lgknz339nzh";
-    };
-    dependencies = [
-      "diff-lcs"
-      "rspec-support"
-    ];
-  };
-  "rspec-mocks" = {
-    version = "3.1.3";
-    source = {
-      type = "gem";
-      sha256 = "0gxk5w3klia4zsnp0svxck43xxwwfdqvhr3srv6p30f3m5q6rmzr";
-    };
-    dependencies = [
-      "rspec-support"
-    ];
-  };
-  "rspec-rails" = {
-    version = "3.1.0";
-    source = {
-      type = "gem";
-      sha256 = "1b1in3n1dc1bpf9wb3p3b2ynq05iacmr48jxzc73lj4g44ksh3wq";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "railties"
-      "rspec-core"
-      "rspec-expectations"
-      "rspec-mocks"
-      "rspec-support"
-    ];
-  };
-  "rspec-support" = {
-    version = "3.1.2";
-    source = {
-      type = "gem";
-      sha256 = "14y6v9r9lrh91ry9r79h85v0f3y9ja25w42nv5z9n0bipfcwhprb";
-    };
-  };
-  "safe_yaml" = {
-    version = "1.0.4";
-    source = {
-      type = "gem";
-      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
-    };
-  };
-  "sawyer" = {
-    version = "0.5.4";
-    source = {
-      type = "gem";
-      sha256 = "01kl4zpf0gaacnkra5nikrzfpwj8f10hsvgyzm7z2s1mz4iipx2v";
-    };
-    dependencies = [
-      "addressable"
-      "faraday"
-    ];
-  };
-  "shoulda-matchers" = {
-    version = "2.6.1";
-    source = {
-      type = "gem";
-      sha256 = "1p3jhvd4dsj6d7nbmvnqhqhpmb8pnr05pi7jv9ajwqcys8140mc1";
-    };
-    dependencies = [
-      "activesupport"
-    ];
-  };
-  "simplecov" = {
-    version = "0.9.1";
-    source = {
-      type = "gem";
-      sha256 = "06hylxlalaxxldpbaqa54gc52wxdff0fixdvjyzr6i4ygxwzr7yf";
-    };
-    dependencies = [
-      "docile"
-      "multi_json"
-      "simplecov-html"
-    ];
-  };
-  "simplecov-html" = {
-    version = "0.8.0";
-    source = {
-      type = "gem";
-      sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9";
-    };
-  };
-  "sprockets" = {
-    version = "2.12.3";
-    source = {
-      type = "gem";
-      sha256 = "1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2";
-    };
-    dependencies = [
-      "hike"
-      "multi_json"
-      "rack"
-      "tilt"
-    ];
-  };
-  "sprockets-rails" = {
-    version = "2.2.4";
-    source = {
-      type = "gem";
-      sha256 = "172cdg38cqsfgvrncjzj0kziz7kv6b1lx8pccd0blyphs25qf4gc";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "sprockets"
-    ];
-  };
-  "sqlite3" = {
-    version = "1.3.9";
-    source = {
-      type = "gem";
-      sha256 = "07m6a6flmyyi0rkg0j7x1a9861zngwjnximfh95cli2zzd57914r";
-    };
-  };
-  "term-ansicolor" = {
-    version = "1.3.0";
-    source = {
-      type = "gem";
-      sha256 = "1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b";
-    };
-    dependencies = [
-      "tins"
-    ];
-  };
-  "thor" = {
-    version = "0.19.1";
-    source = {
-      type = "gem";
-      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
-    };
-  };
-  "thread_safe" = {
-    version = "0.3.4";
-    source = {
-      type = "gem";
-      sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n";
-    };
-  };
-  "tilt" = {
-    version = "1.4.1";
-    source = {
-      type = "gem";
-      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
-    };
-  };
-  "tins" = {
-    version = "1.3.0";
-    source = {
-      type = "gem";
-      sha256 = "1yxa5kyp9mw4w866wlg7c32ingzqxnzh3ir9yf06pwpkmq3mrbdi";
-    };
-  };
-  "tzinfo" = {
-    version = "1.2.2";
-    source = {
-      type = "gem";
-      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
-    };
-    dependencies = [
-      "thread_safe"
-    ];
-  };
-  "webmock" = {
-    version = "1.20.0";
-    source = {
-      type = "gem";
-      sha256 = "0bl5v0xzcj24lx7xpsnywv3liqnqb5lfxysmmfb2fgi0n8586i6m";
-    };
-    dependencies = [
-      "addressable"
-      "crack"
-    ];
-  };
-}
\ No newline at end of file
diff --git a/pkgs/applications/networking/cluster/panamax/ui/Gemfile b/pkgs/applications/networking/cluster/panamax/ui/Gemfile
deleted file mode 100644
index 6f7dc59d04d0..000000000000
--- a/pkgs/applications/networking/cluster/panamax/ui/Gemfile
+++ /dev/null
@@ -1,31 +0,0 @@
-source 'https://rubygems.org'
-
-gem 'rails', '4.1.7'
-gem 'puma', '2.8.2'
-gem 'sass', '3.3.9'
-gem 'therubyracer', '0.12.1', platforms: :ruby
-gem 'haml', '4.0.5'
-gem 'uglifier', '2.5.1'
-gem 'ctl_base_ui'
-gem 'activeresource', '4.0.0'
-gem 'kramdown', '1.4.0'
-gem 'zeroclipboard-rails'
-
-
-group :test, :development do
-  gem 'rspec-rails'
-  gem 'its'
-  gem 'capybara'
-  gem 'teaspoon'
-  gem 'phantomjs'
-  gem 'dotenv-rails', '0.11.1'
-  gem 'pry'
-  gem 'pry-byebug'
-  gem 'pry-stack_explorer'
-end
-
-group :test do
-  gem 'webmock'
-  gem 'sinatra', '1.4.5'
-  gem 'coveralls', '0.7.0'
-end
diff --git a/pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock b/pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock
deleted file mode 100644
index b273595bbb05..000000000000
--- a/pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock
+++ /dev/null
@@ -1,226 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    actionmailer (4.1.7)
-      actionpack (= 4.1.7)
-      actionview (= 4.1.7)
-      mail (~> 2.5, >= 2.5.4)
-    actionpack (4.1.7)
-      actionview (= 4.1.7)
-      activesupport (= 4.1.7)
-      rack (~> 1.5.2)
-      rack-test (~> 0.6.2)
-    actionview (4.1.7)
-      activesupport (= 4.1.7)
-      builder (~> 3.1)
-      erubis (~> 2.7.0)
-    activemodel (4.1.7)
-      activesupport (= 4.1.7)
-      builder (~> 3.1)
-    activerecord (4.1.7)
-      activemodel (= 4.1.7)
-      activesupport (= 4.1.7)
-      arel (~> 5.0.0)
-    activeresource (4.0.0)
-      activemodel (~> 4.0)
-      activesupport (~> 4.0)
-      rails-observers (~> 0.1.1)
-    activesupport (4.1.7)
-      i18n (~> 0.6, >= 0.6.9)
-      json (~> 1.7, >= 1.7.7)
-      minitest (~> 5.1)
-      thread_safe (~> 0.1)
-      tzinfo (~> 1.1)
-    addressable (2.3.6)
-    arel (5.0.1.20140414130214)
-    binding_of_caller (0.7.2)
-      debug_inspector (>= 0.0.1)
-    builder (3.2.2)
-    byebug (3.5.1)
-      columnize (~> 0.8)
-      debugger-linecache (~> 1.2)
-      slop (~> 3.6)
-    capybara (2.4.4)
-      mime-types (>= 1.16)
-      nokogiri (>= 1.3.3)
-      rack (>= 1.0.0)
-      rack-test (>= 0.5.4)
-      xpath (~> 2.0)
-    coderay (1.1.0)
-    columnize (0.8.9)
-    coveralls (0.7.0)
-      multi_json (~> 1.3)
-      rest-client
-      simplecov (>= 0.7)
-      term-ansicolor
-      thor
-    crack (0.4.2)
-      safe_yaml (~> 1.0.0)
-    ctl_base_ui (0.0.5)
-      haml (~> 4.0)
-      jquery-rails (~> 3.1)
-      jquery-ui-rails (~> 4.2)
-      rails (~> 4.1)
-      sass (~> 3.3)
-    debug_inspector (0.0.2)
-    debugger-linecache (1.2.0)
-    diff-lcs (1.2.5)
-    docile (1.1.5)
-    dotenv (0.11.1)
-      dotenv-deployment (~> 0.0.2)
-    dotenv-deployment (0.0.2)
-    dotenv-rails (0.11.1)
-      dotenv (= 0.11.1)
-    erubis (2.7.0)
-    execjs (2.2.2)
-    haml (4.0.5)
-      tilt
-    hike (1.2.3)
-    i18n (0.7.0)
-    its (0.2.0)
-      rspec-core
-    jquery-rails (3.1.2)
-      railties (>= 3.0, < 5.0)
-      thor (>= 0.14, < 2.0)
-    jquery-ui-rails (4.2.1)
-      railties (>= 3.2.16)
-    json (1.8.2)
-    kramdown (1.4.0)
-    libv8 (3.16.14.11)
-    mail (2.6.3)
-      mime-types (>= 1.16, < 3)
-    method_source (0.8.2)
-    mime-types (2.4.3)
-    mini_portile (0.6.1)
-    minitest (5.5.1)
-    multi_json (1.10.1)
-    netrc (0.8.0)
-    nokogiri (1.6.5)
-      mini_portile (~> 0.6.0)
-    phantomjs (1.9.7.1)
-    pry (0.10.1)
-      coderay (~> 1.1.0)
-      method_source (~> 0.8.1)
-      slop (~> 3.4)
-    pry-byebug (2.0.0)
-      byebug (~> 3.4)
-      pry (~> 0.10)
-    pry-stack_explorer (0.4.9.1)
-      binding_of_caller (>= 0.7)
-      pry (>= 0.9.11)
-    puma (2.8.2)
-      rack (>= 1.1, < 2.0)
-    rack (1.5.2)
-    rack-protection (1.5.3)
-      rack
-    rack-test (0.6.3)
-      rack (>= 1.0)
-    rails (4.1.7)
-      actionmailer (= 4.1.7)
-      actionpack (= 4.1.7)
-      actionview (= 4.1.7)
-      activemodel (= 4.1.7)
-      activerecord (= 4.1.7)
-      activesupport (= 4.1.7)
-      bundler (>= 1.3.0, < 2.0)
-      railties (= 4.1.7)
-      sprockets-rails (~> 2.0)
-    rails-observers (0.1.2)
-      activemodel (~> 4.0)
-    railties (4.1.7)
-      actionpack (= 4.1.7)
-      activesupport (= 4.1.7)
-      rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
-    rake (10.4.0)
-    ref (1.0.5)
-    rest-client (1.7.2)
-      mime-types (>= 1.16, < 3.0)
-      netrc (~> 0.7)
-    rspec-core (3.1.7)
-      rspec-support (~> 3.1.0)
-    rspec-expectations (3.1.2)
-      diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.1.0)
-    rspec-mocks (3.1.3)
-      rspec-support (~> 3.1.0)
-    rspec-rails (3.1.0)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      railties (>= 3.0)
-      rspec-core (~> 3.1.0)
-      rspec-expectations (~> 3.1.0)
-      rspec-mocks (~> 3.1.0)
-      rspec-support (~> 3.1.0)
-    rspec-support (3.1.2)
-    safe_yaml (1.0.4)
-    sass (3.3.9)
-    simplecov (0.9.1)
-      docile (~> 1.1.0)
-      multi_json (~> 1.0)
-      simplecov-html (~> 0.8.0)
-    simplecov-html (0.8.0)
-    sinatra (1.4.5)
-      rack (~> 1.4)
-      rack-protection (~> 1.4)
-      tilt (~> 1.3, >= 1.3.4)
-    slop (3.6.0)
-    sprockets (2.12.3)
-      hike (~> 1.2)
-      multi_json (~> 1.0)
-      rack (~> 1.0)
-      tilt (~> 1.1, != 1.3.0)
-    sprockets-rails (2.2.4)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      sprockets (>= 2.8, < 4.0)
-    teaspoon (0.8.0)
-      railties (>= 3.2.5, < 5)
-    term-ansicolor (1.3.0)
-      tins (~> 1.0)
-    therubyracer (0.12.1)
-      libv8 (~> 3.16.14.0)
-      ref
-    thor (0.19.1)
-    thread_safe (0.3.4)
-    tilt (1.4.1)
-    tins (1.3.3)
-    tzinfo (1.2.2)
-      thread_safe (~> 0.1)
-    uglifier (2.5.1)
-      execjs (>= 0.3.0)
-      json (>= 1.8.0)
-    webmock (1.20.4)
-      addressable (>= 2.3.6)
-      crack (>= 0.3.2)
-    xpath (2.0.0)
-      nokogiri (~> 1.3)
-    zeroclipboard-rails (0.1.0)
-      railties (>= 3.1)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  activeresource (= 4.0.0)
-  capybara
-  coveralls (= 0.7.0)
-  ctl_base_ui
-  dotenv-rails (= 0.11.1)
-  haml (= 4.0.5)
-  its
-  kramdown (= 1.4.0)
-  phantomjs
-  pry
-  pry-byebug
-  pry-stack_explorer
-  puma (= 2.8.2)
-  rails (= 4.1.7)
-  rspec-rails
-  sass (= 3.3.9)
-  sinatra (= 1.4.5)
-  teaspoon
-  therubyracer (= 0.12.1)
-  uglifier (= 2.5.1)
-  webmock
-  zeroclipboard-rails
diff --git a/pkgs/applications/networking/cluster/panamax/ui/default.nix b/pkgs/applications/networking/cluster/panamax/ui/default.nix
deleted file mode 100644
index 4a6481e3e5ee..000000000000
--- a/pkgs/applications/networking/cluster/panamax/ui/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler
-, ruby, openssl, sqlite, dataDir ? "/var/lib/panamax-ui"}@args:
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "panamax-ui-${version}";
-  version = "0.2.14";
-
-  env = bundlerEnv {
-    name = "panamax-ui-gems-${version}";
-    inherit ruby;
-    gemdir = ./.;
-  };
-
-  bundler = args.bundler.override { inherit ruby; };
-
-  src = fetchgit {
-    rev = "refs/tags/v${version}";
-    url = "git://github.com/CenturyLinkLabs/panamax-ui";
-    sha256 = "01k0h0rjqp5arvwxm2xpfxjsag5qw0qqlg7hx4v8f6jsyc4wmjfl";
-  };
-
-  buildInputs = [ makeWrapper env.ruby openssl sqlite bundler ];
-
-  setSourceRoot = ''
-    mkdir -p $out/share
-    cp -R panamax-ui $out/share/panamax-ui
-    export sourceRoot="$out/share/panamax-ui"
-  '';
-
-  postPatch = ''
-    find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Journal|NixOS Journal|g' -i "{}" \;
-    find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Local|NixOS Local|g' -i "{}" \;
-    find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Host|NixOS Host|g' -i "{}" \;
-    sed -e 's|CoreOS Local|NixOS Local|g' -i "spec/features/manage_application_spec.rb"
-    # fix libv8 dependency
-    substituteInPlace Gemfile.lock --replace "3.16.14.7" "3.16.14.11"
-  '';
-
-  configurePhase = ''
-    export HOME=$PWD
-    export GEM_HOME=${env}/${env.ruby.gemPath}
-  '';
-
-  buildPhase = ''
-    rm -f ./bin/*
-    bundle exec rake rails:update:bin
-  '';
-
-  installPhase = ''
-    rm -rf log tmp db
-    ln -sf ${dataDir}/{db,state/log,state/tmp} .
-
-    mkdir -p $out/bin
-    makeWrapper bin/bundle "$out/bin/bundle" \
-      --run "cd $out/share/panamax-ui" \
-      --prefix "PATH" : "$out/share/panamax-ui/bin:${env.ruby}/bin:$PATH" \
-      --prefix "HOME" : "$out/share/panamax-ui" \
-      --prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \
-      --prefix "GEM_PATH" : "$out/share/panamax-ui:${bundler}/${env.ruby.gemPath}"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/CenturyLinkLabs/panamax-ui;
-    description = "The Web GUI for Panamax";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ matejc offline ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/cluster/panamax/ui/gemset.nix b/pkgs/applications/networking/cluster/panamax/ui/gemset.nix
deleted file mode 100644
index b41b482edb73..000000000000
--- a/pkgs/applications/networking/cluster/panamax/ui/gemset.nix
+++ /dev/null
@@ -1,789 +0,0 @@
-{
-  "actionmailer" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0qjv5akjbpgd4cx518k522mssvc3y3nki65hi6fj5nbzi7a6rwq5";
-    };
-    dependencies = [
-      "actionpack"
-      "actionview"
-      "mail"
-    ];
-  };
-  "actionpack" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "07y1ny00h69xklq260smyl5md052f617gqrzkyw5sxafs5z25zax";
-    };
-    dependencies = [
-      "actionview"
-      "activesupport"
-      "rack"
-      "rack-test"
-    ];
-  };
-  "actionview" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "06sp37gfpn2jn7j6vlpp1y6vfi5kig60vyvixrjhyz0g4vgm13ax";
-    };
-    dependencies = [
-      "activesupport"
-      "builder"
-      "erubis"
-    ];
-  };
-  "activemodel" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0rlqzz25l7vsphgkilg80kmk20d9h357awi27ax6zzb9klkqh0jr";
-    };
-    dependencies = [
-      "activesupport"
-      "builder"
-    ];
-  };
-  "activerecord" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "0j4r0m32mjbwmz9gs8brln35jzr1cn7h585ggj0w0f1ai4hjsby5";
-    };
-    dependencies = [
-      "activemodel"
-      "activesupport"
-      "arel"
-    ];
-  };
-  "activeresource" = {
-    version = "4.0.0";
-    source = {
-      type = "gem";
-      sha256 = "0fc5igjijyjzsl9q5kybkdzhc92zv8wsv0ifb0y90i632jx6d4jq";
-    };
-    dependencies = [
-      "activemodel"
-      "activesupport"
-      "rails-observers"
-    ];
-  };
-  "activesupport" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "13i3mz66d5kp5y39gjwmcfqv0wb6mxm5k1nnz40wvd38dsf7n3bs";
-    };
-    dependencies = [
-      "i18n"
-      "json"
-      "minitest"
-      "thread_safe"
-      "tzinfo"
-    ];
-  };
-  "addressable" = {
-    version = "2.3.6";
-    source = {
-      type = "gem";
-      sha256 = "137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8";
-    };
-  };
-  "arel" = {
-    version = "5.0.1.20140414130214";
-    source = {
-      type = "gem";
-      sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9";
-    };
-  };
-  "binding_of_caller" = {
-    version = "0.7.2";
-    source = {
-      type = "gem";
-      sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
-    };
-    dependencies = [
-      "debug_inspector"
-    ];
-  };
-  "builder" = {
-    version = "3.2.2";
-    source = {
-      type = "gem";
-      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
-    };
-  };
-  "byebug" = {
-    version = "3.5.1";
-    source = {
-      type = "gem";
-      sha256 = "0ldc2r0b316rrn2fgdgiznskj9gb0q9n60243laq7nqw9na8wdan";
-    };
-    dependencies = [
-      "columnize"
-      "debugger-linecache"
-      "slop"
-    ];
-  };
-  "capybara" = {
-    version = "2.4.4";
-    source = {
-      type = "gem";
-      sha256 = "114k4xi4nfbp3jfbxgwa3fksbwsyibx74gbdqpcgg3dxpmzkaa4f";
-    };
-    dependencies = [
-      "mime-types"
-      "nokogiri"
-      "rack"
-      "rack-test"
-      "xpath"
-    ];
-  };
-  "coderay" = {
-    version = "1.1.0";
-    source = {
-      type = "gem";
-      sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
-    };
-  };
-  "columnize" = {
-    version = "0.8.9";
-    source = {
-      type = "gem";
-      sha256 = "1f3azq8pvdaaclljanwhab78hdw40k908ma2cwk59qzj4hvf7mip";
-    };
-  };
-  "coveralls" = {
-    version = "0.7.0";
-    source = {
-      type = "gem";
-      sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4";
-    };
-    dependencies = [
-      "multi_json"
-      "rest-client"
-      "simplecov"
-      "term-ansicolor"
-      "thor"
-    ];
-  };
-  "crack" = {
-    version = "0.4.2";
-    source = {
-      type = "gem";
-      sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a";
-    };
-    dependencies = [
-      "safe_yaml"
-    ];
-  };
-  "ctl_base_ui" = {
-    version = "0.0.5";
-    source = {
-      type = "gem";
-      sha256 = "1pji85xmddgld5lqx52zxi5r2kx6rsjwkqlr26bp62xb29r10x57";
-    };
-    dependencies = [
-      "haml"
-      "jquery-rails"
-      "jquery-ui-rails"
-      "rails"
-      "sass"
-    ];
-  };
-  "debug_inspector" = {
-    version = "0.0.2";
-    source = {
-      type = "gem";
-      sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m";
-    };
-  };
-  "debugger-linecache" = {
-    version = "1.2.0";
-    source = {
-      type = "gem";
-      sha256 = "0iwyx190fd5vfwj1gzr8pg3m374kqqix4g4fc4qw29sp54d3fpdz";
-    };
-  };
-  "diff-lcs" = {
-    version = "1.2.5";
-    source = {
-      type = "gem";
-      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
-    };
-  };
-  "docile" = {
-    version = "1.1.5";
-    source = {
-      type = "gem";
-      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
-    };
-  };
-  "dotenv" = {
-    version = "0.11.1";
-    source = {
-      type = "gem";
-      sha256 = "09z0y0d6bks7i0sqvd8szfqj9i1kkj01anzly7shi83b3gxhrq9m";
-    };
-    dependencies = [
-      "dotenv-deployment"
-    ];
-  };
-  "dotenv-deployment" = {
-    version = "0.0.2";
-    source = {
-      type = "gem";
-      sha256 = "1ad66jq9a09qq1js8wsyil97018s7y6x0vzji0dy34gh65sbjz8c";
-    };
-  };
-  "dotenv-rails" = {
-    version = "0.11.1";
-    source = {
-      type = "gem";
-      sha256 = "0r6hif0i1lipbi7mkxx7wa5clsn65n6wyd9jry262cx396lsfrqy";
-    };
-    dependencies = [
-      "dotenv"
-    ];
-  };
-  "erubis" = {
-    version = "2.7.0";
-    source = {
-      type = "gem";
-      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
-    };
-  };
-  "execjs" = {
-    version = "2.2.2";
-    source = {
-      type = "gem";
-      sha256 = "05m41mnxn4b2p133qzbz5cy9cc5rn57aa0pp2943hxmzbk379z1f";
-    };
-  };
-  "haml" = {
-    version = "4.0.5";
-    source = {
-      type = "gem";
-      sha256 = "1xmzb0k5q271090crzmv7dbw8ss4289bzxklrc0fhw6pw3kcvc85";
-    };
-    dependencies = [
-      "tilt"
-    ];
-  };
-  "hike" = {
-    version = "1.2.3";
-    source = {
-      type = "gem";
-      sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
-    };
-  };
-  "i18n" = {
-    version = "0.7.0";
-    source = {
-      type = "gem";
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
-    };
-  };
-  "its" = {
-    version = "0.2.0";
-    source = {
-      type = "gem";
-      sha256 = "0rxwds9ipqp48mzqcaxzmfcqhawazg0zlhc1avv3i2cmm3np1z8g";
-    };
-    dependencies = [
-      "rspec-core"
-    ];
-  };
-  "jquery-rails" = {
-    version = "3.1.2";
-    source = {
-      type = "gem";
-      sha256 = "0h5a565i3l2mbd221m6mz9d1nr53pz19i9qxv08qr1dv0yx2pr3y";
-    };
-    dependencies = [
-      "railties"
-      "thor"
-    ];
-  };
-  "jquery-ui-rails" = {
-    version = "4.2.1";
-    source = {
-      type = "gem";
-      sha256 = "1garrnqwh35acj2pp4sp6fpm2g881h23y644lzbic2qmcrq9wd2v";
-    };
-    dependencies = [
-      "railties"
-    ];
-  };
-  "json" = {
-    version = "1.8.2";
-    source = {
-      type = "gem";
-      sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5";
-    };
-  };
-  "kramdown" = {
-    version = "1.4.0";
-    source = {
-      type = "gem";
-      sha256 = "001vy0ymiwbvkdbb9wpqmswv6imliv7xim00gq6rlk0chnbiaq80";
-    };
-  };
-  libv8 = {
-    version = "3.16.14.11";
-    source = {
-      type = "gem";
-      sha256 = "000vbiy78wk5r1f6p7qncab8ldg7qw5pjz7bchn3lw700gpaacxp";
-    };
-  };
-  "mail" = {
-    version = "2.6.3";
-    source = {
-      type = "gem";
-      sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp";
-    };
-    dependencies = [
-      "mime-types"
-    ];
-  };
-  "method_source" = {
-    version = "0.8.2";
-    source = {
-      type = "gem";
-      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
-    };
-  };
-  "mime-types" = {
-    version = "2.4.3";
-    source = {
-      type = "gem";
-      sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq";
-    };
-  };
-  "mini_portile" = {
-    version = "0.6.1";
-    source = {
-      type = "gem";
-      sha256 = "07gah4k84sar9d850v9gip9b323pw74vwwndh3bbzxpw5iiwsd3l";
-    };
-  };
-  "minitest" = {
-    version = "5.5.1";
-    source = {
-      type = "gem";
-      sha256 = "1h8jn0rgmwy37jnhfcg55iilw0n370vgp8xnh0g5laa8rhv32fyn";
-    };
-  };
-  "multi_json" = {
-    version = "1.10.1";
-    source = {
-      type = "gem";
-      sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c";
-    };
-  };
-  "netrc" = {
-    version = "0.8.0";
-    source = {
-      type = "gem";
-      sha256 = "1j4jbdvd19kq34xiqx1yqb4wmcywyrlaky8hrh09c1hz3c0v5dkb";
-    };
-  };
-  "nokogiri" = {
-    version = "1.6.5";
-    source = {
-      type = "gem";
-      sha256 = "1xmxz6fa0m4p7c7ngpgz6gjgv65lzz63dsf0b6vh7gs2fkiw8j7l";
-    };
-    dependencies = [
-      "mini_portile"
-    ];
-  };
-  "phantomjs" = {
-    version = "1.9.7.1";
-    source = {
-      type = "gem";
-      sha256 = "14as0yzwbzvshbp1f8igjxcdxc5vbjgh0jhdvy393il084inlrl7";
-    };
-  };
-  "pry" = {
-    version = "0.10.1";
-    source = {
-      type = "gem";
-      sha256 = "1j0r5fm0wvdwzbh6d6apnp7c0n150hpm9zxpm5xvcgfqr36jaj8z";
-    };
-    dependencies = [
-      "coderay"
-      "method_source"
-      "slop"
-    ];
-  };
-  "pry-byebug" = {
-    version = "2.0.0";
-    source = {
-      type = "gem";
-      sha256 = "17b6720ci9345wkzj369ydyj6hdlg2krd26zivpd4dvaijszzgzq";
-    };
-    dependencies = [
-      "byebug"
-      "pry"
-    ];
-  };
-  "pry-stack_explorer" = {
-    version = "0.4.9.1";
-    source = {
-      type = "gem";
-      sha256 = "1828jqcfdr9nk86n15ky199vf33cfz51wkpv6kx230g0dsh9r85z";
-    };
-    dependencies = [
-      "binding_of_caller"
-      "pry"
-    ];
-  };
-  "puma" = {
-    version = "2.8.2";
-    source = {
-      type = "gem";
-      sha256 = "1l57fmf8vyxfjv7ab5znq0k339cym5ghnm5xxfvd1simjp73db0k";
-    };
-    dependencies = [
-      "rack"
-    ];
-  };
-  "rack" = {
-    version = "1.5.2";
-    source = {
-      type = "gem";
-      sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6";
-    };
-  };
-  "rack-protection" = {
-    version = "1.5.3";
-    source = {
-      type = "gem";
-      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
-    };
-    dependencies = [
-      "rack"
-    ];
-  };
-  "rack-test" = {
-    version = "0.6.3";
-    source = {
-      type = "gem";
-      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
-    };
-    dependencies = [
-      "rack"
-    ];
-  };
-  "rails" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "059mpljplmhfz8rr4hk40q67fllcpsy809m4mwwbkm8qwif2z5r0";
-    };
-    dependencies = [
-      "actionmailer"
-      "actionpack"
-      "actionview"
-      "activemodel"
-      "activerecord"
-      "activesupport"
-      "railties"
-      "sprockets-rails"
-    ];
-  };
-  "rails-observers" = {
-    version = "0.1.2";
-    source = {
-      type = "gem";
-      sha256 = "1lsw19jzmvipvrfy2z04hi7r29dvkfc43h43vs67x6lsj9rxwwcy";
-    };
-    dependencies = [
-      "activemodel"
-    ];
-  };
-  "railties" = {
-    version = "4.1.7";
-    source = {
-      type = "gem";
-      sha256 = "1n08h0rgj0aq5lvslnih6lvqz9wadpz6nnb25i4qhp37fhhyz9yz";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "rake"
-      "thor"
-    ];
-  };
-  "rake" = {
-    version = "10.4.0";
-    source = {
-      type = "gem";
-      sha256 = "0a10xzqc1lh6gjkajkslr0n40wjrniyiyzxkp9m5fc8wf7b74zw8";
-    };
-  };
-  "ref" = {
-    version = "1.0.5";
-    source = {
-      type = "gem";
-      sha256 = "19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la";
-    };
-  };
-  "rest-client" = {
-    version = "1.7.2";
-    source = {
-      type = "gem";
-      sha256 = "0h8c0prfi2v5p8iim3wm60xc4yripc13nqwq601bfl85k4gf25i0";
-    };
-    dependencies = [
-      "mime-types"
-      "netrc"
-    ];
-  };
-  "rspec-core" = {
-    version = "3.1.7";
-    source = {
-      type = "gem";
-      sha256 = "01bawvln663gffljwzpq3mrpa061cghjbvfbq15jvhmip3csxqc9";
-    };
-    dependencies = [
-      "rspec-support"
-    ];
-  };
-  "rspec-expectations" = {
-    version = "3.1.2";
-    source = {
-      type = "gem";
-      sha256 = "0m8d36wng1lpbcs54zhg1rxh63rgj345k3p0h0c06lgknz339nzh";
-    };
-    dependencies = [
-      "diff-lcs"
-      "rspec-support"
-    ];
-  };
-  "rspec-mocks" = {
-    version = "3.1.3";
-    source = {
-      type = "gem";
-      sha256 = "0gxk5w3klia4zsnp0svxck43xxwwfdqvhr3srv6p30f3m5q6rmzr";
-    };
-    dependencies = [
-      "rspec-support"
-    ];
-  };
-  "rspec-rails" = {
-    version = "3.1.0";
-    source = {
-      type = "gem";
-      sha256 = "1b1in3n1dc1bpf9wb3p3b2ynq05iacmr48jxzc73lj4g44ksh3wq";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "railties"
-      "rspec-core"
-      "rspec-expectations"
-      "rspec-mocks"
-      "rspec-support"
-    ];
-  };
-  "rspec-support" = {
-    version = "3.1.2";
-    source = {
-      type = "gem";
-      sha256 = "14y6v9r9lrh91ry9r79h85v0f3y9ja25w42nv5z9n0bipfcwhprb";
-    };
-  };
-  "safe_yaml" = {
-    version = "1.0.4";
-    source = {
-      type = "gem";
-      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
-    };
-  };
-  "sass" = {
-    version = "3.3.9";
-    source = {
-      type = "gem";
-      sha256 = "0k19vj73283i907z4wfkc9qdska2b19z7ps6lcr5s4qzwis1zkmz";
-    };
-  };
-  "simplecov" = {
-    version = "0.9.1";
-    source = {
-      type = "gem";
-      sha256 = "06hylxlalaxxldpbaqa54gc52wxdff0fixdvjyzr6i4ygxwzr7yf";
-    };
-    dependencies = [
-      "docile"
-      "multi_json"
-      "simplecov-html"
-    ];
-  };
-  "simplecov-html" = {
-    version = "0.8.0";
-    source = {
-      type = "gem";
-      sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9";
-    };
-  };
-  "sinatra" = {
-    version = "1.4.5";
-    source = {
-      type = "gem";
-      sha256 = "0qyna3wzlnvsz69d21lxcm3ixq7db08mi08l0a88011qi4qq701s";
-    };
-    dependencies = [
-      "rack"
-      "rack-protection"
-      "tilt"
-    ];
-  };
-  "slop" = {
-    version = "3.6.0";
-    source = {
-      type = "gem";
-      sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
-    };
-  };
-  "sprockets" = {
-    version = "2.12.3";
-    source = {
-      type = "gem";
-      sha256 = "1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2";
-    };
-    dependencies = [
-      "hike"
-      "multi_json"
-      "rack"
-      "tilt"
-    ];
-  };
-  "sprockets-rails" = {
-    version = "2.2.4";
-    source = {
-      type = "gem";
-      sha256 = "172cdg38cqsfgvrncjzj0kziz7kv6b1lx8pccd0blyphs25qf4gc";
-    };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "sprockets"
-    ];
-  };
-  "teaspoon" = {
-    version = "0.8.0";
-    source = {
-      type = "gem";
-      sha256 = "1j3brbm9cv5km9d9wzb6q2b3cvc6m254z48h7h77z1w6c5wr0p3z";
-    };
-    dependencies = [
-      "railties"
-    ];
-  };
-  "term-ansicolor" = {
-    version = "1.3.0";
-    source = {
-      type = "gem";
-      sha256 = "1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b";
-    };
-    dependencies = [
-      "tins"
-    ];
-  };
-  "therubyracer" = {
-    version = "0.12.1";
-    source = {
-      type = "gem";
-      sha256 = "106fqimqyaalh7p6czbl5m2j69z8gv7cm10mjb8bbb2p2vlmqmi6";
-    };
-    dependencies = [
-      "libv8"
-      "ref"
-    ];
-  };
-  "thor" = {
-    version = "0.19.1";
-    source = {
-      type = "gem";
-      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
-    };
-  };
-  "thread_safe" = {
-    version = "0.3.4";
-    source = {
-      type = "gem";
-      sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n";
-    };
-  };
-  "tilt" = {
-    version = "1.4.1";
-    source = {
-      type = "gem";
-      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
-    };
-  };
-  "tins" = {
-    version = "1.3.3";
-    source = {
-      type = "gem";
-      sha256 = "14jnsg15wakdk1ljh2iv9yvzk8nb7gpzd2zw4yvjikmffqjyqvna";
-    };
-  };
-  "tzinfo" = {
-    version = "1.2.2";
-    source = {
-      type = "gem";
-      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
-    };
-    dependencies = [
-      "thread_safe"
-    ];
-  };
-  "uglifier" = {
-    version = "2.5.1";
-    source = {
-      type = "gem";
-      sha256 = "1vihq309mzv9a2i0s8v4imrn1g2kj8z0vr88q3i5b657c4kxzfp0";
-    };
-    dependencies = [
-      "execjs"
-      "json"
-    ];
-  };
-  "webmock" = {
-    version = "1.20.4";
-    source = {
-      type = "gem";
-      sha256 = "01cz13ybxbbvkpl21bcfv0p9ir8m2zcplx93ps01ma54p25z4mxr";
-    };
-    dependencies = [
-      "addressable"
-      "crack"
-    ];
-  };
-  "xpath" = {
-    version = "2.0.0";
-    source = {
-      type = "gem";
-      sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
-    };
-    dependencies = [
-      "nokogiri"
-    ];
-  };
-  "zeroclipboard-rails" = {
-    version = "0.1.0";
-    source = {
-      type = "gem";
-      sha256 = "00ixal0a0mxaqsyzp06c6zz4qdwqydy1qv4n7hbyqfhbmsdalcfc";
-    };
-    dependencies = [
-      "railties"
-    ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/pig/default.nix b/pkgs/applications/networking/cluster/pig/default.nix
index 49c57b470289..45dcfb1738c1 100644
--- a/pkgs/applications/networking/cluster/pig/default.nix
+++ b/pkgs/applications/networking/cluster/pig/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
 
-  name = "pig-0.14.0";
+  name = "pig-0.16.0";
 
   src = fetchurl {
     url = "mirror://apache/pig/${name}/${name}.tar.gz";
-    sha256 = "183in34cj93ny3lhqyq76g9pjqgw1qlwakk5v6x847vrlkfndska";
+    sha256 = "0p79grz5islnq195lv7pqdxb5l3v4y0k0w63602827qs70zpr508";
 
   };
 
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
index 79500a33bf80..6401194eac20 100644
--- a/pkgs/applications/networking/cluster/spark/default.nix
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -1,24 +1,16 @@
-{ stdenv, fetchzip, makeWrapper, jre, pythonPackages
+{ stdenv, fetchzip, makeWrapper, jre, pythonPackages, coreutils, hadoop
 , RSupport? true, R
 , mesosSupport ? true, mesos
 , version
 }:
 
 let
-  versionMap = {
-    "1.6.3" = {
-                hadoopVersion = "cdh4";
-                sparkSha256 = "00il083cjb9xqzsma2ifphq9ggichwndrj6skh2z5z9jk3z0lgyn";
-              };
-    "2.2.0" = {
-                hadoopVersion = "hadoop2.7";
-                sparkSha256 = "0wjjn2pgalrcji8avhj5d48kl1mf7rhrdxhzf29dbiszq4fkx0s6";
-              };
-  };
+  sha256 = {
+    "1.6.3" = "142hw73wf20d846l83ydx0yg7qj5qxywm4h7qrhwnd7lsy2sbnjf";
+    "2.2.1" = "10nxsf9a6hj1263sxv0cbdqxdb8mb4cl6iqq32ljq9ydvk32s99c";
+  }.${version};
 in
 
-with versionMap.${version};
-
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
@@ -26,15 +18,15 @@ stdenv.mkDerivation rec {
   name = "spark-${version}";
 
   src = fetchzip {
-    url    = "mirror://apache/spark/${name}/${name}-bin-${hadoopVersion}.tgz";
-    sha256 = sparkSha256;
+    inherit sha256;
+    url    = "mirror://apache/spark/${name}/${name}-bin-without-hadoop.tgz";
   };
 
   buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]
     ++ optional RSupport R
     ++ optional mesosSupport mesos;
 
-  untarDir = "${name}-bin-${hadoopVersion}";
+  untarDir = "${name}-bin-without-hadoop";
   installPhase = ''
     mkdir -p $out/{lib/${untarDir}/conf,bin,/share/java}
     mv * $out/lib/${untarDir}
@@ -46,6 +38,7 @@ stdenv.mkDerivation rec {
     cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF
     export JAVA_HOME="${jre}"
     export SPARK_HOME="$out/lib/${untarDir}"
+    export SPARK_DIST_CLASSPATH=$(${hadoop}/bin/hadoop classpath)
     export PYSPARK_PYTHON="${pythonPackages.python}/bin/${pythonPackages.python.executable}"
     export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH"
     ${optionalString RSupport
@@ -57,6 +50,7 @@ stdenv.mkDerivation rec {
 
     for n in $(find $out/lib/${untarDir}/bin -type f ! -name "*.*"); do
       makeWrapper "$n" "$out/bin/$(basename $n)"
+      substituteInPlace "$n" --replace dirname ${coreutils.out}/bin/dirname
     done
     ln -s $out/lib/${untarDir}/lib/spark-assembly-*.jar $out/share/java
   '';
@@ -66,7 +60,7 @@ stdenv.mkDerivation rec {
     homepage         = "http://spark.apache.org";
     license          = stdenv.lib.licenses.asl20;
     platforms        = stdenv.lib.platforms.all;
-    maintainers      = with maintainers; [ thoughtpolice offline ];
+    maintainers      = with maintainers; [ thoughtpolice offline kamilchm ];
     repositories.git = git://git.apache.org/spark.git;
   };
 }
diff --git a/pkgs/applications/networking/cluster/taktuk/default.nix b/pkgs/applications/networking/cluster/taktuk/default.nix
index 313e1af707b8..1510dc575cc9 100644
--- a/pkgs/applications/networking/cluster/taktuk/default.nix
+++ b/pkgs/applications/networking/cluster/taktuk/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, perl , openssh}:
 
 stdenv.mkDerivation rec {
-  version = "3.7.5";
+  version = "3.7.7";
   name = "taktuk-${version}";
 
   buildInputs = [ perl ];
 
   src = fetchurl {
     url = "https://gforge.inria.fr/frs/download.php/33412/${name}.tar.gz";
-    sha256 = "d96ef6c63d77f32339066f143ef7e0bc00041e10724254bf15787746ad1f1070";
+    sha256 = "0w0h3ynlcxvq2nzm8hkj20g0805ww3vkw53g0qwj7wvp7p3gcvnr";
   };
 
   preBuild = ''
diff --git a/pkgs/applications/networking/cluster/terraform-landscape/Gemfile b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile
new file mode 100644
index 000000000000..c4f9a5511de9
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'terraform_landscape'
diff --git a/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock
new file mode 100644
index 000000000000..047ddaadad07
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock
@@ -0,0 +1,25 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    colorize (0.8.1)
+    commander (4.4.4)
+      highline (~> 1.7.2)
+    diffy (3.2.0)
+    highline (1.7.10)
+    polyglot (0.3.5)
+    terraform_landscape (0.1.17)
+      colorize (~> 0.7)
+      commander (~> 4.4)
+      diffy (~> 3.0)
+      treetop (~> 1.6)
+    treetop (1.6.9)
+      polyglot (~> 0.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  terraform_landscape
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/applications/networking/cluster/terraform-landscape/default.nix b/pkgs/applications/networking/cluster/terraform-landscape/default.nix
new file mode 100644
index 000000000000..a0dca341ff3e
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-landscape/default.nix
@@ -0,0 +1,19 @@
+{ lib, bundlerEnv, ruby }:
+
+bundlerEnv rec {
+  name = "terraform-landscape-${version}";
+
+  version = (import gemset).terraform_landscape.version;
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  meta = with lib; {
+    description = "Improve Terraform's plan output to be easier to read and understand";
+    homepage    = https://github.com/coinbase/terraform-landscape;
+    license     = with licenses; apsl20;
+    maintainers = with maintainers; [ mbode ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix b/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix
new file mode 100644
index 000000000000..38321b9d37aa
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix
@@ -0,0 +1,61 @@
+{
+  colorize = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b";
+      type = "gem";
+    };
+    version = "0.8.1";
+  };
+  commander = {
+    dependencies = ["highline"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "165yr8qzan3gnk241mnwxsvdfwp6p1afg13z0mqdily6lh95acl9";
+      type = "gem";
+    };
+    version = "4.4.4";
+  };
+  diffy = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "015nn9zaciqj43mfpjlw619r5dvnfkrjcka8nsa6j260v6qya941";
+      type = "gem";
+    };
+    version = "3.2.0";
+  };
+  highline = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y";
+      type = "gem";
+    };
+    version = "1.7.10";
+  };
+  polyglot = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  terraform_landscape = {
+    dependencies = ["colorize" "commander" "diffy" "treetop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bx8nfqbpxb2hnxnnl1m4sq6jlzf451c85m047jfq04b6w9691fl";
+      type = "gem";
+    };
+    version = "0.1.17";
+  };
+  treetop = {
+    dependencies = ["polyglot"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sdkd1v2h8dhj9ncsnpywmqv7w1mdwsyc5jwyxlxwriacv8qz8bd";
+      type = "gem";
+    };
+    version = "1.6.9";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix b/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix
new file mode 100644
index 000000000000..66bf20c2b843
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+#
+# USAGE:
+# install the following package globally or in nix-shell:
+#
+#   (terraform.withPlugins ( plugins: [ terraform-provider-ibm ]))
+#
+# examples:
+# https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples
+#
+
+buildGoPackage rec {
+  name = "terraform-provider-ibm-${version}";
+  version = "0.10.0";
+
+  goPackagePath = "github.com/terraform-providers/terraform-provider-ibm";
+  subPackages = [ "./" ];
+
+  src = fetchFromGitHub {
+    owner = "IBM-Cloud";
+    repo = "terraform-provider-ibm";
+    sha256 = "03drvhhh6pkk8yzzp8iiq478kcky9swxvxadxzxh0v4jzdprg9lr";
+    rev = "v${version}";
+  };
+
+  # Terraform allow checking the provider versions, but this breaks
+  # if the versions are not provided via file paths.
+  postBuild = "mv go/bin/terraform-provider-ibm{,_v${version}}";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/IBM-Cloud/terraform-provider-ibm;
+    description = "Terraform provider is used to manage IBM Cloud resources.";
+    platforms = platforms.all;
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ jensbin ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix b/pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix
new file mode 100644
index 000000000000..34a3be55f305
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig, makeWrapper, cdrtools }:
+
+# USAGE:
+# install the following package globally or in nix-shell:
+#
+#   (terraform.withPlugins (old: [terraform-provider-libvirt]))
+#
+# configuration.nix:
+#
+#   virtualisation.libvirtd.enable = true;
+#
+# terraform-provider-libvirt does not manage pools at the moment:
+#
+#   $ virsh --connect "qemu:///system" pool-define-as default dir - - - - /var/lib/libvirt/images
+#   $ virsh --connect "qemu:///system" pool-start default
+#
+# pick an example from (i.e ubuntu):
+# https://github.com/dmacvicar/terraform-provider-libvirt/tree/master/examples
+
+buildGoPackage rec {
+  name = "terraform-provider-libvirt-${version}";
+  version = "0.3";
+
+  goPackagePath = "github.com/dmacvicar/terraform-provider-libvirt";
+
+  src = fetchFromGitHub {
+    owner = "dmacvicar";
+    repo = "terraform-provider-libvirt";
+    rev = "v${version}";
+    sha256 = "004gxy55p5cf39f2zpah0i2zhvs4x6ixnxy8z9v7314604ggpkna";
+  };
+
+  buildInputs = [ libvirt pkgconfig makeWrapper ];
+
+  goDeps = ./deps.nix;
+
+  propagatedBuildInputs = [ cdrtools ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/dmacvicar/terraform-provider-libvirt;
+    description = "Terraform provider for libvirt";
+    platforms = platforms.linux;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mic92 ];
+  };
+}
+
diff --git a/pkgs/applications/networking/cluster/terraform-provider-libvirt/deps.nix b/pkgs/applications/networking/cluster/terraform-provider-libvirt/deps.nix
new file mode 100644
index 000000000000..fdf394073ab8
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-provider-libvirt/deps.nix
@@ -0,0 +1,12 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/aws/aws-sdk-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-sdk-go";
+      rev = "c861d27d0304a79f727e9a8a4e2ac1e74602fdc0";
+      sha256 = "023cyg551dvm2l50dx1qsikkj77lk2dhiya7by8in7h65av6hjgl";
+    };
+  }
+]
diff --git a/pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix b/pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix
new file mode 100644
index 000000000000..135e5402929a
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+buildGoPackage rec {
+  name = "terraform-provider-nixos-${version}";
+  version = "0.0.1";
+  goPackagePath = "github.com/tweag/terraform-provider-nixos";
+  src = fetchFromGitHub {
+    owner = "tweag";
+    repo = "terraform-provider-nixos";
+    sha256 = "00vz6qjq1pk39iqg4356b8g3c6slla9jifkv2knk46gc9q93q0lf";
+    rev = "v${version}";
+  };
+
+  # Terraform allow checking the provider versions, but this breaks
+  # if the versions are not provided via file paths.
+  postBuild = "mv go/bin/terraform-provider-nixos{,_v${version}}";
+
+  meta = with stdenv.lib; {
+    description = "Terraform plugin for outputting NixOS configuration files from Terraform resources.";
+    homepage = "https://github.com/tweag/terraform-provider-nixos";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ grahamc ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index a7c5bf4046bf..4f45de76d161 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -44,6 +44,9 @@ let
         let
           actualPlugins = plugins terraform.plugins;
 
+          # Wrap PATH of plugins propagatedBuildInputs, plugins may have runtime dependencies on external binaries
+          wrapperInputs = lib.unique (lib.flatten (lib.catAttrs "propagatedBuildInputs" (builtins.filter (x: x != null) actualPlugins)));
+
           passthru = {
             withPlugins = newplugins: withPlugins (x: newplugins x ++ actualPlugins);
 
@@ -57,22 +60,23 @@ let
           # of plugins, which might be counterintuitive if someone just wants a vanilla Terraform.
           if actualPlugins == []
             then terraform.overrideAttrs (orig: { passthru = orig.passthru // passthru; })
-            else stdenv.mkDerivation {
-              name = "${terraform.name}-with-plugins";
+            else lib.appendToName "with-plugins "(stdenv.mkDerivation {
+              inherit (terraform) name;
               buildInputs = [ makeWrapper ];
 
               buildCommand = ''
                 mkdir -p $out/bin/
                 makeWrapper "${terraform.bin}/bin/terraform" "$out/bin/terraform" \
-                  --set NIX_TERRAFORM_PLUGIN_DIR "${buildEnv { name = "tf-plugin-env"; paths = actualPlugins; }}/bin"
+                  --set NIX_TERRAFORM_PLUGIN_DIR "${buildEnv { name = "tf-plugin-env"; paths = actualPlugins; }}/bin" \
+                  --prefix PATH : "${lib.makeBinPath wrapperInputs}"
               '';
 
               inherit passthru;
-            };
+            });
     in withPlugins (_: []);
 
   plugins = import ./providers { inherit stdenv lib buildGoPackage fetchFromGitHub; };
-in {
+in rec {
   terraform_0_8_5 = generic {
     version = "0.8.5";
     sha256 = "1cxwv3652fpsbm2zk1akw356cd7w7vhny1623ighgbz9ha8gvg09";
@@ -97,10 +101,14 @@ in {
     passthru = { inherit plugins; };
   });
 
+  terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues;
+
   terraform_0_11 = pluggable (generic {
-    version = "0.11.1";
-    sha256 = "04qyhlif3b3kjs3m6c3mx45sgr5r13x55aic638zzlrhbpmqiih1";
+    version = "0.11.7";
+    sha256 = "0q5gl8yn1f8fas1v68lz081k88gbmlk7f2xqlwqmh01qpqjxd42q";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
+
+  terraform_0_11-full = terraform_0_11.withPlugins lib.attrValues;
 }
diff --git a/pkgs/applications/networking/cluster/terraform/providers/data.nix b/pkgs/applications/networking/cluster/terraform/providers/data.nix
index fb778b4c221b..7aed4b95dd45 100644
--- a/pkgs/applications/networking/cluster/terraform/providers/data.nix
+++ b/pkgs/applications/networking/cluster/terraform/providers/data.nix
@@ -4,15 +4,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-alicloud";
-      version = "1.2.0";
-      sha256  = "0v3ji83igjf3b7lp8525j42jxwlvbxws1d7q72v20xlnbyz03h3x";
+      version = "1.9.1";
+      sha256  = "11rsvzyc74v14n7g0z1mwyykaz7m6bmvi38jx711b6vpxvm2scva";
     };
   archive =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-archive";
-      version = "1.0.0";
-      sha256  = "0z85fpd70m2w59vxp82d8ipylaazf6l890rkjca4dm14rkq352zn";
+      version = "1.0.3";
+      sha256  = "1il8v9zi838naprr8dqzipk6ns71l8vdqidarxklnn8wdwxmacg4";
     };
   arukas =
     {
@@ -32,13 +32,13 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-aws";
-      version = "1.5.0";
-      sha256  = "1c1mkb3299ahf3w58zkk7ilkasflwj2n1kqgddaylqqfcjykblyj";
+      version = "1.16.0";
+      sha256  = "0knivwxdjkxyaqka0vvn0lh2ndbg660dw2g03iw00fx6ska1zn0c";
     };
-  azure =
+  azure-classic =
     {
       owner   = "terraform-providers";
-      repo    = "terraform-provider-azure";
+      repo    = "terraform-provider-azure-classic";
       version = "0.1.1";
       sha256  = "11myqq3wnxvpysjycvwg7b14ll8d9vkn06xb3r26kmc42fkl5xv1";
     };
@@ -46,8 +46,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurerm";
-      version = "1.0.0";
-      sha256  = "0grpc7apfn03slkkily8agl8pv6mc0j58ch8fa6jgqcqy6dbd0kh";
+      version = "1.4.0";
+      sha256  = "0g1i1aasi44zn5bdivzqkk1kshq271x2lydjskyqq7jfx27myibb";
     };
   bitbucket =
     {
@@ -81,29 +81,29 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudflare";
-      version = "0.1.0";
-      sha256  = "073j0kqkccj7yrqz6j4vx722vmy6mmvmgidamkjnhhjcwm6g1jbq";
+      version = "1.0.0";
+      sha256  = "1ar9wcgr45f2v6bqjn24zii0qwfppla8ya3gjc546sh1a7m0h9p3";
     };
   cloudscale =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudscale";
-      version = "1.0.0";
-      sha256  = "0yqiz4xywbd3568hl6va8da81fbc1hnynlz4z0vqxgi3bs8hhdhz";
+      version = "1.0.1";
+      sha256  = "0lhzwbm1a2s11s0ahb3vxfvshh385fgy1ficvip4rl31dahhwrav";
     };
   cloudstack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudstack";
-      version = "0.1.1";
-      sha256  = "09iqxpc5a6938qj1js2y9s4dcgk7hw69xga56ixpbbknms2yrhnb";
+      version = "0.1.5";
+      sha256  = "139wq6rr6fczjz496fqkxh6cmscx5hfnv2hvhfwpkhvqipsnlxmq";
     };
   cobbler =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cobbler";
-      version = "1.0.0";
-      sha256  = "0v7j9r2ic3ks2hy80mx5xay05m6r52vclsbbbf9vb0srnrvz21gy";
+      version = "1.0.1";
+      sha256  = "1z0iijfrbbdrgszvc7jlcr4105zragbc0iq8x48vi24yipqgf5a8";
     };
   consul =
     {
@@ -116,8 +116,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-datadog";
-      version = "1.0.1";
-      sha256  = "1a5acwxqwasckkyj9h33kgn1cmnmn14x4fg19kz742zwfyjmncwj";
+      version = "1.0.3";
+      sha256  = "0nh2dww3hx6jrkcd9lq5hpnqr3grp9cmqi4nwmxlrc5azf8x0mii";
     };
   digitalocean =
     {
@@ -172,15 +172,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-fastly";
-      version = "0.1.2";
-      sha256  = "1z7nsgqqzvily9rxr79yjv6jfx56896c9lxb8flmzwjz6b6mvnz7";
+      version = "0.1.4";
+      sha256  = "0x8s11c30k9a95mafyb2zl3wh9hgbdm7jgajzy5y4xnnr96ca13k";
     };
   github =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-github";
-      version = "0.1.1";
-      sha256  = "0f6nk9nb8h8247rz7x1w11amp0qdcmy1alr8jgd2chrjv9f8nif0";
+      version = "1.0.0";
+      sha256  = "0nca90s4bangraly1pcn3jfkfksaw0g2chs5ba6m7z6bhkrj2ylb";
     };
   gitlab =
     {
@@ -193,29 +193,29 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google";
-      version = "1.4.0";
-      sha256  = "0nlm02ibp2w4m38pvmw6r29807863h23y8k00ywmkcr7yiy1zilr";
+      version = "1.10.0";
+      sha256  = "08ayi30aqw9lz8qn982vl9m3z4prah60fqq2q9hvscf6qb9g8lr0";
     };
   grafana =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-grafana";
-      version = "1.0.0";
-      sha256  = "0fsdin1rd7hah6pp3x568db2mmk66q0fhiplsri7vyj03n3z55v2";
+      version = "1.0.2";
+      sha256  = "17pj4mm7ik9llhgckza822866x6986cdcr821f16dchvn3bfbf2i";
     };
   heroku =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-heroku";
-      version = "0.1.1";
-      sha256  = "0i5pdb05qkd6h9zyr88ppsiii6g6zjc5096xblizvmiww7mp81gn";
+      version = "0.1.2";
+      sha256  = "0dmq5v4bwzndy6l6vx29m5ykn2zhnnbmnla00ad8i7djm1sj1fbg";
     };
   http =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-http";
-      version = "1.0.0";
-      sha256  = "1lks997sxfydm6a9s6vfyljs3j1r7qpg1k1s5ilpg5ckv77nad6g";
+      version = "1.0.1";
+      sha256  = "1bnqrx4xya3lm5wp4byy6npazll6w1g6bv4rawgncswsgx08zqng";
     };
   icinga2 =
     {
@@ -235,15 +235,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-influxdb";
-      version = "0.1.0";
-      sha256  = "0msc6maxsiwmsg8ppdfj1397c66llhaf15nc4hmr2h6dxqkb5wl5";
+      version = "1.0.0";
+      sha256  = "1w1izzs22b2w2qmpdxbhaj9kvnfyw0wlq3nigrigwwvqav43knh9";
     };
   kubernetes =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-kubernetes";
-      version = "1.0.1";
-      sha256  = "0s8h8nxsl07bhvynmgps07giqr2xmxizk1rcx4xivfc3q5mkvnhb";
+      version = "1.1.0";
+      sha256  = "1lhdmglc6nd24ss7z41qqbpsiy71ajvixhq4pfiq0b19hwj6awgn";
     };
   librato =
     {
@@ -256,22 +256,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-local";
-      version = "1.0.0";
-      sha256  = "1dxdpmai8f0g1gj6khgv769lhg6ssfmgqskg4c5qf1jnv8yn8mkd";
+      version = "1.1.0";
+      sha256  = "1qxfyyg8k43rw0gny4dadamc2a9hk3x6ybdivifjc17m7il0janc";
     };
   logentries =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-logentries";
-      version = "0.1.0";
-      sha256  = "11fkb84gqcq59wk5kqn3h428jrc2gkl659zxmkdldad6jdll9ypa";
+      version = "1.0.0";
+      sha256  = "04xprkb9zwdjyzmsdf10bgmn8sa8q7jw0izz8lw0cc9hag97qgbq";
     };
   logicmonitor =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-logicmonitor";
-      version = "1.0.0";
-      sha256  = "106y74w9nhqs65h26ipyjg636zcrnpn5s8r49sg4kh4ynvnrkv8v";
+      version = "1.1.0";
+      sha256  = "16blwfbvx80j5s6809wrlfnkq0qvjasz0zi4ykwzvkqxh00igj7r";
     };
   mailgun =
     {
@@ -284,29 +284,36 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-mysql";
-      version = "1.0.0";
-      sha256  = "1vkr1gg9adrkzlbdy0w0wn1ap5zla1k54kxfmd5jndw4hzgysi82";
+      version = "1.1.0";
+      sha256  = "06alk5vd20wzf493dw8hb80q0sx0kw4j8g1sd0193fhni0k4rflw";
     };
   newrelic =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-newrelic";
-      version = "0.1.1";
-      sha256  = "1fqgxcspkgm3ncsqbvw79h5n09agba7q80nz0mrq09x0pyk8y051";
+      version = "1.0.0";
+      sha256  = "1bcxq4f50qci54gckx4yax2v2qpazp10n5vcci4cba0bf5l8zx62";
     };
   nomad =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nomad";
-      version = "1.1.0";
-      sha256  = "0n3bd9fiablhb2zxmlqnidahdqlpj3i7701vi62zds04kcgdkxw8";
+      version = "1.2.0";
+      sha256  = "1z3knyjn5ymbk4vaja4ka9zn57cgl7vr7hqv6ybqw0q9i2ykaici";
     };
   ns1 =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ns1";
-      version = "0.1.0";
-      sha256  = "1in9ggrvxfb3maxhgiv997hndkpnqpgx1c1365lfizhp7km5ncvj";
+      version = "1.0.0";
+      sha256  = "0zjdhz6miwlg3b68pbd99c6nw7hhyzxy736734xz8g3w89xn18f5";
+    };
+  nsxt =
+    {
+      owner   = "terraform-providers";
+      repo    = "terraform-provider-nsxt";
+      version = "1.0.0";
+      sha256  = "09yliw59wp9flfgmkznbf4syl510wpxsplzr8sa9m2vw0yc78jnq";
     };
   null =
     {
@@ -319,22 +326,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oneandone";
-      version = "0.1.0";
-      sha256  = "18bbpcprjib4d4skjdr76xjxi9091h5b3dls68y6bxkk6sh6av1i";
+      version = "1.0.0";
+      sha256  = "0q14r36iyn1c1wfky42imkzvkys5znj1yzq27iaxnrsqp4hh7pl2";
     };
   opc =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opc";
-      version = "0.1.3";
-      sha256  = "00h531pikjrmra2sr24lnx2z0dvycshd0qpz3wa733mkvvm47p07";
+      version = "1.1.0";
+      sha256  = "19yip5v00b57j3h7870hw51nsxcwib7mlhdzzn276z74af6zirsr";
     };
   openstack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-openstack";
-      version = "1.1.0";
-      sha256  = "1w747qbk24b18v6x7l4n08pxnwak395fq1grajpxf3qw6afchjdj";
+      version = "1.3.0";
+      sha256  = "0pyp95i6z6il2kl28cvilqi81wqs076d6f0zacjyvmn1d0blqrnx";
     };
   opentelekomcloud =
     {
@@ -350,33 +357,47 @@
       version = "0.1.0";
       sha256  = "0zs0cl6jl4rijcs6vv5k8k5pyf0zs52dlgqcnb1gzslh8sg5pdkm";
     };
+  oraclepaas =
+    {
+      owner   = "terraform-providers";
+      repo    = "terraform-provider-oraclepaas";
+      version = "1.0.0";
+      sha256  = "1h66ijnq172zk0bkv68iq0sy5l6jlasa2pi9q8fq54ib9sxnfkk2";
+    };
   ovh =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ovh";
-      version = "0.1.0";
-      sha256  = "052bnfw146h9nh3cw77clwwxbmw1gvaich2yw39v4b1ca8brm5dr";
+      version = "0.2.0";
+      sha256  = "12dpgx0fpmqw64v5a70fihbgixyw71bdjbdi17gal7s2pj1xw159";
     };
   packet =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-packet";
-      version = "1.1.0";
-      sha256  = "0848y78jri1kzd70xcgv0p62yww46d0kr9zpqwh32m866xx5isfi";
+      version = "1.2.3";
+      sha256  = "0vx2pvrxgpy137v3i563w0sdqqrqp6p6sls27fg76cfxrqik5dpk";
     };
   pagerduty =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-pagerduty";
-      version = "0.1.2";
-      sha256  = "1dqzi53bnk4qcjhlimr13352nzb1nsij7354zapz2sgnz21v89mm";
+      version = "1.1.0";
+      sha256  = "100zxmpgd5qbzivkc2ja75980yrlz0k50x7448wf1kp2inyylxq0";
+    };
+  panos =
+    {
+      owner   = "terraform-providers";
+      repo    = "terraform-provider-panos";
+      version = "1.1.0";
+      sha256  = "1j3j0bdblw54g2l4xdwm9604n3qfb6zb4b8p081hs5nv004awka4";
     };
   postgresql =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-postgresql";
-      version = "0.1.0";
-      sha256  = "0gg48b2zn18ynvhnabvyfvw5wif0m1a852798wahv8fbv5d1vh7j";
+      version = "0.1.1";
+      sha256  = "0ls5z02vaalcrbaq375qnk0267pb17rpsx4s3plfnr7qclv21pwn";
     };
   powerdns =
     {
@@ -389,8 +410,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-profitbricks";
-      version = "1.0.0";
-      sha256  = "15j66mm7mkwblwncb5s0xbcz7jz99mzswhppzxchwkbk3325syyx";
+      version = "1.1.1";
+      sha256  = "0sn48adgpjw20a6jwagarnh5jasq0v36zsbd204j0vx4iam3vm9m";
     };
   rabbitmq =
     {
@@ -403,15 +424,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rancher";
-      version = "1.1.1";
-      sha256  = "1gs62yd31kywg2yhnikli1khai1n0lwy8pb3g7k5ad8ibffjskmz";
+      version = "1.2.0";
+      sha256  = "0xxff4mh4cv27mignvanhsz5sf5476ljk7q4h67fy4y0gzyxwpzw";
     };
   random =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-random";
-      version = "1.1.0";
-      sha256  = "1mal0pg37a99q0sjqbccwc2ipwvxm8lqp93lg8i96f868hiv4yzl";
+      version = "1.2.0";
+      sha256  = "00gzqav21h2x2spczwcddlwl0llhgy03djvjjq9g9wb5yvcf4yll";
     };
   rundeck =
     {
@@ -424,8 +445,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-scaleway";
-      version = "1.0.0";
-      sha256  = "0zp9hhvlcn6cpnblwrr03icbagzk745b0lrm5bs23crbnddal905";
+      version = "1.3.0";
+      sha256  = "1yd2xdr52z0f3ykfhsfgf57zzhjglci8mvbimdf6z8xmdgfhwjbf";
     };
   softlayer =
     {
@@ -466,15 +487,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tls";
-      version = "1.0.1";
-      sha256  = "0mzm1pkqgcslz3j4an1vpx92hnqa53ly0kp3zix8kp2kfnn17qky";
+      version = "1.1.0";
+      sha256  = "1kzq6al9rzpmk98bmxcf5gjx5s28gfjp1xvdsnd4a113pljn0ddb";
     };
   triton =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-triton";
-      version = "0.3.0";
-      sha256  = "0x8cws41mpxcwd4hf380gizhdnnfs2df5pwcc417sbp2706cai1h";
+      version = "0.5.0";
+      sha256  = "1cbv4bliswiwbhr9bh2m4faazhj0v89jnwn0fndfjw3rka1b97h7";
     };
   ultradns =
     {
@@ -487,8 +508,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vault";
-      version = "1.0.0";
-      sha256  = "1v4b8zs0s48gqgsh719hwi69i4h8i5vvp2g5m881z5yzv7n7haqw";
+      version = "1.1.0";
+      sha256  = "1g0cca662glqcz83l1skhj3nb7g386x65kwz95kyp59nvyxywvbq";
     };
   vcd =
     {
@@ -501,7 +522,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vsphere";
-      version = "1.1.1";
-      sha256  = "1y209bwkk79ycxjl3b6c20n0z2g5d6njna85w68a0w6npk88zva9";
+      version = "1.4.1";
+      sha256  = "16dgszmcsfzbflqg053av1v8wgwy8m6f2qlk55fg3ww1a59c0wy1";
     };
 }
diff --git a/pkgs/applications/networking/cluster/terraform/providers/default.nix b/pkgs/applications/networking/cluster/terraform/providers/default.nix
index 8d41df24d8ce..40117b458550 100644
--- a/pkgs/applications/networking/cluster/terraform/providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/providers/default.nix
@@ -11,11 +11,15 @@ let
         inherit owner repo sha256;
         rev = "v${version}";
       };
+
+      # Terraform allow checking the provider versions, but this breaks
+      # if the versions are not provided via file paths.
+      postBuild = "mv go/bin/${repo}{,_v${version}}";
     };
 
   maybeDrv = name: data:
-    # vsphere is currently broken
-    if name == "vsphere" then null
+    # azure-classic is an archived repo
+    if name == "azure-classic" then null
     else toDrv data;
 in
   lib.mapAttrs maybeDrv list
diff --git a/pkgs/applications/networking/cluster/terraform/providers/update-all b/pkgs/applications/networking/cluster/terraform/providers/update-all
index 16eb6004e3ee..24695066fa28 100755
--- a/pkgs/applications/networking/cluster/terraform/providers/update-all
+++ b/pkgs/applications/networking/cluster/terraform/providers/update-all
@@ -58,7 +58,7 @@ cd "$(dirname "$0")"
 
 if [[ -z "${GITHUB_AUTH:-}" ]]; then
   cat <<'HELP'
-Missing the GITHUB_AUTH env. Thi is required to work around the 60 request
+Missing the GITHUB_AUTH env. This is required to work around the 60 request
 per hour rate-limit.
 
 Go to https://github.com/settings/tokens and create a new token with the
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 576daa88127a..996c994cf4cf 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, terraform, makeWrapper }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub, terraform-full, makeWrapper }:
 
 buildGoPackage rec {
   name = "terragrunt-${version}";
-  version = "0.13.23";
+  version = "0.14.6";
 
   goPackagePath = "github.com/gruntwork-io/terragrunt";
 
   src = fetchFromGitHub {
-    rev    = "v${version}";
     owner  = "gruntwork-io";
     repo   = "terragrunt";
-    sha256 = "1xx3kw38vr563x3bn0rrg1iq4r51rl0qci2magwwng62cgh3zaiy";
+    rev    = "v${version}";
+    sha256 = "14zg1h76wfg6aa78llcnza7kapnl5ks6m2vg73b90azfi49fmkwz";
   };
 
   goDeps = ./deps.nix;
@@ -23,7 +23,7 @@ buildGoPackage rec {
 
   postInstall = ''
     wrapProgram $bin/bin/terragrunt \
-      --set TERRAGRUNT_TFPATH ${lib.getBin terraform}/bin/terraform
+      --set TERRAGRUNT_TFPATH ${lib.getBin terraform-full}/bin/terraform
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/terragrunt/deps.nix b/pkgs/applications/networking/cluster/terragrunt/deps.nix
index c371c756a152..8432a8366b7a 100644
--- a/pkgs/applications/networking/cluster/terragrunt/deps.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/aws/aws-sdk-go";
-      rev = "d0cb8551ac28d362e77ea475e5b7b2ebaec06b6b";
-      sha256 = "1546kb49wb1qjx6pz7aj4iygmqsjps70npb5csm5q08wxk63vhls";
+      rev = "25253087ea42da08900c4c1fc34c04bdb4a97d5a";
+      sha256 = "0p6mf53f4l9b26yc4qlm1s7yls73hsw8klyfhmnxhk2mq8k6ix4m";
     };
   }
   {
@@ -23,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-errors/errors";
-      rev = "3afebba5a48dbc89b574d890b6b34d9ee10b4785";
-      sha256 = "1vwgczqzd5i6bx12g9ln5cqfsbc7g0f8cz8yvcrasss2injpndi0";
+      rev = "a6af135bd4e28680facf08a3d206b454abc877a4";
+      sha256 = "0rznpknk19rxkr7li6dqs52c26pjazp69lh493l4ny4sxn5922lp";
     };
   }
   {
@@ -41,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/go-getter";
-      rev = "994f50a6f071b07cfbea9eca9618c9674091ca51";
-      sha256 = "1v2whvi9rnrkz4ji3b3sinvv3ahr5s4iyzchz00wjw0q2kdvj1zj";
+      rev = "64040d90d4ab861e7e833d689dc76a0f176d8dec";
+      sha256 = "0g25nx42z6ykd7jqzlrxf161h8lqrpxpddmbspl4w3a84wphhgms";
     };
   }
   {
@@ -50,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/go-version";
-      rev = "4fe82ae3040f80a03d04d2cccb5606a626b8e1ee";
-      sha256 = "0gq4207s1yf2nq4c2ir3bsai29svzz4830g1vbvzdrpis58r1x4m";
+      rev = "23480c0665776210b5fbbac6eaaee40e3e6a96b7";
+      sha256 = "056zs67diq3m7skmmq3pnz6wymfcg55dfs5zf86xkfqqpj10kyf7";
     };
   }
   {
@@ -59,8 +59,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/hcl";
-      rev = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8";
-      sha256 = "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc";
+      rev = "f40e974e75af4e271d97ce0fc917af5898ae7bda";
+      sha256 = "1w5w3m40xv85gngw8g1kjbcgah1vl4ardbpg2cxgj1svf80zazxx";
     };
   }
   {
@@ -68,8 +68,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-zglob";
-      rev = "4b74c24375b3b1ee226867156e01996f4e19a8d6";
-      sha256 = "1qc502an4q3wgvrd9zw6zprgm28d90d2f98bdamdf4js03jj22xn";
+      rev = "4959821b481786922ac53e7ef25c61ae19fb7c36";
+      sha256 = "0rwkdw143kphpmingsrw1zp030zf3p08f64h347jpdm4lz8z5449";
     };
   }
   {
@@ -95,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/mapstructure";
-      rev = "06020f85339e21b2478f756a78e295255ffa4d6a";
-      sha256 = "12zb5jh7ri4vna3f24y9g10nzrnz9wbvwnk29wjk3vg0ljia64s9";
+      rev = "00c29f56e2386353d58c599509e8dc3801b0d716";
+      sha256 = "1vw8fvhax0d567amgvxr7glcl12lvzg2sbzs007q5k5bbwn1szyb";
     };
   }
   {
@@ -104,8 +104,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "2aa2c176b9dab406a6970f6a55f513e8a8c8b18f";
-      sha256 = "1j92x4291flz3i4pk6bi3y59nnsi6lj34zmyfp7axf68fd8vm5ml";
+      rev = "c679ae2cc0cb27ec3293fea7e254e47386f05d69";
+      sha256 = "1rrdn7k83j492rzhqwkh6956sj8m2nbk44d7r1xa9nsn3hfwj691";
     };
   }
   {
@@ -122,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/urfave/cli";
-      rev = "39908eb08fee7c10d842622a114a5c133fb0a3c6";
-      sha256 = "1s0whq54xmcljdg94g6sghpf6mkhf6fdxxb18zg0yzzj6fz9yj8j";
+      rev = "8e01ec4cd3e2d84ab2fe90d8210528ffbb06d8ff";
+      sha256 = "0cpr10n4ps3gcdbcink71ry9hzhdb5rrcysmylybs8h2lzxqgc1i";
     };
   }
 ]