diff --git a/pkgs/applications/networking/cluster/kubernetes/dns.nix b/pkgs/applications/networking/cluster/kubernetes/dns.nix new file mode 100644 index 00000000000..3db9a5141d8 --- /dev/null +++ b/pkgs/applications/networking/cluster/kubernetes/dns.nix @@ -0,0 +1,42 @@ +{ stdenv, lib, buildGoPackage, fetchFromGitHub, go }: + +with lib; + +stdenv.mkDerivation rec { + name = "kube-dns-${version}"; + version = "1.14.1"; + + src = fetchFromGitHub { + owner = "kubernetes"; + repo = "dns"; + rev = "${version}"; + sha256 = "13l42wm2rcz1ina8hhhagbnck6f1gdbwj33dmnrr52pwi1xh52f7"; + }; + + buildInputs = [ go ]; + + buildPhase = '' + export GOPATH="$(pwd)/.gopath" + mkdir $GOPATH + ln -s $(pwd)/vendor $GOPATH/src + mkdir $GOPATH/src/k8s.io/dns + ln -s $(pwd)/cmd $GOPATH/src/k8s.io/dns/cmd + ln -s $(pwd)/pkg $GOPATH/src/k8s.io/dns/pkg + + # build only kube-dns, we do not need anything else + go build -o kube-dns ./cmd/kube-dns + ''; + + installPhase = '' + mkdir -p $out/bin + cp kube-dns $out/bin + ''; + + meta = { + description = "Kubernetes DNS service"; + license = licenses.asl20; + homepage = https://github.com/kubernetes/dns; + maintainers = with maintainers; [ matejc ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2b05d1d345c..0f317f89b9f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15119,6 +15119,8 @@ with pkgs; go = go_1_7; }; + kube-dns = callPackage ../applications/networking/cluster/kubernetes/dns.nix { }; + kupfer = callPackage ../applications/misc/kupfer { }; lame = callPackage ../development/libraries/lame { };