kubeval: don't build against schema by default

kubeval-schema is a huge 7GB repository that we do not want
to build on hydra. Therefore make it optional.

+17 -25
-25
pkgs/applications/networking/cluster/kubeval/default.nix
··· 1 1 { stdenv, lib, fetchFromGitHub, buildGoModule, makeWrapper }: 2 2 3 - let 4 - 5 - # Cache schema as a package so network calls are not 6 - # necessary at runtime, allowing use in package builds 7 - schema = stdenv.mkDerivation { 8 - name = "kubeval-schema"; 9 - src = fetchFromGitHub { 10 - owner = "instrumenta"; 11 - repo = "kubernetes-json-schema"; 12 - rev = "6a498a60dc68c5f6a1cc248f94b5cd1e7241d699"; 13 - sha256 = "1y9m2ma3n4h7sf2lg788vjw6pkfyi0fa7gzc870faqv326n6x2jr"; 14 - }; 15 - 16 - installPhase = '' 17 - mkdir -p $out/kubernetes-json-schema/master 18 - cp -R . $out/kubernetes-json-schema/master 19 - ''; 20 - }; 21 - 22 - in 23 - 24 3 buildGoModule rec { 25 4 pname = "kubeval"; 26 5 version = "0.14.0"; ··· 32 11 sha256 = "0kpwk7bv36m3i8vavm1pqc8l611c6l9qbagcc64v6r85qig4w5xv"; 33 12 }; 34 13 35 - buildInputs = [ makeWrapper ]; 36 - 37 14 modSha256 = "0y9x44y3bchi8xg0a6jmp2rmi8dybkl6qlywb6nj1viab1s8dd4y"; 38 - 39 - postFixup = "wrapProgram $out/bin/kubeval --set KUBEVAL_SCHEMA_LOCATION file:///${schema}/kubernetes-json-schema/master"; 40 15 41 16 meta = with lib; { 42 17 description = "Validate your Kubernetes configuration files";
+15
pkgs/applications/networking/cluster/kubeval/schema.nix
··· 1 + { fetchFromGitHub }: 2 + # To cache schema as a package so network calls are not 3 + # necessary at runtime, allowing use in package builds you can use the following: 4 + 5 + # KUBEVAL_SCHEMA_LOCATION="file:///${kubeval-schema}"; 6 + (fetchFromGitHub { 7 + name = "kubeval-schema"; 8 + owner = "instrumenta"; 9 + repo = "kubernetes-json-schema"; 10 + rev = "6a498a60dc68c5f6a1cc248f94b5cd1e7241d699"; 11 + sha256 = "1y9m2ma3n4h7sf2lg788vjw6pkfyi0fa7gzc870faqv326n6x2jr"; 12 + }) // { 13 + # the schema is huge (> 7GB), we don't get any benefit from building int on hydra 14 + meta.hydraPlatforms = []; 15 + }
+2
pkgs/top-level/all-packages.nix
··· 20128 20128 20129 20129 kubeval = callPackage ../applications/networking/cluster/kubeval { }; 20130 20130 20131 + kubeval-schema = callPackage ../applications/networking/cluster/kubeval/schema.nix { }; 20132 + 20131 20133 kubernetes = callPackage ../applications/networking/cluster/kubernetes { 20132 20134 go = buildPackages.go_1_13; 20133 20135 };