summary refs log tree commit diff
path: root/pkgs/development/tools/opcr-policy/default.nix
diff options
context:
space:
mode:
authorJake Hill <jake.hill@control-plane.io>2022-10-04 17:34:18 +0100
committerJake Hill <jake.hill@control-plane.io>2022-10-04 17:34:18 +0100
commit14bb4ee9b7e652409856feefedd8377f9b52727c (patch)
tree55c33fcb02215ba7be64ba326c28e5ef12dd30b2 /pkgs/development/tools/opcr-policy/default.nix
parent3646a7561f064e5bcb84df6d01d13ee101f67ac5 (diff)
downloadnixpkgs-14bb4ee9b7e652409856feefedd8377f9b52727c.tar
nixpkgs-14bb4ee9b7e652409856feefedd8377f9b52727c.tar.gz
nixpkgs-14bb4ee9b7e652409856feefedd8377f9b52727c.tar.bz2
nixpkgs-14bb4ee9b7e652409856feefedd8377f9b52727c.tar.lz
nixpkgs-14bb4ee9b7e652409856feefedd8377f9b52727c.tar.xz
nixpkgs-14bb4ee9b7e652409856feefedd8377f9b52727c.tar.zst
nixpkgs-14bb4ee9b7e652409856feefedd8377f9b52727c.zip
opcr-policy: init at 0.1.42
Diffstat (limited to 'pkgs/development/tools/opcr-policy/default.nix')
-rw-r--r--pkgs/development/tools/opcr-policy/default.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/development/tools/opcr-policy/default.nix b/pkgs/development/tools/opcr-policy/default.nix
new file mode 100644
index 00000000000..c14cabbfa32
--- /dev/null
+++ b/pkgs/development/tools/opcr-policy/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "opcr-policy";
+  version = "0.1.42";
+
+  src = fetchFromGitHub {
+    owner = "opcr-io";
+    repo = "policy";
+    rev = "v${version}";
+    sha256 = "sha256-taC/VZBalJMFi8kVw7R03ibmHTwbKTxj3mcYbXms26M=";
+  };
+  vendorSha256 = "sha256-r2eKRJC8/fDY38u924ViLCf7kT54Tc+zIBD2YV9Qn6c=";
+
+  ldflags = [ "-s" "-w" "-X github.com/opcr-io/policy/pkg/version.ver=${version}" ];
+
+  doCheck = false;
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out/bin/policy --help
+    $out/bin/policy version | grep "version: ${version}"
+
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    mainProgram = "policy";
+    homepage = "https://www.openpolicyregistry.io/";
+    changelog = "https://github.com/opcr-io/policy/releases/tag/v${version}";
+    description = "CLI for managing authorization policies";
+    longDescription = ''
+      The policy CLI is a tool for building, versioning and publishing your authorization policies.
+      It uses OCI standards to manage artifacts, and the Open Policy Agent (OPA) to compile and run.
+    '';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ naphta jk ];
+  };
+}