aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/networking/cluster/kubeval
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/networking/cluster/kubeval')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/networking/cluster/kubeval/schema.nix15
2 files changed, 39 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix
new file mode 100644
index 000000000000..d26f8ed5dc67
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchFromGitHub, buildGoModule, makeWrapper }:
+
+buildGoModule rec {
+ pname = "kubeval";
+ version = "0.15.0";
+
+ src = fetchFromGitHub {
+ owner = "instrumenta";
+ repo = "kubeval";
+ rev = version;
+ sha256 = "05li0qv4q7fy2lr50r6c1r8dhx00jb1g01qmgc72a9zqp378yiq0";
+ };
+
+ vendorSha256 = "1kpwvi84i3h1yjprd6m6hn8l9j235931871y3qk9cl0g8q0hv9ja";
+
+ doCheck = false;
+
+ meta = with lib; {
+ description = "Validate your Kubernetes configuration files";
+ homepage = "https://github.com/instrumenta/kubeval";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ johanot nicknovitski ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/networking/cluster/kubeval/schema.nix b/infra/libkookie/nixpkgs/pkgs/applications/networking/cluster/kubeval/schema.nix
new file mode 100644
index 000000000000..370fe9a1cd82
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/networking/cluster/kubeval/schema.nix
@@ -0,0 +1,15 @@
+{ fetchFromGitHub }:
+# To cache schema as a package so network calls are not
+# necessary at runtime, allowing use in package builds you can use the following:
+
+# KUBEVAL_SCHEMA_LOCATION="file:///${kubeval-schema}";
+(fetchFromGitHub {
+ name = "kubeval-schema";
+ owner = "instrumenta";
+ repo = "kubernetes-json-schema";
+ rev = "6a498a60dc68c5f6a1cc248f94b5cd1e7241d699";
+ sha256 = "1y9m2ma3n4h7sf2lg788vjw6pkfyi0fa7gzc870faqv326n6x2jr";
+}) // {
+ # the schema is huge (> 7GB), we don't get any benefit from building int on hydra
+ meta.hydraPlatforms = [];
+}