From daff3c7091003e97e4062e8fb5d68a8600fcd758 Mon Sep 17 00:00:00 2001 From: sohalt Date: Mon, 8 Aug 2022 16:09:47 +0200 Subject: [PATCH 1/3] datadog: fix python integration (cherry picked from commit 6f0654817a2e9c2a113aeb0fdb8865c0dc590b9d) --- .../networking/dd-agent/datadog-agent.nix | 65 ++++++++++++++----- .../networking/dd-agent/integrations-core.nix | 20 +++++- 2 files changed, 66 insertions(+), 19 deletions(-) diff --git a/pkgs/tools/networking/dd-agent/datadog-agent.nix b/pkgs/tools/networking/dd-agent/datadog-agent.nix index ac35da0bbd3b..943d56e6eae6 100644 --- a/pkgs/tools/networking/dd-agent/datadog-agent.nix +++ b/pkgs/tools/networking/dd-agent/datadog-agent.nix @@ -1,4 +1,16 @@ -{ lib, buildGoModule, makeWrapper, fetchFromGitHub, pythonPackages, pkg-config, systemd, hostname, extraTags ? [] }: +{ lib +, stdenv +, cmake +, buildGoModule +, makeWrapper +, fetchFromGitHub +, pythonPackages +, pkg-config +, systemd +, hostname +, withSystemd ? stdenv.isLinux +, extraTags ? [ ] +}: let # keep this in sync with github.com/DataDog/agent-payload dependency @@ -7,16 +19,27 @@ let owner = "DataDog"; repo = "datadog-agent"; goPackagePath = "github.com/${owner}/${repo}"; - -in buildGoModule rec { - pname = "datadog-agent"; - version = "7.35.1"; + version = "7.36.0"; src = fetchFromGitHub { inherit owner repo; rev = version; sha256 = "sha256-TvkPw67HBeRkKbbA3O/JVBkEUds36eW4UwKnRvPwAXc="; }; + 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-RmHxjJAMS+2MVoBJMD6FTQLhxDgzH3jtp87474i9ho8="; @@ -30,19 +53,29 @@ in buildGoModule rec { nativeBuildInputs = [ pkg-config makeWrapper ]; - buildInputs = [ systemd ]; + buildInputs = [rtloader] ++ lib.optionals withSystemd [ systemd ]; PKG_CONFIG_PATH = "${python}/lib/pkgconfig"; - preBuild = let - ldFlags = lib.concatStringsSep " " [ - "-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}" - "-r ${python}/lib" - ]; - in '' - buildFlagsArray=( "-tags" "ec2 systemd cpython process log secrets ${lib.concatStringsSep " " extraTags}" "-ldflags" "${ldFlags}") + tags = [ + "ec2" + "python" + "process" + "log" + "secrets" + ] + ++ lib.optionals withSystemd [ "systemd" ] + ++ extraTags; + + ldflags = [ + "-X ${goPackagePath}/pkg/version.Commit=${src.rev}" + "-X ${goPackagePath}/pkg/version.AgentVersion=${version}" + "-X ${goPackagePath}/pkg/serializer.AgentPayloadVersion=${payloadVersion}" + "-X ${goPackagePath}/pkg/collector/python.pythonHome3=${python}" + "-X ${goPackagePath}/pkg/config.DefaultPython=3" + "-r ${python}/lib" + ]; + + preBuild = '' # Keep directories to generate in sync with tasks/go.py go generate ./pkg/status ./cmd/agent/gui ''; diff --git a/pkgs/tools/networking/dd-agent/integrations-core.nix b/pkgs/tools/networking/dd-agent/integrations-core.nix index d7dbb65b4f58..fe1138dfb83b 100644 --- a/pkgs/tools/networking/dd-agent/integrations-core.nix +++ b/pkgs/tools/networking/dd-agent/integrations-core.nix @@ -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): From ee3ff7232fc6871aba7767184c066924a3788c69 Mon Sep 17 00:00:00 2001 From: sohalt Date: Tue, 9 Aug 2022 17:39:57 +0200 Subject: [PATCH 2/3] datadog-integrations-core: 7.30.1 -> 7.38.0 (cherry picked from commit 39165f2938fc0379600d76e9afe7a121dd111e45) --- pkgs/tools/networking/dd-agent/integrations-core.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/networking/dd-agent/integrations-core.nix b/pkgs/tools/networking/dd-agent/integrations-core.nix index fe1138dfb83b..ca1ffa3f2559 100644 --- a/pkgs/tools/networking/dd-agent/integrations-core.nix +++ b/pkgs/tools/networking/dd-agent/integrations-core.nix @@ -42,20 +42,15 @@ let owner = "DataDog"; repo = "integrations-core"; rev = version; - sha256 = "0424zsnf747s10kfzv5y0m0ac9sgczip78yvghhrc2i089i5z2h4"; + sha256 = "sha256-CIzuJ97KwsG1k65Y+8IUSka/3JX1pmQKN3hPHzZnGhQ="; }; - version = "7.30.1"; + version = "7.38.0"; # Build helper to build a single datadog integration package. buildIntegration = { pname, ... }@args: python.pkgs.buildPythonPackage (args // { inherit src version; name = "datadog-integration-${pname}-${version}"; - postPatch = '' - # jailbreak install_requires - sed -i 's/==.*//' requirements.in - cp requirements.in requirements.txt - ''; sourceRoot = "source/${args.sourceRoot or pname}"; doCheck = false; }); From a0bb296cf79f5025b8b116a2f1bf56fe33cb462b Mon Sep 17 00:00:00 2001 From: sohalt Date: Tue, 9 Aug 2022 17:48:21 +0200 Subject: [PATCH 3/3] datadog-agent: 7.36.0 -> 7.38.1 (cherry picked from commit fab8a905ab871c3c054e2ff9951de7a96160f0d0) --- pkgs/tools/networking/dd-agent/datadog-agent.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/dd-agent/datadog-agent.nix b/pkgs/tools/networking/dd-agent/datadog-agent.nix index 943d56e6eae6..4aa7d70b1abc 100644 --- a/pkgs/tools/networking/dd-agent/datadog-agent.nix +++ b/pkgs/tools/networking/dd-agent/datadog-agent.nix @@ -19,12 +19,12 @@ let owner = "DataDog"; repo = "datadog-agent"; goPackagePath = "github.com/${owner}/${repo}"; - version = "7.36.0"; + version = "7.38.1"; src = fetchFromGitHub { inherit owner repo; rev = version; - sha256 = "sha256-TvkPw67HBeRkKbbA3O/JVBkEUds36eW4UwKnRvPwAXc="; + sha256 = "sha256-bG8wsSQvZcG4/Th6mWVdVX9vpeYBZx8FxwdYXpIdXnU="; }; rtloader = stdenv.mkDerivation { pname = "datadog-agent-rtloader"; @@ -41,7 +41,7 @@ in buildGoModule rec { doCheck = false; - vendorSha256 = "sha256-RmHxjJAMS+2MVoBJMD6FTQLhxDgzH3jtp87474i9ho8="; + vendorSha256 = "sha256-bGDf48wFa32hURZfGN5pCMmslC3PeLNayKcl5cfjq9M="; subPackages = [ "cmd/agent"