From bef541c5699cb7c6323dbb8756382dc12731af6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 12 Sep 2018 17:46:31 +0100 Subject: [PATCH] datadog: add live process monitoring --- .../services/monitoring/datadog-agent.nix | 17 + .../dd-agent/datadog-process-agent-deps.nix | 669 ++++++++++++++++++ .../dd-agent/datadog-process-agent.nix | 26 + pkgs/top-level/all-packages.nix | 1 + 4 files changed, 713 insertions(+) create mode 100644 pkgs/tools/networking/dd-agent/datadog-process-agent-deps.nix create mode 100644 pkgs/tools/networking/dd-agent/datadog-process-agent.nix diff --git a/nixos/modules/services/monitoring/datadog-agent.nix b/nixos/modules/services/monitoring/datadog-agent.nix index 57815f211d46..35c08f5e7e30 100644 --- a/nixos/modules/services/monitoring/datadog-agent.nix +++ b/nixos/modules/services/monitoring/datadog-agent.nix @@ -15,6 +15,7 @@ let // optionalAttrs (cfg.logLevel != null) { log_level = cfg.logLevel; } // optionalAttrs (cfg.hostname != null) { inherit (cfg) hostname; } // optionalAttrs (cfg.tags != null ) { tags = concatStringsSep ", " cfg.tags; } + // optionalAttrs (cfg.enableLiveProcessCollection) { process_config = { enabled = "true"; }; } // cfg.extraConfig; # Generate Datadog configuration files for each configured checks. @@ -124,6 +125,13 @@ in { ''; }; + enableLiveProcessCollection = mkOption { + description = '' + Whether to enable the live process collection agent. + ''; + default = false; + type = types.bool; + }; checks = mkOption { description = '' Configuration for all Datadog checks. Keys of this attribute @@ -228,6 +236,15 @@ in { path = [ datadogPkg pkgs.python pkgs.sysstat pkgs.procps pkgs.jdk ]; serviceConfig.ExecStart = "${datadogPkg}/bin/dd-jmxfetch"; }); + + datadog-process-agent = lib.mkIf cfg.enableLiveProcessCollection (makeService { + description = "Datadog Live Process Agent"; + path = [ ]; + script = '' + export DD_API_KEY=$(head -n 1 ${cfg.apiKeyFile}) + ${pkgs.datadog-process-agent}/bin/agent --config /etc/datadog-agent/datadog.yaml + ''; + }); }; environment.etc = etcfiles; diff --git a/pkgs/tools/networking/dd-agent/datadog-process-agent-deps.nix b/pkgs/tools/networking/dd-agent/datadog-process-agent-deps.nix new file mode 100644 index 000000000000..863402854aeb --- /dev/null +++ b/pkgs/tools/networking/dd-agent/datadog-process-agent-deps.nix @@ -0,0 +1,669 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "bitbucket.org/ww/goautoneg"; + fetch = { + type = "hg"; + url = "https://bitbucket.org/ww/goautoneg"; + rev = "75cd24fc2f2c2a2088577d12123ddee5f54e0675"; + sha256 = "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"; + }; + } + { + goPackagePath = "github.com/DataDog/agent-payload"; + fetch = { + type = "git"; + url = "https://github.com/DataDog/agent-payload"; + rev = "f0521943f60221829c6bb5de1c7f788cd4411372"; + sha256 = "19m3kiwi0g2a0rysjabrb2nkkz7yx632g7s05mylv1x2ixparhrg"; + }; + } + { + goPackagePath = "github.com/DataDog/datadog-agent"; + fetch = { + type = "git"; + url = "https://github.com/DataDog/datadog-agent"; + rev = "f2d7ce69202c8212cae1ebf476d038b28f3a895e"; + sha256 = "0by3qvj6468r3532x1q6ingf6hlgv4dk8g1aa0hmh9gm25dbfsg5"; + }; + } + { + goPackagePath = "github.com/DataDog/datadog-go"; + fetch = { + type = "git"; + url = "https://github.com/DataDog/datadog-go"; + rev = "a9c7a9896c1847c9cc2b068a2ae68e9d74540a5d"; + sha256 = "1m1vpi2s22dqcq0fqhfp3skzkmsbmhzyiw2kh2dw6ii7qimy8zki"; + }; + } + { + goPackagePath = "github.com/DataDog/gopsutil"; + fetch = { + type = "git"; + url = "https://github.com/DataDog/gopsutil"; + rev = "771928d86fa878b9d62f073a7a6f91ee0a358105"; + sha256 = "0dr5a67jy2zh42dcndx981ca1wv0phc16zlimahjlr00qxam90xi"; + }; + } + { + goPackagePath = "github.com/DataDog/tcptracer-bpf"; + fetch = { + type = "git"; + url = "https://github.com/DataDog/tcptracer-bpf"; + rev = "636ee01a99a4bd352329de98f40fb9fdf611d1c9"; + sha256 = "13373wg1x90jydzgbblxpq2gg9b7ppk6nkjzhw8d27mxd047i74m"; + }; + } + { + goPackagePath = "github.com/DataDog/zstd"; + fetch = { + type = "git"; + url = "https://github.com/DataDog/zstd"; + rev = "2bf71ec4836011b92dc78df3b9ace6b40e65f7df"; + sha256 = "0j0qmnzjxx86kavrb3qcashp2irzjbvip15df97k87pcfvl1gsig"; + }; + } + { + goPackagePath = "github.com/Microsoft/go-winio"; + fetch = { + type = "git"; + url = "https://github.com/Microsoft/go-winio"; + rev = "97e4973ce50b2ff5f09635a57e2b88a037aae829"; + sha256 = "14y1gryr3pb3zy09v2g8dh89m363rfd9sch0wgbabh531hfx72vn"; + }; + } + { + goPackagePath = "github.com/StackExchange/wmi"; + fetch = { + type = "git"; + url = "https://github.com/StackExchange/wmi"; + rev = "b12b22c5341f0c26d88c4d66176330500e84db68"; + sha256 = "0kzkb4zllhrdiq0m9m5ka9i393r1hnx75lnd3hz5rg2fs0n3ym16"; + }; + } + { + goPackagePath = "github.com/aws/aws-sdk-go"; + fetch = { + type = "git"; + url = "https://github.com/aws/aws-sdk-go"; + rev = "bff41fb23b7550368282029f6478819d6a99ae0f"; + sha256 = "1hcd8f3m2cq02mj9i8c1ynbh3j0iyw14l1wszm0qgs18nsj1rzgn"; + }; + } + { + goPackagePath = "github.com/beorn7/perks"; + fetch = { + type = "git"; + url = "https://github.com/beorn7/perks"; + rev = "3ac7bf7a47d159a033b107610db8a1b6575507a4"; + sha256 = "1qc3l4r818xpvrhshh1sisc5lvl9479qspcfcdbivdyh0apah83r"; + }; + } + { + goPackagePath = "github.com/cenkalti/backoff"; + fetch = { + type = "git"; + url = "https://github.com/cenkalti/backoff"; + rev = "b7325b0f3f1097c6546ea5e83c4a23267e58ad71"; + sha256 = "0vx4ggryxd9w111mf1bi2g51559r8sh99gdqah72k4dfj3vrv19d"; + }; + } + { + goPackagePath = "github.com/cihub/seelog"; + fetch = { + type = "git"; + url = "https://github.com/cihub/seelog"; + rev = "d2c6e5aa9fbfdd1c624e140287063c7730654115"; + sha256 = "0ab9kyrh51x1x71z37pwjsla0qv11a1qv697xafyc4r5nq5hds6p"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"; + sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; + }; + } + { + goPackagePath = "github.com/docker/distribution"; + fetch = { + type = "git"; + url = "https://github.com/docker/distribution"; + rev = "48294d928ced5dd9b378f7fd7c6f5da3ff3f2c89"; + sha256 = "0nj4xd72mik4pj8g065cqb0yjmgpj5ppsqf2k5ibz9f68c39c00b"; + }; + } + { + goPackagePath = "github.com/docker/docker"; + fetch = { + type = "git"; + url = "https://github.com/docker/docker"; + rev = "092cba3727bb9b4a2f0e922cd6c0f93ea270e363"; + sha256 = "0l9kjibnpwcgk844sibxk9ppyqniw9r0np1mzp95f8f461jb0iar"; + }; + } + { + goPackagePath = "github.com/docker/go-connections"; + fetch = { + type = "git"; + url = "https://github.com/docker/go-connections"; + rev = "97c2040d34dfae1d1b1275fa3a78dbdd2f41cf7e"; + sha256 = "11szydahzjz7zia3hr8kplnlxsg9papbvc2mgr1vlwrahxpdx7l7"; + }; + } + { + goPackagePath = "github.com/docker/go-units"; + fetch = { + type = "git"; + url = "https://github.com/docker/go-units"; + rev = "47565b4f722fb6ceae66b95f853feed578a4a51c"; + sha256 = "0npxsb3pp89slwf4a73fxm20hykad8xggij6i6hcd5jy19bjrd93"; + }; + } + { + goPackagePath = "github.com/emicklei/go-restful"; + fetch = { + type = "git"; + url = "https://github.com/emicklei/go-restful"; + rev = "68c9750c36bb8cb433f1b88c807b4b30df4acc40"; + sha256 = "0bc0wd5nipz1x078vpq82acyc7ip0qv1sddl451d7f7bvfms6h67"; + }; + } + { + goPackagePath = "github.com/fsnotify/fsnotify"; + fetch = { + type = "git"; + url = "https://github.com/fsnotify/fsnotify"; + rev = "ccc981bf80385c528a65fbfdd49bf2d8da22aa23"; + sha256 = "0hcrfmiyx27izac3v0ii0qq2kfjvhr9ma1i79hrl6a6y2ayagzz7"; + }; + } + { + goPackagePath = "github.com/ghodss/yaml"; + fetch = { + type = "git"; + url = "https://github.com/ghodss/yaml"; + rev = "73d445a93680fa1a78ae23a5839bad48f32ba1ee"; + sha256 = "0pg53ky4sy3sp9j4n7vgf1p3gw4nbckwqfldcmmi9rf13kjh0mr7"; + }; + } + { + goPackagePath = "github.com/go-ini/ini"; + fetch = { + type = "git"; + url = "https://github.com/go-ini/ini"; + rev = "d3de07a94d22b4a0972deb4b96d790c2c0ce8333"; + sha256 = "1lpwqhcfhaa6aighd2lpjfswbb6aw5d5bsmyr0vqaqg6g5kz0ikg"; + }; + } + { + goPackagePath = "github.com/go-ole/go-ole"; + fetch = { + type = "git"; + url = "https://github.com/go-ole/go-ole"; + rev = "7a0fa49edf48165190530c675167e2f319a05268"; + sha256 = "00v6fixm35pj8jyqbj0z3kyv7bhrqa2dr2fgmlc9xqwbf0nayssy"; + }; + } + { + goPackagePath = "github.com/gogo/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/gogo/protobuf"; + rev = "d76fbc1373015ced59b43ac267f28d546b955683"; + sha256 = "051a3imx2m7gpns8cjm1gckif9z6i4ik0svc1i8j7h86800c5rg0"; + }; + } + { + goPackagePath = "github.com/golang/glog"; + fetch = { + type = "git"; + url = "https://github.com/golang/glog"; + rev = "44145f04b68cf362d9c4df2182967c2275eaefed"; + sha256 = "1k7sf6qmpgm0iw81gx2dwggf9di6lgw0n54mni7862hihwfrb5rq"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265"; + sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq"; + }; + } + { + goPackagePath = "github.com/google/gofuzz"; + fetch = { + type = "git"; + url = "https://github.com/google/gofuzz"; + rev = "44d81051d367757e1c7c6a5a86423ece9afcf63c"; + sha256 = "0ivq2sl2fv8x0xxrcys27c42s8yq7irgl7lp6l0im9i7ky63nk0i"; + }; + } + { + goPackagePath = "github.com/googleapis/gnostic"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/gnostic"; + rev = "0c5108395e2debce0d731cf0287ddf7242066aba"; + sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc"; + }; + } + { + goPackagePath = "github.com/hashicorp/golang-lru"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/golang-lru"; + rev = "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4"; + sha256 = "1z3h4aca31l3qs0inqr5l49vrlycpjm7vq1l9nh1mp0mb2ij0kmp"; + }; + } + { + goPackagePath = "github.com/hashicorp/hcl"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/hcl"; + rev = "65a6292f0157eff210d03ed1bf6c59b190b8b906"; + sha256 = "00qgmygfa4vgf9v3lpz4vp1ca1hcfcxnjqjrvp6z4jjklc8x4mqf"; + }; + } + { + goPackagePath = "github.com/hectane/go-acl"; + fetch = { + type = "git"; + url = "https://github.com/hectane/go-acl"; + rev = "7f56832555fc229dad908c67d65ed3ce6156b70c"; + sha256 = "17crpqmn51fqcz0j1vi4grwwiaqpvc3zhl102hn5sy7s2lmdf630"; + }; + } + { + goPackagePath = "github.com/howeyc/gopass"; + fetch = { + type = "git"; + url = "https://github.com/howeyc/gopass"; + rev = "bf9dde6d0d2c004a008c27aaee91170c786f6db8"; + sha256 = "1jxzyfnqi0h1fzlsvlkn10bncic803bfhslyijcxk55mgh297g45"; + }; + } + { + goPackagePath = "github.com/imdario/mergo"; + fetch = { + type = "git"; + url = "https://github.com/imdario/mergo"; + rev = "6633656539c1639d9d78127b7d47c622b5d7b6dc"; + sha256 = "1fffbq1l17i0gynmvcxypl7d9h4v81g5vlimiph5bfgf4sp4db7g"; + }; + } + { + goPackagePath = "github.com/iovisor/gobpf"; + fetch = { + type = "git"; + url = "https://github.com/iovisor/gobpf"; + rev = "3b07770c6d5e2bd37e582ecd49460e6ef094f257"; + sha256 = "0inv9vwjd8r365rdpf6z4kzs8b36890vrfkifw228mjlxxx8rg7f"; + }; + } + { + goPackagePath = "github.com/jmespath/go-jmespath"; + fetch = { + type = "git"; + url = "https://github.com/jmespath/go-jmespath"; + rev = "0b12d6b5"; + sha256 = "1vv6hph8j6xgv7gwl9vvhlsaaqsm22sxxqmgmldi4v11783pc1ld"; + }; + } + { + goPackagePath = "github.com/json-iterator/go"; + fetch = { + type = "git"; + url = "https://github.com/json-iterator/go"; + rev = "f2b4162afba35581b6d4a50d3b8f34e33c144682"; + sha256 = "0siqfghsm2lkdwinvg8x5gls3p76rq3cdm59c1r4x0b2mdfhnvcd"; + }; + } + { + goPackagePath = "github.com/kubernetes-incubator/custom-metrics-apiserver"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes-incubator/custom-metrics-apiserver"; + rev = "e61f72fec56ab519d74ebd396cd3fcf31b084558"; + sha256 = "1cgbn0yzvrqrxq4kwwz2d6vddi9py2z18dx33yjd8w85j9ghhg6g"; + }; + } + { + goPackagePath = "github.com/magiconair/properties"; + fetch = { + type = "git"; + url = "https://github.com/magiconair/properties"; + rev = "c2353362d570a7bfa228149c62842019201cfb71"; + sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn"; + }; + } + { + goPackagePath = "github.com/mailru/easyjson"; + fetch = { + type = "git"; + url = "https://github.com/mailru/easyjson"; + rev = "60711f1a8329503b04e1c88535f419d0bb440bff"; + sha256 = "0234jp6134wkihdpdwq1hvzqblgl5khc1wp6dyi2h0hgh88bhdk1"; + }; + } + { + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + fetch = { + type = "git"; + url = "https://github.com/matttproud/golang_protobuf_extensions"; + rev = "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a"; + sha256 = "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"; + }; + } + { + goPackagePath = "github.com/mitchellh/mapstructure"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/mapstructure"; + rev = "fa473d140ef3c6adf42d6b391fe76707f1f243c8"; + sha256 = "0f06q4fpzg0c370cvmpsl0iq2apl5nkbz5cd3nba5x5ysmshv1lm"; + }; + } + { + goPackagePath = "github.com/modern-go/concurrent"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/concurrent"; + rev = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"; + sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs"; + }; + } + { + goPackagePath = "github.com/modern-go/reflect2"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/reflect2"; + rev = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"; + sha256 = "1721y3yr3dpx5dx5ashf063qczk2awy5zjir1jvp1h5hn7qz4i49"; + }; + } + { + goPackagePath = "github.com/patrickmn/go-cache"; + fetch = { + type = "git"; + url = "https://github.com/patrickmn/go-cache"; + rev = "a3647f8e31d79543b2d0f0ae2fe5c379d72cedc0"; + sha256 = "10020inkzrm931r4bixf8wqr9n39wcrb78vfyxmbvjavvw4zybgs"; + }; + } + { + goPackagePath = "github.com/pborman/uuid"; + fetch = { + type = "git"; + url = "https://github.com/pborman/uuid"; + rev = "ca53cad383cad2479bbba7f7a1a05797ec1386e4"; + sha256 = "0rcx669bbjkkwdlw81spnra4ffgzd4rbpywnrj3w41m9vq6mk1gn"; + }; + } + { + goPackagePath = "github.com/pelletier/go-toml"; + fetch = { + type = "git"; + url = "https://github.com/pelletier/go-toml"; + rev = "c2dbbc24a97911339e01bda0b8cabdbd8f13b602"; + sha256 = "0v1dsqnk5zmn6ir8jgxijx14s47jvijlqfz3aq435snfrgybd5rz"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "816c9085562cd7ee03e7f8188a1cfd942858cded"; + sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "792786c7400a136282c1664665ae0a8db921c6c2"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + { + goPackagePath = "github.com/prometheus/client_golang"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_golang"; + rev = "e7e903064f5e9eb5da98208bae10b475d4db0f8c"; + sha256 = "0mn6x6za7br81vc9s8d58ivylpx5j4xdq72n7kz3aybniif49r3i"; + }; + } + { + goPackagePath = "github.com/prometheus/client_model"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_model"; + rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6"; + sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"; + }; + } + { + goPackagePath = "github.com/prometheus/common"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/common"; + rev = "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207"; + sha256 = "0i6mpcnsawi7f00rfmjfjq8llaplyzq4xrkrawlcgfd762p5hnp8"; + }; + } + { + goPackagePath = "github.com/prometheus/procfs"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/procfs"; + rev = "65c1f6f8f0fc1e2185eb9863a3bc751496404259"; + sha256 = "0jfzmr8642hr04naim1maa3wklxvcxklykri2z7k4ayizc974lkq"; + }; + } + { + goPackagePath = "github.com/shirou/gopsutil"; + fetch = { + type = "git"; + url = "https://github.com/shirou/gopsutil"; + rev = "8048a2e9c5773235122027dd585cf821b2af1249"; + sha256 = "17ri1ijhvg6gxscaw4sy0r5pkcyiqdsf6nn2d4q36hd0nrswvk29"; + }; + } + { + goPackagePath = "github.com/shirou/w32"; + fetch = { + type = "git"; + url = "https://github.com/shirou/w32"; + rev = "bb4de0191aa41b5507caa14b0650cdbddcd9280b"; + sha256 = "0xh5vqblhr2c3mlaswawx6nipi4rc2x73rbdvlkakmgi0nnl50m4"; + }; + } + { + goPackagePath = "github.com/spf13/afero"; + fetch = { + type = "git"; + url = "https://github.com/spf13/afero"; + rev = "d40851caa0d747393da1ffb28f7f9d8b4eeffebd"; + sha256 = "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k"; + }; + } + { + goPackagePath = "github.com/spf13/cast"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cast"; + rev = "8965335b8c7107321228e3e3702cab9832751bac"; + sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2"; + }; + } + { + goPackagePath = "github.com/spf13/jwalterweatherman"; + fetch = { + type = "git"; + url = "https://github.com/spf13/jwalterweatherman"; + rev = "4a4406e478ca629068e7768fc33f3f044173c0a6"; + sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8"; + }; + } + { + goPackagePath = "github.com/spf13/pflag"; + fetch = { + type = "git"; + url = "https://github.com/spf13/pflag"; + rev = "583c0c0531f06d5278b7d917446061adc344b5cd"; + sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5"; + }; + } + { + goPackagePath = "github.com/spf13/viper"; + fetch = { + type = "git"; + url = "https://github.com/spf13/viper"; + rev = "b5e8006cbee93ec955a89ab31e0e3ce3204f3736"; + sha256 = "0y3r6ysi5vn0yq5c7pbl62yg2i64fkv54xgj2jf1hn3v6zzyimis"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "f35b8ab0b5a2cef36673838d662e249dd9c94686"; + sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "c10c31b5e94b6f7a0283272dc2bb27163dcea24b"; + sha256 = "1a4k61xrwmr99fib2m1rcavbaxihnsmy1bgqhff5hkcv4n7bpsl2"; + }; + } + { + goPackagePath = "golang.org/x/mobile"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/mobile"; + rev = "0ff817254b04da935cce10d2d1270ccf047fbbd7"; + sha256 = "0hzsis106xh3hcydjribcar75va3ghp4hwbj9982h2msi27v54x4"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "1c05540f6879653db88113bc4a2b70aec4bd491f"; + sha256 = "0h8yqb0vcqgllgydrf9d3rzp83w8wlr8f0nm6r1rwf2qg30pq1pd"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "95c6576299259db960f6c5b9b69ea52422860fce"; + sha256 = "1fhq8bianb9a1iccpr92mi2hix9zvm10n0f7syx6vfbxdw32i316"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "b19bf474d317b857955b12035d2c5acb57ce8b01"; + sha256 = "0wc8csaafp0ps9jb2hdk8d6xpyw1axhk1np73h0z17x09zk3ylcr"; + }; + } + { + goPackagePath = "golang.org/x/time"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/time"; + rev = "a4bde12657593d5e90d0533a3e4fd95e635124cb"; + sha256 = "07r227rrqgwkchm63dzmdyv5yplbla1vnwkn6qrr940l4psy15aw"; + }; + } + { + goPackagePath = "gopkg.in/inf.v0"; + fetch = { + type = "git"; + url = "https://github.com/go-inf/inf"; + rev = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"; + sha256 = "0rf3vwyb8aqnac9x9d6ax7z5526c45a16yjm2pvkijr6qgqz8b82"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://github.com/go-yaml/yaml"; + rev = "d670f9405373e636a5a2765eea47fac0c9bc91a4"; + sha256 = "1w1xid51n8v1mydn2m3vgggw8qgpd5a5sr62snsc77d99fpjsrs0"; + }; + } + { + goPackagePath = "gopkg.in/zorkian/go-datadog-api.v2"; + fetch = { + type = "git"; + url = "https://github.com/zorkian/go-datadog-api"; + rev = "6c08e2322af96e867e5715aedd6ea194c42cf44f"; + sha256 = "16ha3azq9981hwpn18sd50ai6d1h85fsawbdxp352c4gi8bhj8zw"; + }; + } + { + goPackagePath = "k8s.io/api"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/api"; + rev = "9e5ffd1f1320950b238cfce291b926411f0af722"; + sha256 = "03992x9n9b8w9rlf70wizn7iqk8cbyksxg0sdc1mm5jyzyvgksgf"; + }; + } + { + goPackagePath = "k8s.io/apimachinery"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/apimachinery"; + rev = "e386b2658ed20923da8cc9250e552f082899a1ee"; + sha256 = "0lgwpsvx0gpnrdnkqc9m96xwkifdq50l7cj9rvh03njws4rbd8jz"; + }; + } + { + goPackagePath = "k8s.io/apiserver"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/apiserver"; + rev = "2cf66d2375dce045e1e02e1d7b74a0d1e34fedb3"; + sha256 = "0x0am99n25njpbd1x20bhyadpv9w6qqjmspp1ahzpmdwjzrnsagg"; + }; + } + { + goPackagePath = "k8s.io/client-go"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/client-go"; + rev = "23781f4d6632d88e869066eaebb743857aa1ef9b"; + sha256 = "0cazbcv7j7fgjs00arx3a8f0z0ikybmv16ccy0yg0wp0nbc05r6v"; + }; + } + { + goPackagePath = "k8s.io/metrics"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/metrics"; + rev = "0d9ea2ac660031c8f2726a735dda29441f396f99"; + sha256 = "0bcsb7s4wlmrja35zvz4s10cf3w7dfn2ckjv6apxd1ykdjxnsk71"; + }; + } +] diff --git a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix new file mode 100644 index 000000000000..7541eee0a20e --- /dev/null +++ b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, buildGoPackage }: + +buildGoPackage rec { + name = "datadog-process-agent-${version}"; + # NOTE: this is 6.5.0 + https://github.com/DataDog/datadog-process-agent/pull/185 + version = "6.5.0"; + owner = "DataDog"; + repo = "datadog-process-agent"; + + src = fetchFromGitHub { + inherit owner repo; + rev = "bd96c99c97e8639fd3ea72e61a492c0a74686abe"; + sha256 = "0afdf344256jivzhdv3k9n9i4aik1yr805dnrc2i3d4di9w8vg8c"; + }; + + goDeps = ./datadog-process-agent-deps.nix; + goPackagePath = "github.com/${owner}/${repo}"; + + meta = with stdenv.lib; { + description = "Live process collector for the DataDog Agent v6"; + homepage = https://www.datadoghq.com; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = with maintainers; [ domenkozar rvl ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 533b04d9e0e1..400000370ff4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15853,6 +15853,7 @@ with pkgs; datadog-agent = callPackage ../tools/networking/dd-agent/6.nix { pythonPackages = datadog-integrations-core {}; }; + datadog-process-agent = callPackage ../tools/networking/dd-agent/datadog-process-agent.nix { }; datadog-integrations-core = extras: callPackage ../tools/networking/dd-agent/integrations-core.nix { python = python27; extraIntegrations = extras;