ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / sy / sysdig-cli-scanner / package.nix
blobca6d26eda280b5957d78d3a55914e1dee5aac713
2   stdenv,
3   lib,
4   fetchurl,
5   writeShellScript,
6 }:
7 let
8   versionMetadata = import ./sysdig-cli-scanner.versions.nix;
9   fetchForSystem = versionMetadata.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
11   wrapper = writeShellScript "sysdig-cli-scanner-wrapper" ''
12     for arg in "$@"; do
13       # We must not pass --dbpath to the cli in case it has been called with --iac
14       # IaC Scanning does not make use of the vulnerability database
15       if [ "$arg" = "--iac" ]; then
16         exec @out@/libexec/sysdig-cli-scanner-unwrapped "$@"
17       fi
18     done
20     # --dbpath argument is needed for vulnerability scanning mode, otherwise it tries to download
21     # the vulnerability database in the same path as the binary, which is read-only in the case of the
22     # nix store
23     exec @out@/libexec/sysdig-cli-scanner-unwrapped \
24       --dbpath="$HOME/.cache/sysdig-cli-scanner/" "$@"
25   '';
27 stdenv.mkDerivation {
28   pname = "sysdig-cli-scanner";
29   version = versionMetadata.version;
31   src = fetchurl { inherit (fetchForSystem) url hash; };
32   dontUnpack = true;
34   installPhase = ''
35     runHook preInstall
37     install -Dm755 -T $src $out/libexec/sysdig-cli-scanner-unwrapped
38     install -Dm755 -T ${wrapper} $out/bin/sysdig-cli-scanner
39     substituteInPlace $out/bin/sysdig-cli-scanner --subst-var out
41     runHook postInstall
42   '';
44   passthru.updateScript = ./update.sh;
46   meta = with lib; {
47     description = "Tool for scanning container images and directories using Sysdig";
48     longDescription = ''
49       The Sysdig Vulnerability CLI Scanner, sysdig-cli-scanner, is a versatile tool designed to
50       manually scan container images and directories, whether they are located locally or remotely.
51       Depending on your specific use case, you have the flexibility to execute sysdig-cli-scanner
52       in Vulnerability Management (VM) mode for image scanning or Infrastructure as Code (IaC) mode
53       for scanning directories.
54     '';
55     homepage = "https://docs.sysdig.com/en/docs/installation/sysdig-secure/install-vulnerability-cli-scanner/";
56     mainProgram = "sysdig-cli-scanner";
57     license = licenses.unfreeRedistributable;
58     maintainers = with maintainers; [ tembleking ];
59     platforms = [
60       "x86_64-linux"
61       "aarch64-linux"
62       "x86_64-darwin"
63       "aarch64-darwin"
64     ];
65     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
66   };