datadog: fix python integration

This commit is contained in:
sohalt 2022-08-08 16:09:47 +02:00
parent 5524cbd127
commit 6f0654817a
2 changed files with 36 additions and 9 deletions

View File

@ -1,5 +1,6 @@
{ lib
, stdenv
, cmake
, buildGoModule
, makeWrapper
, fetchFromGitHub
@ -18,9 +19,6 @@ let
owner = "DataDog";
repo = "datadog-agent";
goPackagePath = "github.com/${owner}/${repo}";
in buildGoModule rec {
pname = "datadog-agent";
version = "7.36.0";
src = fetchFromGitHub {
@ -28,6 +26,20 @@ in buildGoModule rec {
rev = version;
sha256 = "sha256-pkbgYE58T9QzV7nCzvfBoTt6Ue8cCMUBSuCBeDtdkzo=";
};
rtloader = stdenv.mkDerivation {
pname = "datadog-agent-rtloader";
src = "${src}/rtloader";
inherit version;
nativeBuildInputs = [ cmake ];
buildInputs = [ python ];
cmakeFlags = ["-DBUILD_DEMO=OFF" "-DDISABLE_PYTHON2=ON"];
};
in buildGoModule rec {
pname = "datadog-agent";
inherit src version;
doCheck = false;
vendorSha256 = "sha256-SxdSoZtRAdl3evCpb+3BHWf/uPYJJKgw0CL9scwNfGA=";
@ -41,12 +53,12 @@ in buildGoModule rec {
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = lib.optionals withSystemd [ systemd ];
buildInputs = [rtloader] ++ lib.optionals withSystemd [ systemd ];
PKG_CONFIG_PATH = "${python}/lib/pkgconfig";
tags = [
"ec2"
"cpython"
"python"
"process"
"log"
"secrets"
@ -58,7 +70,8 @@ in buildGoModule rec {
"-X ${goPackagePath}/pkg/version.Commit=${src.rev}"
"-X ${goPackagePath}/pkg/version.AgentVersion=${version}"
"-X ${goPackagePath}/pkg/serializer.AgentPayloadVersion=${payloadVersion}"
"-X ${goPackagePath}/pkg/collector/py.pythonHome=${python}"
"-X ${goPackagePath}/pkg/collector/python.pythonHome3=${python}"
"-X ${goPackagePath}/pkg/config.DefaultPython=3"
"-r ${python}/lib"
];

View File

@ -65,7 +65,21 @@ let
pname = "checks-base";
sourceRoot = "datadog_checks_base";
propagatedBuildInputs = with python.pkgs; [
requests protobuf prometheus-client simplejson uptime
cachetools
cryptography
immutables
jellyfish
prometheus-client
protobuf
pydantic
python-dateutil
pyyaml
requests
requests-toolbelt
requests-unixsocket
simplejson
uptime
wrapt
];
};
@ -75,8 +89,8 @@ let
mongo = (ps: [ ps.pymongo ]);
network = (ps: [ ps.psutil ]);
nginx = (ps: []);
postgres = (ps: with ps; [ pg8000 psycopg2 ]);
process = (ps: []);
postgres = (ps: with ps; [ pg8000 psycopg2 semver ]);
process = (ps: [ ps.psutil]);
};
# All integrations (default + extra):