···1+#!/usr/bin/env bash
2+dd=$(nix-build --no-out-link -A dd-agent ../../../..)
3+echo '# Generated using update-dd-agent-default, please re-run after updating dd-agent. DO NOT EDIT MANUALLY.' > dd-agent-defaults.nix
4+echo '[' >> dd-agent-defaults.nix
5+echo ' "auto_conf"' >> dd-agent-defaults.nix
6+for f in $(find $dd/agent/conf.d-system -maxdepth 1 -type f | grep -v '\.example' | sort); do
7+ echo " \"$(basename $f)\"" >> dd-agent-defaults.nix
8+done
9+echo ']' >> dd-agent-defaults.nix
+12-45
pkgs/tools/networking/dd-agent/default.nix
···1{ stdenv, fetchFromGitHub, pythonPackages
2-, sysstat, unzip, makeWrapper
3-# We need extraBuildInputs as we want to be able to override this
4-# package with python packages _and_ have the produced binaries
5-# wrapper with their PYTHONPATH. This means overrideAttrs is not
6-# strong enough (it overrides too late), we need to call it
7-# beforehand.
8-, extraBuildInputs ? [ pythonPackages.psutil ] }:
9let
10 inherit (pythonPackages) python;
11 docker_1_10 = pythonPackages.buildPythonPackage rec {
···32 # due to flake8
33 doCheck = false;
34 };
35- version = "5.13.2";
36-37- integrations = fetchFromGitHub {
38- owner = "datadog";
39- repo = "integrations-core";
40- rev = version;
41- sha256 = "1nbjmkq0wdfndmx0qap69h2rkwkkb0632j87h9d3j99bykyav3y3";
42- };
4344in stdenv.mkDerivation rec {
045 name = "dd-agent-${version}";
4647 src = fetchFromGitHub {
48 owner = "datadog";
49 repo = "dd-agent";
50 rev = version;
51- sha256 = "0x2bxi70l2yf0wi232qksvcscjdpjg8l7dmgg1286vqryyfazfjb";
52 };
5354 buildInputs = [
55 python
56 unzip
57 makeWrapper
58- pythonPackages.boto
59- docker_1_10
60- pythonPackages.kazoo
61 pythonPackages.ntplib
000062 pythonPackages.consul
63- pythonPackages.python-etcd
64- pythonPackages.pyyaml
65- pythonPackages.requests
66- pythonPackages.simplejson
67- pythonPackages.supervisor
68- pythonPackages.tornado
69- pythonPackages.uptime
70- ] ++ extraBuildInputs;
71 propagatedBuildInputs = with pythonPackages; [ python tornado ];
7273 buildCommand = ''
···8182 # Move out default conf.d so that /etc/dd-agent/conf.d is used
83 mv $out/agent/conf.d $out/agent/conf.d-system
84-85- # Sometime between 5.11.2 and 5.13.2 datadog moved out all its
86- # checks into separate repository. Copy them back in so dd-agent
87- # service can easily pick and choose by copying out configs into
88- # its etc files.
89- mkdir -p $out/agent/checks.d
90- for i in ${toString integrations}/* # */
91- do
92- if [ -f "$i/check.py" ]; then
93- if [ -f "$i/conf.yaml.default" -o -f "$i/conf.yaml.example" ]; then
94- local name=$(basename $i)
95- cp $i/check.py $out/agent/checks.d/$name.py
96- # Copy .default file first unless it doesn't exist then copy .default
97- cp $i/conf.yaml.default $out/agent/conf.d-system/$name.yaml &> /dev/null || \
98- cp $i/conf.yaml.example $out/agent/conf.d-system/$name.yaml
99- fi
100- fi
101- done
102103 cat > $out/bin/dd-jmxfetch <<EOF
104 #!/usr/bin/env bash