mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-09-23 05:37:27 +03:00
Merge pull request #298641 from RaitoBezarius/netdata-45
netdata: 1.44.3 -> 1.45.3
This commit is contained in:
commit
efcabaa056
@ -13,6 +13,9 @@ let
|
||||
ln -s /run/wrappers/bin/slabinfo.plugin $out/libexec/netdata/plugins.d/slabinfo.plugin
|
||||
ln -s /run/wrappers/bin/freeipmi.plugin $out/libexec/netdata/plugins.d/freeipmi.plugin
|
||||
ln -s /run/wrappers/bin/systemd-journal.plugin $out/libexec/netdata/plugins.d/systemd-journal.plugin
|
||||
ln -s /run/wrappers/bin/logs-management.plugin $out/libexec/netdata/plugins.d/logs-management.plugin
|
||||
ln -s /run/wrappers/bin/network-viewer.plugin $out/libexec/netdata/plugins.d/network-viewer.plugin
|
||||
ln -s /run/wrappers/bin/debugfs.plugin $out/libexec/netdata/plugins.d/debugfs.plugin
|
||||
'';
|
||||
|
||||
plugins = [
|
||||
@ -47,6 +50,7 @@ let
|
||||
|
||||
defaultUser = "netdata";
|
||||
|
||||
isThereAnyWireGuardTunnels = config.networking.wireguard.enable || lib.any (c: lib.hasAttrByPath [ "netdevConfig" "Kind" ] c && c.netdevConfig.Kind == "wireguard") (builtins.attrValues config.systemd.network.netdevs);
|
||||
in {
|
||||
options = {
|
||||
services.netdata = {
|
||||
@ -86,6 +90,14 @@ in {
|
||||
Whether to enable python-based plugins
|
||||
'';
|
||||
};
|
||||
recommendedPythonPackages = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable a set of recommended Python plugins
|
||||
by installing extra Python packages.
|
||||
'';
|
||||
};
|
||||
extraPackages = mkOption {
|
||||
type = types.functionTo (types.listOf types.package);
|
||||
default = ps: [];
|
||||
@ -198,13 +210,26 @@ in {
|
||||
}
|
||||
];
|
||||
|
||||
# Includes a set of recommended Python plugins in exchange of imperfect disk consumption.
|
||||
services.netdata.python.extraPackages = lib.mkIf cfg.python.recommendedPythonPackages (ps: [
|
||||
ps.requests
|
||||
ps.pandas
|
||||
ps.numpy
|
||||
ps.psycopg2
|
||||
ps.python-ldap
|
||||
ps.netdata-pandas
|
||||
ps.changefinder
|
||||
]);
|
||||
|
||||
services.netdata.configDir.".opt-out-from-anonymous-statistics" = mkIf (!cfg.enableAnalyticsReporting) (pkgs.writeText ".opt-out-from-anonymous-statistics" "");
|
||||
environment.etc."netdata/netdata.conf".source = configFile;
|
||||
environment.etc."netdata/conf.d".source = configDirectory;
|
||||
|
||||
systemd.services.netdata = {
|
||||
description = "Real time performance monitoring";
|
||||
after = [ "network.target" ];
|
||||
after = [ "network.target" "suid-sgid-wrappers.service" ];
|
||||
# No wrapper means no "useful" netdata.
|
||||
requires = [ "suid-sgid-wrappers.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = (with pkgs; [
|
||||
curl
|
||||
@ -213,10 +238,16 @@ in {
|
||||
which
|
||||
procps
|
||||
bash
|
||||
nvme-cli # for go.d
|
||||
iw # for charts.d
|
||||
apcupsd # for charts.d
|
||||
# TODO: firehol # for FireQoS -- this requires more NixOS module support.
|
||||
util-linux # provides logger command; required for syslog health alarms
|
||||
])
|
||||
++ lib.optional cfg.python.enable (pkgs.python3.withPackages cfg.python.extraPackages)
|
||||
++ lib.optional config.virtualisation.libvirtd.enable (config.virtualisation.libvirtd.package);
|
||||
++ lib.optional config.virtualisation.libvirtd.enable config.virtualisation.libvirtd.package
|
||||
++ lib.optional config.virtualisation.docker.enable config.virtualisation.docker.package
|
||||
++ lib.optionals config.virtualisation.podman.enable [ pkgs.jq config.virtualisation.podman.package ];
|
||||
environment = {
|
||||
PYTHONPATH = "${cfg.package}/libexec/netdata/python.d/python_modules";
|
||||
NETDATA_PIPENAME = "/run/netdata/ipc";
|
||||
@ -256,6 +287,8 @@ in {
|
||||
# Configuration directory and mode
|
||||
ConfigurationDirectory = "netdata";
|
||||
ConfigurationDirectoryMode = "0755";
|
||||
# AmbientCapabilities
|
||||
AmbientCapabilities = lib.optional isThereAnyWireGuardTunnels "CAP_NET_ADMIN";
|
||||
# Capabilities
|
||||
CapabilityBoundingSet = [
|
||||
"CAP_DAC_OVERRIDE" # is required for freeipmi and slabinfo plugins
|
||||
@ -269,7 +302,7 @@ in {
|
||||
"CAP_SYS_CHROOT" # is required for cgroups plugin
|
||||
"CAP_SETUID" # is required for cgroups and cgroups-network plugins
|
||||
"CAP_SYSLOG" # is required for systemd-journal plugin
|
||||
];
|
||||
] ++ lib.optional isThereAnyWireGuardTunnels "CAP_NET_ADMIN";
|
||||
# Sandboxing
|
||||
ProtectSystem = "full";
|
||||
ProtectHome = "read-only";
|
||||
@ -308,6 +341,14 @@ in {
|
||||
permissions = "u+rx,g+x,o-rwx";
|
||||
};
|
||||
|
||||
"debugfs.plugin" = {
|
||||
source = "${cfg.package}/libexec/netdata/plugins.d/debugfs.plugin.org";
|
||||
capabilities = "cap_dac_read_search+ep";
|
||||
owner = cfg.user;
|
||||
group = cfg.group;
|
||||
permissions = "u+rx,g+x,o-rwx";
|
||||
};
|
||||
|
||||
"cgroup-network" = {
|
||||
source = "${cfg.package}/libexec/netdata/plugins.d/cgroup-network.org";
|
||||
capabilities = "cap_setuid+ep";
|
||||
@ -332,6 +373,14 @@ in {
|
||||
permissions = "u+rx,g+x,o-rwx";
|
||||
};
|
||||
|
||||
"logs-management.plugin" = {
|
||||
source = "${cfg.package}/libexec/netdata/plugins.d/logs-management.plugin.org";
|
||||
capabilities = "cap_dac_read_search,cap_syslog+ep";
|
||||
owner = cfg.user;
|
||||
group = cfg.group;
|
||||
permissions = "u+rx,g+x,o-rwx";
|
||||
};
|
||||
|
||||
"slabinfo.plugin" = {
|
||||
source = "${cfg.package}/libexec/netdata/plugins.d/slabinfo.plugin.org";
|
||||
capabilities = "cap_dac_override+ep";
|
||||
@ -348,6 +397,14 @@ in {
|
||||
group = cfg.group;
|
||||
permissions = "u+rx,g+x,o-rwx";
|
||||
};
|
||||
} // optionalAttrs (cfg.package.withNetworkViewer) {
|
||||
"network-viewer.plugin" = {
|
||||
source = "${cfg.package}/libexec/netdata/plugins.d/network-viewer.plugin.org";
|
||||
capabilities = "cap_sys_admin,cap_dac_read_search,cap_sys_ptrace+ep";
|
||||
owner = cfg.user;
|
||||
group = cfg.group;
|
||||
permissions = "u+rx,g+x,o-rwx";
|
||||
};
|
||||
};
|
||||
|
||||
security.pam.loginLimits = [
|
||||
@ -359,6 +416,8 @@ in {
|
||||
${defaultUser} = {
|
||||
group = defaultUser;
|
||||
isSystemUser = true;
|
||||
extraGroups = lib.optional config.virtualisation.docker.enable "docker"
|
||||
++ lib.optional config.virtualisation.podman.enable "podman";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -11,7 +11,10 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [ curl jq netdata ];
|
||||
services.netdata.enable = true;
|
||||
services.netdata = {
|
||||
enable = true;
|
||||
python.recommendedPythonPackages = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
40
pkgs/development/python-modules/changefinder/default.nix
Normal file
40
pkgs/development/python-modules/changefinder/default.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, setuptools
|
||||
, numpy
|
||||
, scipy
|
||||
, statsmodels
|
||||
}:
|
||||
|
||||
buildPythonPackage {
|
||||
pname = "changefinder";
|
||||
version = "unstable-2024-03-24";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "shunsukeaihara";
|
||||
repo = "changefinder";
|
||||
rev = "58c8c32f127b9e46f9823f36221f194bdb6f3f8b";
|
||||
hash = "sha256-1If0gIsMU8673fKSSHVMvDgR1UnYgM/4HiyvZJ9T6VM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
scipy
|
||||
statsmodels
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "changefinder" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Online Change-Point Detection library based on ChangeFinder algorithm";
|
||||
homepage = "https://github.com/shunsukeaihara/changefinder";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ raitobezarius ];
|
||||
};
|
||||
}
|
42
pkgs/development/python-modules/netdata-pandas/default.nix
Normal file
42
pkgs/development/python-modules/netdata-pandas/default.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, setuptools
|
||||
, pandas
|
||||
, requests
|
||||
, trio
|
||||
, asks
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "netdata-pandas";
|
||||
version = "0.0.41";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "netdata";
|
||||
repo = "netdata-pandas";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AXt8BKWyM3glm5hrRryb+vBzs3z2x61HhbR6DDZkh9o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pandas
|
||||
requests
|
||||
trio
|
||||
asks
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "netdata_pandas" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A helper library to pull data from the netdata REST API into a pandas dataframe.";
|
||||
homepage = "https://github.com/netdata/netdata-pandas";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ raitobezarius ];
|
||||
};
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, makeWrapper
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, makeWrapper
|
||||
, CoreFoundation, IOKit, libossp_uuid
|
||||
, nixosTests
|
||||
, netdata-go-plugins
|
||||
, bash, curl, jemalloc, json_c, libuv, zlib, libyaml
|
||||
, bash, curl, jemalloc, json_c, libuv, zlib, libyaml, libelf, libbpf
|
||||
, libcap, libuuid, lm_sensors, protobuf
|
||||
, go, buildGoModule, ninja
|
||||
, withCups ? false, cups
|
||||
, withDBengine ? true, lz4
|
||||
, withIpmi ? (!stdenv.isDarwin), freeipmi
|
||||
@ -15,11 +15,12 @@
|
||||
, withSsl ? true, openssl
|
||||
, withSystemdJournal ? (!stdenv.isDarwin), systemd
|
||||
, withDebug ? false
|
||||
, withEbpf ? false
|
||||
, withNetworkViewer ? (!stdenv.isDarwin)
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
# Don't forget to update go.d.plugin.nix as well
|
||||
version = "1.44.3";
|
||||
version = "1.45.4";
|
||||
pname = "netdata";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@ -27,21 +28,22 @@ stdenv.mkDerivation rec {
|
||||
repo = "netdata";
|
||||
rev = "v${version}";
|
||||
hash = if withCloudUi
|
||||
then "sha256-ahWaq6geEoc6NZ2oU/Dqnb0bjRXd+q1zaRGOSIYVYok="
|
||||
else "sha256-2Kvh2WuoJjJxsFKueMjCAbazqZdzoOTxakbPVsj9PBo=";
|
||||
then "sha256-g/wxKtpNsDw/ZaUokdip39enQHMysJE6pYGsApuL4po="
|
||||
# we delete the v2 GUI after fetching
|
||||
else "sha256-Mkrmvdr19sWzFOkdpt46mcsbA3CNpXy4w8um95xaWlo=";
|
||||
fetchSubmodules = true;
|
||||
|
||||
# Remove v2 dashboard distributed under NCUL1. Make sure an empty
|
||||
# Makefile.am exists, as autoreconf will get confused otherwise.
|
||||
postFetch = lib.optionalString (!withCloudUi) ''
|
||||
rm -rf $out/web/gui/v2/*
|
||||
touch $out/web/gui/v2/Makefile.am
|
||||
rm -rf $out/src/web/gui/v2/*
|
||||
touch $out/src/web/gui/v2/Makefile.am
|
||||
'';
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper protobuf ];
|
||||
nativeBuildInputs = [ cmake pkg-config makeWrapper go ninja ];
|
||||
# bash is only used to rewrite shebangs
|
||||
buildInputs = [ bash curl jemalloc json_c libuv zlib libyaml ]
|
||||
++ lib.optionals stdenv.isDarwin [ CoreFoundation IOKit libossp_uuid ]
|
||||
@ -52,23 +54,23 @@ stdenv.mkDerivation rec {
|
||||
++ lib.optionals withNetfilter [ libmnl libnetfilter_acct ]
|
||||
++ lib.optionals withConnPubSub [ google-cloud-cpp grpc ]
|
||||
++ lib.optionals withConnPrometheus [ snappy ]
|
||||
++ lib.optionals withEbpf [ libelf libbpf ]
|
||||
++ lib.optionals (withCloud || withConnPrometheus) [ protobuf ]
|
||||
++ lib.optionals withSystemdJournal [ systemd ]
|
||||
++ lib.optionals withSsl [ openssl ];
|
||||
|
||||
patches = [
|
||||
# required to prevent plugins from relying on /etc
|
||||
# and /var
|
||||
./no-files-in-etc-and-var.patch
|
||||
|
||||
# Avoid build-only inputs in closure leaked by configure command:
|
||||
# https://github.com/NixOS/nixpkgs/issues/175693#issuecomment-1143344162
|
||||
./skip-CONFIGURE_COMMAND.patch
|
||||
|
||||
# Allow building without non-free v2 dashboard.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/peat-psuwit/netdata/commit/6ccbdd1500db2b205923968688d5f1777430a326.patch";
|
||||
hash = "sha256-jAyk5HlxdjFn5IP6jOKP8/SXOraMQSA6r1krThe+s7g=";
|
||||
url = "https://github.com/netdata/netdata/pull/17240/commits/b108df72281633234b731b223d99ec99f1d36adf.patch";
|
||||
hash = "sha256-tgsnbNY0pxFU3bz1J1qPaAeVsozsk2bpHV2mNy8A9is=";
|
||||
})
|
||||
# Allow for go.d plugins to access the right directory.
|
||||
# Can be removed once > v1.45.4 is released
|
||||
# https://github.com/netdata/netdata/pull/17661
|
||||
(fetchpatch {
|
||||
url = "https://patch-diff.githubusercontent.com/raw/netdata/netdata/pull/17661.patch";
|
||||
sha256 = "sha256-j+mrwkibQio2KO8UnV7sxzCoHmkcsalHNzP+YvrRz74=";
|
||||
})
|
||||
];
|
||||
|
||||
@ -83,8 +85,8 @@ stdenv.mkDerivation rec {
|
||||
env.NIX_CFLAGS_COMPILE = lib.optionalString withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1";
|
||||
|
||||
postInstall = ''
|
||||
ln -s ${netdata-go-plugins}/lib/netdata/conf.d/* $out/lib/netdata/conf.d
|
||||
ln -s ${netdata-go-plugins}/bin/godplugin $out/libexec/netdata/plugins.d/go.d.plugin
|
||||
# Relocate one folder above.
|
||||
mv $out/usr/* $out/
|
||||
'' + lib.optionalString (!stdenv.isDarwin) ''
|
||||
# rename this plugin so netdata will look for setuid wrapper
|
||||
mv $out/libexec/netdata/plugins.d/apps.plugin \
|
||||
@ -95,6 +97,10 @@ stdenv.mkDerivation rec {
|
||||
$out/libexec/netdata/plugins.d/perf.plugin.org
|
||||
mv $out/libexec/netdata/plugins.d/slabinfo.plugin \
|
||||
$out/libexec/netdata/plugins.d/slabinfo.plugin.org
|
||||
mv $out/libexec/netdata/plugins.d/debugfs.plugin \
|
||||
$out/libexec/netdata/plugins.d/debugfs.plugin.org
|
||||
mv $out/libexec/netdata/plugins.d/logs-management.plugin \
|
||||
$out/libexec/netdata/plugins.d/logs-management.plugin.org
|
||||
${lib.optionalString withSystemdJournal ''
|
||||
mv $out/libexec/netdata/plugins.d/systemd-journal.plugin \
|
||||
$out/libexec/netdata/plugins.d/systemd-journal.plugin.org
|
||||
@ -103,53 +109,108 @@ stdenv.mkDerivation rec {
|
||||
mv $out/libexec/netdata/plugins.d/freeipmi.plugin \
|
||||
$out/libexec/netdata/plugins.d/freeipmi.plugin.org
|
||||
''}
|
||||
${lib.optionalString withNetworkViewer ''
|
||||
mv $out/libexec/netdata/plugins.d/network-viewer.plugin \
|
||||
$out/libexec/netdata/plugins.d/network-viewer.plugin.org
|
||||
''}
|
||||
${lib.optionalString (!withCloudUi) ''
|
||||
rm -rf $out/share/netdata/web/index.html
|
||||
cp $out/share/netdata/web/v1/index.html $out/share/netdata/web/index.html
|
||||
''}
|
||||
'';
|
||||
|
||||
preConfigure = lib.optionalString (!stdenv.isDarwin) ''
|
||||
substituteInPlace collectors/python.d.plugin/python_modules/third_party/lm_sensors.py \
|
||||
--replace 'ctypes.util.find_library("sensors")' '"${lm_sensors.out}/lib/libsensors${stdenv.hostPlatform.extensions.sharedLibrary}"'
|
||||
substituteInPlace src/collectors/python.d.plugin/python_modules/third_party/lm_sensors.py \
|
||||
--replace-fail 'ctypes.util.find_library("sensors")' '"${lm_sensors.out}/lib/libsensors${stdenv.hostPlatform.extensions.sharedLibrary}"'
|
||||
'' + ''
|
||||
export GOCACHE=$TMPDIR/go-cache
|
||||
export GOPATH=$TMPDIR/go
|
||||
export GOPROXY=file://${passthru.netdata-go-modules}
|
||||
export GOSUMDB=off
|
||||
|
||||
# Prevent the path to be caught into the Nix store path.
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail 'set(CACHE_DIR "''${CMAKE_INSTALL_PREFIX}/var/cache/netdata")' 'set(CACHE_DIR "/var/cache/netdata")' \
|
||||
--replace-fail 'set(CONFIG_DIR "''${CMAKE_INSTALL_PREFIX}/etc/netdata")' 'set(CONFIG_DIR "/etc/netdata")' \
|
||||
--replace-fail 'set(LIBCONFIG_DIR "''${CMAKE_INSTALL_PREFIX}/usr/lib/netdata/conf.d")' 'set(LIBCONFIG_DIR "${placeholder "out"}/share/netdata/conf.d")' \
|
||||
--replace-fail 'set(LOG_DIR "''${CMAKE_INSTALL_PREFIX}/var/log/netdata")' 'set(LOG_DIR "/var/log/netdata")' \
|
||||
--replace-fail 'set(PLUGINS_DIR "''${CMAKE_INSTALL_PREFIX}/usr/libexec/netdata/plugins.d")' 'set(PLUGINS_DIR "${placeholder "out"}/libexec/netdata/plugins.d")' \
|
||||
--replace-fail 'set(VARLIB_DIR "''${CMAKE_INSTALL_PREFIX}/var/lib/netdata")' 'set(VARLIB_DIR "/var/lib/netdata")' \
|
||||
--replace-fail 'set(pkglibexecdir_POST "''${CMAKE_INSTALL_PREFIX}/usr/libexec/netdata")' 'set(pkglibexecdir_POST "${placeholder "out"}/libexec/netdata")' \
|
||||
--replace-fail 'set(localstatedir_POST "''${CMAKE_INSTALL_PREFIX}/var")' 'set(localstatedir_POST "/var")' \
|
||||
--replace-fail 'set(sbindir_POST "''${CMAKE_INSTALL_PREFIX}/usr/sbin")' 'set(sbindir_POST "${placeholder "out"}/bin")' \
|
||||
--replace-fail 'set(configdir_POST "''${CMAKE_INSTALL_PREFIX}/etc/netdata")' 'set(configdir_POST "/etc/netdata")' \
|
||||
--replace-fail 'set(libconfigdir_POST "''${CMAKE_INSTALL_PREFIX}/usr/lib/netdata/conf.d")' 'set(libconfigdir_POST "${placeholder "out"}/share/netdata/conf.d")' \
|
||||
--replace-fail 'set(cachedir_POST "''${CMAKE_INSTALL_PREFIX}/var/cache/netdata")' 'set(libconfigdir_POST "/var/cache/netdata")' \
|
||||
--replace-fail 'set(registrydir_POST "''${CMAKE_INSTALL_PREFIX}/var/lib/netdata/registry")' 'set(registrydir_POST "/var/lib/netdata/registry")' \
|
||||
--replace-fail 'set(varlibdir_POST "''${CMAKE_INSTALL_PREFIX}/var/lib/netdata")' 'set(varlibdir_POST "/var/lib/netdata")'
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--localstatedir=/var"
|
||||
"--sysconfdir=/etc"
|
||||
"--disable-ebpf"
|
||||
"--with-jemalloc=${jemalloc}"
|
||||
] ++ lib.optionals (withSystemdJournal) [
|
||||
"--enable-plugin-systemd-journal"
|
||||
] ++ lib.optionals (!withDBengine) [
|
||||
"--disable-dbengine"
|
||||
] ++ lib.optionals (!withCloud) [
|
||||
"--disable-cloud"
|
||||
] ++ lib.optionals (!withCloudUi) [
|
||||
"--disable-cloud-ui"
|
||||
cmakeFlags = [
|
||||
"-DWEB_DIR=share/netdata/web"
|
||||
(lib.cmakeBool "ENABLE_CLOUD" withCloud)
|
||||
# ACLK is agent cloud link.
|
||||
(lib.cmakeBool "ENABLE_ACLK" withCloud)
|
||||
(lib.cmakeBool "ENABLE_DASHBOARD_V2" withCloudUi)
|
||||
(lib.cmakeBool "ENABLE_DBENGINE" withDBengine)
|
||||
(lib.cmakeBool "ENABLE_PLUGIN_FREEIPMI" withIpmi)
|
||||
(lib.cmakeBool "ENABLE_PLUGIN_SYSTEMD_JOURNAL" withSystemdJournal)
|
||||
(lib.cmakeBool "ENABLE_PLUGIN_NETWORK_VIEWER" withNetworkViewer)
|
||||
(lib.cmakeBool "ENABLE_PLUGIN_EBPF" withEbpf)
|
||||
(lib.cmakeBool "ENABLE_PLUGIN_XENSTAT" false)
|
||||
(lib.cmakeBool "ENABLE_PLUGIN_CUPS" withCups)
|
||||
(lib.cmakeBool "ENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE" withConnPrometheus)
|
||||
(lib.cmakeBool "ENABLE_JEMALLOC" true)
|
||||
# Suggested by upstream.
|
||||
"-G Ninja"
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
# remove once https://github.com/netdata/netdata/pull/16300 merged
|
||||
substituteInPlace $out/bin/netdata-claim.sh \
|
||||
--replace /bin/echo echo
|
||||
|
||||
wrapProgram $out/bin/netdata-claim.sh --prefix PATH : ${lib.makeBinPath [ openssl ]}
|
||||
wrapProgram $out/libexec/netdata/plugins.d/cgroup-network-helper.sh --prefix PATH : ${lib.makeBinPath [ bash ]}
|
||||
wrapProgram $out/bin/netdatacli --set NETDATA_PIPENAME /run/netdata/ipc
|
||||
|
||||
# Time to cleanup the output directory.
|
||||
unlink $out/sbin
|
||||
cp $out/etc/netdata/edit-config $out/bin/netdata-edit-config
|
||||
mv $out/lib/netdata/conf.d $out/share/netdata/conf.d
|
||||
rm -rf $out/{var,usr,etc}
|
||||
'';
|
||||
|
||||
enableParallelBuild = true;
|
||||
|
||||
passthru = {
|
||||
inherit withIpmi;
|
||||
passthru = rec {
|
||||
netdata-go-modules = (buildGoModule {
|
||||
pname = "netdata-go-plugins";
|
||||
inherit version src;
|
||||
|
||||
sourceRoot = "${src.name}/src/go/collectors/go.d.plugin";
|
||||
|
||||
vendorHash = "sha256-KO+xMk6fpZCYRyxxKrsGfOHJ2bwjBaSmkgz1jIUHaZs=";
|
||||
doCheck = false;
|
||||
proxyVendor = true;
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
|
||||
|
||||
passthru.tests = tests;
|
||||
meta = meta // {
|
||||
description = "Netdata orchestrator for data collection modules written in Go";
|
||||
mainProgram = "godplugin";
|
||||
license = lib.licenses.gpl3Only;
|
||||
};
|
||||
}).goModules;
|
||||
inherit withIpmi withNetworkViewer;
|
||||
tests.netdata = nixosTests.netdata;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin || stdenv.buildPlatform != stdenv.hostPlatform;
|
||||
broken = stdenv.isDarwin || stdenv.buildPlatform != stdenv.hostPlatform || withEbpf;
|
||||
description = "Real-time performance monitoring tool";
|
||||
homepage = "https://www.netdata.cloud/";
|
||||
changelog = "https://github.com/netdata/netdata/releases/tag/v${version}";
|
||||
license = [ licenses.gpl3Plus ]
|
||||
++ lib.optionals (withCloudUi) [ licenses.ncul1 ];
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ raitobezarius ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
@ -1,35 +0,0 @@
|
||||
{ lib, fetchFromGitHub, buildGoModule, nixosTests }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "netdata-go-plugins";
|
||||
version = "0.58.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "netdata";
|
||||
repo = "go.d.plugin";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-zzHm98jec7MXnzVsrLlYIk+ILA3Ei43853dM1LdFz5c=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-eb+GRFhfWxDkfH4x2VF3ogyT5z4OcIoqHtEVJ1tGsdA=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/lib/netdata/conf.d
|
||||
cp -r config/* $out/lib/netdata/conf.d
|
||||
'';
|
||||
|
||||
passthru.tests = { inherit (nixosTests) netdata; };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Netdata orchestrator for data collection modules written in go";
|
||||
mainProgram = "godplugin";
|
||||
homepage = "https://github.com/netdata/go.d.plugin";
|
||||
changelog = "https://github.com/netdata/go.d.plugin/releases/tag/v${version}";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = [ maintainers.raitobezarius ];
|
||||
};
|
||||
}
|
@ -1,128 +0,0 @@
|
||||
diff --git c/collectors/Makefile.am i/collectors/Makefile.am
|
||||
index 1bbb2e0ef..96c400d33 100644
|
||||
--- c/collectors/Makefile.am
|
||||
+++ i/collectors/Makefile.am
|
||||
@@ -33,7 +33,7 @@ usercustompluginsconfigdir=$(configdir)/custom-plugins.d
|
||||
usergoconfigdir=$(configdir)/go.d
|
||||
|
||||
# Explicitly install directories to avoid permission issues due to umask
|
||||
-install-exec-local:
|
||||
+no-install-exec-local:
|
||||
$(INSTALL) -d $(DESTDIR)$(usercustompluginsconfigdir)
|
||||
$(INSTALL) -d $(DESTDIR)$(usergoconfigdir)
|
||||
|
||||
diff --git c/collectors/charts.d.plugin/Makefile.am i/collectors/charts.d.plugin/Makefile.am
|
||||
index f82992fd4..4cac1ae4f 100644
|
||||
--- c/collectors/charts.d.plugin/Makefile.am
|
||||
+++ i/collectors/charts.d.plugin/Makefile.am
|
||||
@@ -34,7 +34,7 @@ dist_userchartsconfig_DATA = \
|
||||
$(NULL)
|
||||
|
||||
# Explicitly install directories to avoid permission issues due to umask
|
||||
-install-exec-local:
|
||||
+no-install-exec-local:
|
||||
$(INSTALL) -d $(DESTDIR)$(userchartsconfigdir)
|
||||
|
||||
chartsconfigdir=$(libconfigdir)/charts.d
|
||||
diff --git c/collectors/ebpf.plugin/Makefile.am i/collectors/ebpf.plugin/Makefile.am
|
||||
index 2d5f92a6b..8b11c7502 100644
|
||||
--- c/collectors/ebpf.plugin/Makefile.am
|
||||
+++ i/collectors/ebpf.plugin/Makefile.am
|
||||
@@ -9,7 +9,7 @@ SUFFIXES = .in
|
||||
userebpfconfigdir=$(configdir)/ebpf.d
|
||||
|
||||
# Explicitly install directories to avoid permission issues due to umask
|
||||
-install-exec-local:
|
||||
+no-install-exec-local:
|
||||
$(INSTALL) -d $(DESTDIR)$(userebpfconfigdir)
|
||||
|
||||
dist_noinst_DATA = \
|
||||
diff --git c/collectors/python.d.plugin/Makefile.am i/collectors/python.d.plugin/Makefile.am
|
||||
index ca49c1c02..1b9bcc446 100644
|
||||
--- c/collectors/python.d.plugin/Makefile.am
|
||||
+++ i/collectors/python.d.plugin/Makefile.am
|
||||
@@ -32,7 +32,7 @@ dist_userpythonconfig_DATA = \
|
||||
$(NULL)
|
||||
|
||||
# Explicitly install directories to avoid permission issues due to umask
|
||||
-install-exec-local:
|
||||
+no-install-exec-local:
|
||||
$(INSTALL) -d $(DESTDIR)$(userpythonconfigdir)
|
||||
|
||||
pythonconfigdir=$(libconfigdir)/python.d
|
||||
diff --git c/collectors/statsd.plugin/Makefile.am i/collectors/statsd.plugin/Makefile.am
|
||||
index c8144c137..f8aaa89b6 100644
|
||||
--- c/collectors/statsd.plugin/Makefile.am
|
||||
+++ i/collectors/statsd.plugin/Makefile.am
|
||||
@@ -19,5 +19,5 @@ dist_userstatsdconfig_DATA = \
|
||||
$(NULL)
|
||||
|
||||
# Explicitly install directories to avoid permission issues due to umask
|
||||
-install-exec-local:
|
||||
+no-install-exec-local:
|
||||
$(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir)
|
||||
diff --git c/health/Makefile.am i/health/Makefile.am
|
||||
index 7d7bca4cc..3086876dd 100644
|
||||
--- c/health/Makefile.am
|
||||
+++ i/health/Makefile.am
|
||||
@@ -19,7 +19,7 @@ dist_userhealthconfig_DATA = \
|
||||
$(NULL)
|
||||
|
||||
# Explicitly install directories to avoid permission issues due to umask
|
||||
-install-exec-local:
|
||||
+no-install-exec-local:
|
||||
$(INSTALL) -d $(DESTDIR)$(userhealthconfigdir)
|
||||
|
||||
healthconfigdir=$(libconfigdir)/health.d
|
||||
diff --git c/logsmanagement/Makefile.am i/logsmanagement/Makefile.am
|
||||
index 33f08d556..1f08cbae9 100644
|
||||
--- c/logsmanagement/Makefile.am
|
||||
+++ i/logsmanagement/Makefile.am
|
||||
@@ -6,7 +6,7 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
|
||||
userlogsmanagconfigdir=$(configdir)/logsmanagement.d
|
||||
|
||||
# Explicitly install directories to avoid permission issues due to umask
|
||||
-install-exec-local:
|
||||
+no-install-exec-local:
|
||||
$(INSTALL) -d $(DESTDIR)$(userlogsmanagconfigdir)
|
||||
|
||||
dist_libconfig_DATA = \
|
||||
diff --git c/system/Makefile.am i/system/Makefile.am
|
||||
index 1e96f6f4f..98122ecdc 100644
|
||||
--- c/system/Makefile.am
|
||||
+++ i/system/Makefile.am
|
||||
@@ -22,12 +22,9 @@ include $(top_srcdir)/build/subst.inc
|
||||
SUFFIXES = .in
|
||||
|
||||
dist_config_SCRIPTS = \
|
||||
- edit-config \
|
||||
$(NULL)
|
||||
|
||||
dist_config_DATA = \
|
||||
- .install-type \
|
||||
- netdata-updater.conf \
|
||||
$(NULL)
|
||||
|
||||
libconfigvnodesdir=$(libconfigdir)/vnodes
|
||||
@@ -47,7 +44,7 @@ libsysrunitdir=$(libsysdir)/runit
|
||||
libsyssystemddir=$(libsysdir)/systemd
|
||||
|
||||
# Explicitly install directories to avoid permission issues due to umask
|
||||
-install-exec-local:
|
||||
+no-install-exec-local:
|
||||
$(INSTALL) -d $(DESTDIR)$(configdir)
|
||||
$(INSTALL) -d $(DESTDIR)$(libsysdir)
|
||||
$(INSTALL) -d $(DESTDIR)$(libsyscrondir)
|
||||
diff --git c/web/Makefile.am i/web/Makefile.am
|
||||
index be2c545c3..55f373114 100644
|
||||
--- c/web/Makefile.am
|
||||
+++ i/web/Makefile.am
|
||||
@@ -13,7 +13,7 @@ SUBDIRS = \
|
||||
usersslconfigdir=$(configdir)/ssl
|
||||
|
||||
# Explicitly install directories to avoid permission issues due to umask
|
||||
-install-exec-local:
|
||||
+no-install-exec-local:
|
||||
$(INSTALL) -d $(DESTDIR)$(usersslconfigdir)
|
||||
|
||||
dist_noinst_DATA = \
|
@ -1,16 +0,0 @@
|
||||
Shrink closure size by avoiding paths embedded from configure call.
|
||||
|
||||
https://github.com/NixOS/nixpkgs/issues/175693
|
||||
diff --git a/daemon/buildinfo.c b/daemon/buildinfo.c
|
||||
index 56cde84fc..011e7579d 100644
|
||||
--- a/daemon/buildinfo.c
|
||||
+++ b/daemon/buildinfo.c
|
||||
@@ -1040,7 +1040,7 @@ static void build_info_set_status(BUILD_INFO_SLOT slot, bool status) {
|
||||
|
||||
__attribute__((constructor)) void initialize_build_info(void) {
|
||||
build_info_set_value(BIB_PACKAGING_NETDATA_VERSION, program_version);
|
||||
- build_info_set_value(BIB_PACKAGING_CONFIGURE_OPTIONS, CONFIGURE_COMMAND);
|
||||
+ build_info_set_value(BIB_PACKAGING_CONFIGURE_OPTIONS, "REMOVED FOR CLOSURE SIZE REASONS");
|
||||
|
||||
#ifdef COMPILED_FOR_LINUX
|
||||
build_info_set_status(BIB_FEATURE_BUILT_FOR, true);
|
@ -9932,8 +9932,6 @@ with pkgs;
|
||||
withCloud = !stdenv.isDarwin;
|
||||
withCloudUi = true;
|
||||
};
|
||||
# Exposed here so the bots can auto-upgrade it
|
||||
netdata-go-plugins = callPackage ../tools/system/netdata/go.d.plugin.nix { };
|
||||
|
||||
netsurf = recurseIntoAttrs (callPackage ../applications/networking/browsers/netsurf { });
|
||||
netsurf-browser = netsurf.browser;
|
||||
|
@ -2101,6 +2101,8 @@ self: super: with self; {
|
||||
|
||||
chameleon = callPackage ../development/python-modules/chameleon { };
|
||||
|
||||
changefinder = callPackage ../development/python-modules/changefinder { };
|
||||
|
||||
channels = callPackage ../development/python-modules/channels { };
|
||||
|
||||
channels-redis = callPackage ../development/python-modules/channels-redis { };
|
||||
@ -8806,6 +8808,8 @@ self: super: with self; {
|
||||
|
||||
netdata = callPackage ../development/python-modules/netdata { };
|
||||
|
||||
netdata-pandas = callPackage ../development/python-modules/netdata-pandas { };
|
||||
|
||||
netdisco = callPackage ../development/python-modules/netdisco { };
|
||||
|
||||
nethsm = callPackage ../development/python-modules/nethsm { };
|
||||
|
Loading…
Reference in New Issue
Block a user