diff options
author | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2017-05-31 07:10:01 +0100 |
---|---|---|
committer | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2017-06-01 15:08:50 +0100 |
commit | af096c8bff1e534be9c69f50eed13e6b48427d0e (patch) | |
tree | b7053062e56dda1f8e76de52df428d1aed5896c7 /pkgs/tools/networking/dd-agent | |
parent | 0f1753b1d30b63008ff60c731fca03c8b3fd1594 (diff) | |
download | nixlib-af096c8bff1e534be9c69f50eed13e6b48427d0e.tar nixlib-af096c8bff1e534be9c69f50eed13e6b48427d0e.tar.gz nixlib-af096c8bff1e534be9c69f50eed13e6b48427d0e.tar.bz2 nixlib-af096c8bff1e534be9c69f50eed13e6b48427d0e.tar.lz nixlib-af096c8bff1e534be9c69f50eed13e6b48427d0e.tar.xz nixlib-af096c8bff1e534be9c69f50eed13e6b48427d0e.tar.zst nixlib-af096c8bff1e534be9c69f50eed13e6b48427d0e.zip |
dd-agent: 5.11.2 -> 5.13.2 + service rework
Diffstat (limited to 'pkgs/tools/networking/dd-agent')
-rw-r--r-- | pkgs/tools/networking/dd-agent/default.nix | 57 |
1 files changed, 45 insertions, 12 deletions
diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix index d1171a3c8355..2556287570fd 100644 --- a/pkgs/tools/networking/dd-agent/default.nix +++ b/pkgs/tools/networking/dd-agent/default.nix @@ -1,5 +1,11 @@ { stdenv, fetchFromGitHub, pythonPackages -, sysstat, unzip, makeWrapper }: +, sysstat, unzip, makeWrapper +# We need extraBuildInputs as we want to be able to override this +# package with python packages _and_ have the produced binaries +# wrapper with their PYTHONPATH. This means overrideAttrs is not +# strong enough (it overrides too late), we need to call it +# beforehand. +, extraBuildInputs ? [ pythonPackages.psutil ] }: let inherit (pythonPackages) python; docker_1_10 = pythonPackages.buildPythonPackage rec { @@ -26,33 +32,42 @@ let # due to flake8 doCheck = false; }; + version = "5.13.2"; + + integrations = fetchFromGitHub { + owner = "datadog"; + repo = "integrations-core"; + rev = version; + sha256 = "1nbjmkq0wdfndmx0qap69h2rkwkkb0632j87h9d3j99bykyav3y3"; + }; in stdenv.mkDerivation rec { - version = "5.11.2"; name = "dd-agent-${version}"; src = fetchFromGitHub { owner = "datadog"; repo = "dd-agent"; rev = version; - sha256 = "1iqxvgpsqibqw3vk79158l2pnb6y4pjhjp2d6724lm5rpz4825lx"; + sha256 = "0x2bxi70l2yf0wi232qksvcscjdpjg8l7dmgg1286vqryyfazfjb"; }; buildInputs = [ python unzip makeWrapper - pythonPackages.requests - pythonPackages.psycopg2 - pythonPackages.psutil + pythonPackages.boto + docker_1_10 + pythonPackages.kazoo pythonPackages.ntplib - pythonPackages.simplejson - pythonPackages.pyyaml - pythonPackages.pymongo_2_9_1 - pythonPackages.python-etcd pythonPackages.consul - docker_1_10 - ]; + pythonPackages.python-etcd + pythonPackages.pyyaml + pythonPackages.requests + pythonPackages.simplejson + pythonPackages.supervisor + pythonPackages.tornado + pythonPackages.uptime + ] ++ extraBuildInputs; propagatedBuildInputs = with pythonPackages; [ python tornado ]; buildCommand = '' @@ -67,6 +82,24 @@ in stdenv.mkDerivation rec { # Move out default conf.d so that /etc/dd-agent/conf.d is used mv $out/agent/conf.d $out/agent/conf.d-system + # Sometime between 5.11.2 and 5.13.2 datadog moved out all its + # checks into separate repository. Copy them back in so dd-agent + # service can easily pick and choose by copying out configs into + # its etc files. + mkdir -p $out/agent/checks.d + for i in ${toString integrations}/* # */ + do + if [ -f "$i/check.py" ]; then + if [ -f "$i/conf.yaml.default" -o -f "$i/conf.yaml.example" ]; then + local name=$(basename $i) + cp $i/check.py $out/agent/checks.d/$name.py + # Copy .default file first unless it doesn't exist then copy .default + cp $i/conf.yaml.default $out/agent/conf.d-system/$name.yaml &> /dev/null || \ + cp $i/conf.yaml.example $out/agent/conf.d-system/$name.yaml + fi + fi + done + cat > $out/bin/dd-jmxfetch <<EOF #!/usr/bin/env bash exec ${python}/bin/python $out/agent/jmxfetch.py $@ |