summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2024-03-26Assorted macOS build fixes. (#17216)Austin S. Hemmelgarn
* Use zlib provided by the system itself on macOS. Searching for it with find_package() should always work on macOS since it will find the system copy, which is always going to be there. * Use native libuuid on macOS. Much like zlib, macOS provides a libuuid implementation that (should) work for us, so just use that instead of fighting with brew to find one. * Don’t prepend system include paths. * Skip Linux-specific checks on macOS. This isn’t technically broken, but not making these checks makes debugging of the build system easier. * Minor CMake restructure.
2024-03-26Try finding OpenSSL using pkg-config first on macOS. (#17250)Austin S. Hemmelgarn
This is required to work correctly in Homebrew, as building within Homebrew does not allow using Homebrew commands, but does generally provide a properly working pkg-config setup.
2024-03-25DBENGINE: support ZSTD compression (#17244)Costa Tsaousis
* extract dbengine compression to separate files * added ZSTD support in dbengine * automatically select best compression * handle decompression errors * eliminate fatals from compression algorithms; fallback to uncompressed pages if compression fails or generates bigger data * have the unit test generate many data files
2024-03-23Code cleanup (#17237)Costa Tsaousis
* renames in dbengine * remove leftovers from memory mode save and map * fix docs about 3 tiers by default * split linked-lists, bitmaps and storage-points from libnetdata.h
2024-03-23updated dbengine unittest (#17232)Costa Tsaousis
* when a page cannot be acquired, repeat the call until it can or does not exist * updated dbengine unittest * Update dbengine-unittest.c
2024-03-21Add -Wno-builtin-macro-redefined to compiler flags. (#17209)Austin S. Hemmelgarn
This silences warnings about macros that are provided by the preprocessor/compiler itself being redefined. This is needed to silence warnings about _FORTIFY_SOURCE being redefined, which are being generated as we prefer a more aggressive value for it than what most distros provide by default. Without this change, the build is really noisy on many systems, and also fails when run with `-Werror`. It is also required long-term to allow for reproducible builds without throwing errors, as they need to redefine a number of macros provided by the preprocessor at build time.
2024-03-20Move bundling of libyaml to CMake. (#17190)Austin S. Hemmelgarn
2024-03-20Prefer Protobuf’s own CMake config over CMake's FindProtobuf. (#17128)Austin S. Hemmelgarn
* Prefer Protobuf’s own CMake config over CMake's FindProtobuf. The FindProtobuf CMake module shipped by upstream CMake is broken for Protobuf version 22.0 and newer because it does not correctly pull in the new Abseil dependencies. Protobuf itself sometimes ships a CMake Package Configuration module that _does_ work correctly, so use that in preference to the Find module shipped with CMake. Upstream bug reference: https://gitlab.kitware.com/cmake/cmake/-/issues/24321 * Properly handle protoc executable. * Restructure to explicitly handle fallback case ourselves. This allows proper handling of compatibility code in a way that actually works for us without us needing to ship a special module to handle the compatibility case. * Switch to bundling protobuf via CMake instead of an external script. * Fix handling of Protobuf inclusion. - Add correct include directories for protoc. - Skip installing protobuf when installing the agent. * Drop spurious quotation marks. * Properly fix generator expression for protoc include paths. * Properly default to bundling protobuf in installer code. * Disable ASAN in unit tests. It doesn’t work with the modified protobuf handling and per discussion with the team is non-critical. * Change comment based on review. * Revert "Disable ASAN in unit tests." This reverts commit 6cb98b1b59c55d639d68694424b98e790ba2f5a7. * Disable IPMI and NFACCT plugins for unit tests. We don’t actually have any unit tests for them, and they cause issues building reliably in the unit testing environment. * Disable ASAN for Abseil and Protobuf when vendoring them. * Switch to commit hashes for protobuf/abseil. * Restructure to better encapsulate protobuf handling as it’s own module. * Fix up bundled protobuf version handling. Google has complicated rules for C++ build environment support, so we really need to be checking compiler versions and not _just_ C++ standard version. * Fix warnings about invalid defines.
2024-03-18split apps.plugin into multiple files and support MacOS (#17180)Costa Tsaousis
* split apps.plugin into multiple files * move everything about pids to apps_proc_pids.c * code cleanup and reorg for supporting MacOS * fixed SIGFPE * more cleanup * completed split; added untested macos support * enable apps everywhere * macos fixes * disable macos for the moment * extern pagesize * fix missing function * added comments * restored function * working macos apps - not verified yet * enable apps.plugin in MacOS * added ppid * parse cmdline * fix scaling of cpu usage * fixed cmdline parsing * codacy fixes * support uptime for FreeBSD and MacOS * uptime in sec * enable uptime charts on macos and freebsd * disable vmsize on macos
2024-03-05go.d.plugin dyncfgv2 (#17064)Ilya Mashchenko
2024-02-26Integrate Go plugin with build system. (#17005)Austin S. Hemmelgarn
* Integrate Go plugin with build system. * Fix Debian packaging rules. * Add FreeBSD support to Go toolchain handling. * Add Go ldflags handling. * Fix version detection when GCCGO is used. * Fix Go ldflags handling. * Correctly fix Go toolchain version detection. * Properly mark Go as a required dependency in CMake. * Disable VCS stamping as it does not work correctly on some platforms. * Autodetect minimum required Go version from go.mod files. This allows us to avoid needing to update the CMakeLists.txt file when the required version changes in a Go component’s go.mod file. * Prefix GoTools module name with Netdata to ensure we get our local module. * Update integrations code to use new Go plugin location. * Remove old go packaging files. * keep old logic for initial cleanup that is working * Re-sync Go plugin sources. * Fix search order for finding Go toolchain. * update module name * fix /usr/local/go overwrite condition --------- Co-authored-by: Fotis Voutsas <fotis@netdata.cloud> Co-authored-by: ilyam8 <ilya@netdata.cloud>
2024-02-26Assorted build-related changes. (#16906)vkalintiris
* Rename endian.h to byte_order.h The underlying issue is that non-relative header search paths would pick up our own endian.h. This should be fixed in a follow-up PR. * Do not include top-level source dir * Move h2o dep from libnetdata to netdata binary. * Update #endif comment.
2024-02-26More concretely utilize local modules in our CMake code. (#17022)Austin S. Hemmelgarn
* Properly handle systemd.cmake as a module. * Split CMake compiler flag handling functions to their own module. * Add include guards to modules. * Prefix module names with Netdata. This ensures that we end up using our local modules instead of possibly using a system module with the same name. * Drop include guards. And shift systemd detection code to a macro so it’s less dangerous to import the module multiple times.
2024-02-26Add watcher thread to report shutdown steps. (#17010)vkalintiris
* Add watcher thread to report shutdown steps. * Add license header
2024-02-22Correctly mark protobuf as required in find_package. (#17021)Austin S. Hemmelgarn
At the point at which we call find_package() to locate protobuf, we know that we do, in fact, need it for this build. Given this, we should be marking it as required in the find_package() call so that if it’s not found the configuration phase fails instead of things breaking in potentially strange ways later on during the build itself.
2024-02-14Assorted cleanup of CI/packaging related code. (#16938)Austin S. Hemmelgarn
* Drop unused Dockerfile.test. It’s not been used for years, and it doesn’t even work at this point for it’s intended purpose. * Remove CodeClimate configuration. We’re not using it anymore, so there is no point to keeping the configuration around. * Remove the build_external directory. This isn’t used by any of our code AFAICT, and if it _is_ needed, it should actually be in some sub-directory of `tests` instead of a top-level directory whose name doesn’t even describe what it does. * Remove .gitattributes If there's any objection we can reinstate it. * Move coverity-scan.sh under packaging/utils * Move cmake files under packaging/cmake * Remove devcontainer * Fix up coverity script to run correctly from new location. --------- Co-authored-by: vkalintiris <vasilis@netdata.cloud>
2024-02-12Move web/ under src/ (#16992)vkalintiris
2024-02-12Remove config macros that are always set. (#16994)vkalintiris
2024-02-09Use C++14 by default when building on systems that support it. (#16972)Austin S. Hemmelgarn
This is needed to properly support the latest versions of Protobuf.
2024-02-08Move collectors/ under src/ (#16965)vkalintiris
2024-02-07Move health/ under src/ (#16954)vkalintiris
* Move health/ under src/ * Update references to health paths. ``` find . -type f -exec sed -i 's:master/exporting:master/src/exporting:g' {} \; ``` * Update .git{,hub} refs to health.
2024-02-06Move daemon/ under src/ (#16933)vkalintiris
2024-02-05Move exporting/ under src/ (#16913)vkalintiris
2024-02-03split dictionary into multiple files (#16920)Costa Tsaousis
* split dictionary into multiple files * rename to hashtable * dictionaries now support SIMPLE_HASHTABLE indexing, with user selection via a dictionary option
2024-02-02Network viewer: filter by username (#16911)Costa Tsaousis
* add users to network-connections function * cleaner and simpler filters; removed IPs and ports, added serverPort
2024-02-01fluent-bit & logsmanagement under src/ (#16903)vkalintiris
2024-02-01Move aclk/ under src/ (#16899)vkalintiris
* Move aclk/ under src/ * Update labeler
2024-02-01Create a top-level directory to contain source code. (#16896)vkalintiris
* Move ML under src * Move spwan under src * Move cli/ under src/ * move registry/ under src/ * move streaming/ under src/ * Move claim under src. Update docs * Move database/ under src/ * Move libnetdata/ under src/ * Update references to libnetdata * Fix logsmanagement includes * Update generated script path.
2024-02-01local-sockets: use netlink when libmnl is available (#16893)Costa Tsaousis
* enable libmnl when it is available * Link MNL if it's available * working uid from proc too * do not show sockets from unknown pids or uids * fix comparison * enable again unknown uid/pid * updates to network viewer prototype * apps.plugin minify and remove of cloexec workaround --------- Co-authored-by: vkalintiris <vasilis@netdata.cloud>
2024-01-30Setup sentry-native SDK. (#16798)vkalintiris
* Setup sentry-native SDK. * Integrate Sentry into our CI Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * minor fix Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * Include sentry field to the build matrix Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * Update the bundle_sentry flag for all the distros Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * more changes Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * NON mergeable change Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * . Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * Enable fetch content. * Abort in profile plugin * Update plugin_profile.cc * NON MERGABLE COMMIT, just for testing purposes * NON MERGEABLE CHANGE, jsut for testing purposes * Bump * Use breakpad backend * Multiple changes - Make DSN variable that we read from the CI from the CI - Upload debug symbols - Fix packaging workflow; include new env vars & fix shecllchecks Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * Modify sentry dif command * fix merge conf Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * Fix merge conflict * Undo file prefix map. * Fix typo * Cleanup stuff. * Add 256-checksum * Renable ML for debs * Finalize CI changes Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * Update rules * final touches Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * merge the two if, no point to have them sep Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * Update contrib/debian/rules Co-authored-by: Tasos Katsoulas <12612986+tkatsoulas@users.noreply.github.com> * Update contrib/debian/rules Co-authored-by: Tasos Katsoulas <12612986+tkatsoulas@users.noreply.github.com> * Add license * Enable sentry for debian 12. * Update .github/workflows/packaging.yml Co-authored-by: Austin S. Hemmelgarn <ahferroin7@gmail.com> --------- Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> Co-authored-by: Tasos Katsoulas <tasos@netdata.cloud> Co-authored-by: Tasos Katsoulas <12612986+tkatsoulas@users.noreply.github.com> Co-authored-by: Austin S. Hemmelgarn <ahferroin7@gmail.com>
2024-01-30Network Viewer (local-sockets version) (#16872)Costa Tsaousis
* network viewer based on local-sockets * added more fields for the UI * added socket state * added inodes to the lists
2024-01-29port useful code from incomplete PRs (#16863)Costa Tsaousis
* port useful code from incomplete PRs * change systemd-journal plugin default thread name
2024-01-29detect sockets direction (#16861)Costa Tsaousis
2024-01-29New Permissions System (#16837)Costa Tsaousis
* wip of migrating to bitmap permissions * replace role with bitmapped permissions * formatting permissions using macros * accept view and edit permissions for all dynamic configuration * work on older compilers * parse the header in hex * agreed permissions updates * map permissions to old roles * new permissions management * fix function rename * build libdatachannel when enabled - currently for code maintainance * dyncfg now keeps 2 sets of statuses, to keep track of what happens to dyncfg and what actually happens with the plugin * complete the additions of jobs and solve unittests * fix renumbering of ACL bits * processes function shows the cmdline based on permissions and the presence of the sensitive data permission * now the agent returns 412 when authorization is missing, 403 when authorization exists but permissions are not enough, 451 when access control list prevents the user from accessing the dashboard * enable cmdline on processes with thhe HTTP_ACCESS_VIEW_AGENT_CONFIG permission * by default functions require anonymous-data access * fix compilation on debian * fix left-over renamed define * updated schema for alerts * updated permissions * require a name when loading json payloads, if the name is not provided by dyncfg
2024-01-23DYNCFG: dynamically configured alerts (#16779)Costa Tsaousis
* cleanup alerts * fix references * fix references * fix references * load alerts once and apply them to each node * simplify health_create_alarm_entry() * Compile without warnings with compiler flags: -Wall -Wextra -Wformat=2 -Wshadow -Wno-format-nonliteral -Winit-self * code re-organization and cleanup * generate patterns when applying prototypes; give unique dyncfg names to all alerts * eval expressions keep the source and the parsed_as as STRING pointers * renamed host to node in dyncfg ids * renamed host to node in dyncfg ids * add all cloud roles to the list of parsed X-Netdata-Role header and also default to member access level * working functionality * code re-organization: moved health event-loop to a new file, moved health globals to health.c * rrdcalctemplate is removed; alert_cfg is removed; foreach dimension is removed; RRDCALCs are now instanciated only when they are linked to RRDSETs * dyncfg alert prototypes initialization for alerts * health dyncfg split to separate file * cleanup not-needed code * normalize matches between parsing and json * also detect !* for disabled alerts * dyncfg capability disabled * Store alert config part1 * Add rrdlabels_common_count * wip health variables lookup without indexes * Improve rrdlabels_common_count by reusing rrdlabels_find_label_with_key_unsafe with an additional parameter * working variables with runtime lookup * working variables with runtime lookup * delete rrddimvar and rrdfamily index * remove rrdsetvar; now all variables are in RRDVARs inside hosts and charts * added /api/v1/variable that resolves a variable the same way alerts do * remove rrdcalc from eval * remove debug code * remove duplicate assignment * Fix memory leak * all alert variables are now handled by alert_variable_lookup() and EVAL is now independent of alerts * hide all internal structures of EVAL * Enable -Wformat flag Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> * Adjust binding for calculation, warning, critical * Remove unused macro * Update config hash id * use the right info and summary in alerts log * use synchronous queries for alerts * Handle cases when config_hash_id is missing from health_log * remove deadlock from health worker * parsing to json payload for health alert prototypes * cleaner parsing and avoiding memory leaks in case of duplicate members in json * fix left-over rename of function * Keep original lookup field to send to the cloud Cleanup / rename function to store config Remove unused DEFINEs, functions * Use ac->lookup * link jobs to the host when the template is registered; do not accept running a function without a host * full dyncfg support for health alerts, except action TEST * working dyncfg additions, updates, removals * fixed missing source, wrong status updates * add alerts by type, component, classification, recipient and module at the /api/v2/alerts endpoint * fix dyncfg unittest * rename functions * generalize the json-c parser macros and move them to libnetdata * report progress when enabling and disabling dyncfg templates * moved rrdcalc and rrdvar to health * update alarms * added schema for alerts; separated alert_action_options from rrdr_options; restructured the json payload for alerts * enable parsed json alerts; allow sending back accepted but disabled * added format_version for alerts payload; enables/disables status now is also inheritted by the status of the rules; fixed variable names in json output * remove the RRDHOST pointer from DYNCFG * Fix command field submitted to the cloud * do not send updates to creation requests, for DYNCFG jobs --------- Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud> Co-authored-by: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com> Co-authored-by: Tasos Katsoulas <tasos@netdata.cloud> Co-authored-by: ilyam8 <ilya@netdata.cloud>
2024-01-18Move mqtt_websockets under aclk/ (#16804)vkalintiris
* Move mqtt_websockets under aclk/ * Use relative paths for includes from mqtt_websockets ...in order to reduce the number of header search paths that we use when building the agent. Ideally, we'd make each component a standalone library target from CMake's perspective but more work needs to be done before we are able to do this. * Remove unused files. * Make licensing information consistent across all files. * Flatten the hierarchy of source files.
2024-01-12Fix handling of hardening flags with Clang (#16731)Austin S. Hemmelgarn
* Use `-Werror` when checking compiler flags. This should ensure that Clang rejects unknown flags correctly instead of blindly eating some of them. * Explicitly check C and C++ flags separately. This should better handle the unusual case of mismatched compilers. * Properly use Clang for C++ in our CI checks that build using Clang. * Apply suggestions from code review Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud> * Use functions and loops when possible. * Fix typos and broken loops. * Fix more typos. * Fix bogus commas. * Fix caching of compiler flag checks. * Fix flag variable names to make them behave correctly in checks. CMake adds a preprocessor define with the name of the variable being defined by a compiler flag check, so we need to ensure not only that the variable name is unique, but also that it is a valid name for a C preprocessor definition. * Fix scoping. * Fix botched merge during previous rebase. --------- Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>
2024-01-11add schemas to /usr/lib/netdata/conf.d/schema.d (#16757)Costa Tsaousis
2024-01-11dyncfg v2 (#16702)Costa Tsaousis
* split rrdfunctions streaming and progress * simplified internal inline functions API * split rrdfunctions inflight management * split rrd functions exporters * renames * base dyncfg structure * config pluginsd * intercept dyncfg function calls * loading and saving of dyncfg metadata and data * save metadata and payload to a single file; added code to update the plugins with jobs and saved configs * basic working unit test * added payload to functions execution * removed old dyncfg code that is not needed any more * more cleanup * cleanup sender for functions with payload * dyncfg functions are not exposed as functions * remaining work to avoid indexing the \0 terminating character in dictionary keys * added back old dyncfg plugins.d commands as noop, to allow plugins continue working * working api; working streaming; * updated plugins.d documentation * aclk and http api requests share the same header parsing logic * added source type internal * fixed crashes * added god mode for tests * fixes * fixed messages * save host machine guids to configs * cleaner manipulation of supported commands * the functions event loop for external plugins can now process dyncfg requests * unified internal and external plugins dyncfg API * Netdata serves schema requests from /etc/netdata/schema.d and /var/lib/netdata/conf.d/schema.d * cleanup and various fixes; fixed bug in previous dyncfg implementation on streaming that was sending the paylod in a way that allowed other streaming commands to be multiplexed * internals go to a separate header file * fix duplicate ACLK requests sent by aclk queue mechanism * use fstat instead of stat * working api * plugin actions renamed to create and delete; dyncfg files are removed only from user actions * prevent deadlock by using the react callback * fix for string_strndupz() * better dyncfg unittests * more tests at the unittests * properly detect dyncfg functions * hide config functions from the UI * tree response improvements * send the initial update with payload * determine tty using stdout, not stderr * changes to statuses, cleanup and the code to bring all business logic into interception * do not crash when the status is empty * functions now propagate the source of the requests to plugins * avoid warning about unused functions * in the count at items for attention, do not count the orphan entries * save source into dyncfg * make the list null terminated * fixed invalid comparison * prevent memory leak on duplicated headers; log x-forwarded-for * more unit tests * added dyncfg unittests into the default unittests * more unit tests and fixes * more unit tests and fixes * fix dictionary unittests * config functions require admin access
2024-01-10Address sanitizer through CMake and use it for unit tests. (#16748)vkalintiris
* Disable address sanitizer for some functions. These functions report some issues when running the address sanitizer with `-W unittest`. We want to run the sanitized binary on Github PRs to catch newly-introduced issues. FIXMEs were added so that we know which ones already existed prior to this change. * Add cmake option to use address sanitizer * Run unit tests with address sanitizer. * Specify attribute before the function declaration. * Disable hardening flags.
2024-01-10cleanup proc net-dev renames (#16745)Costa Tsaousis
* cleanup proc net-dev renames * more cleanup * remove unused variable * fix memory leak in pluginsd parser * fix double-free
2024-01-04Add extra build flags to CMakeLists.txt. (#16641)Austin S. Hemmelgarn
* Add stack-protector flag handling. * Add stack clash protection flag. * Add CFI flag * Only add flags that are not already in the compiler flags. * Add branch protection flag. * Add fortify source options. * Add function/data section flags. * Fix inclusion of hardening flags. Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud> --------- Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>
2023-12-29cmake log2journal netdatacli (#16688)Costa Tsaousis
* log2journal should not be linked against libnetdata; netdatacli is now linked against libnetdata so it does not need to redefine functions in libnetdata * reformatting for smaller width
2023-12-28cmake missing defines (#16680)Costa Tsaousis
* added HAVE_ACCEPT4 * added HAVE_FINITE, HAVE_ISFINITE * added SIZEOF_VOID_P * added HAVE_NICE, HAVE_RECVMMSG, HAVE_GETPRIORITY * added HAVE_C__GENERIC * added HAVE_C_MALLOPT * added HAVE_BACKTRACE, HAVE_CLOSE_RANGE, HAVE_SCHED_GETSCHEDULER, HAVE_SCHED_SETSCHEDULER, HAVE_SCHED_GET_PRIORITY_MIN, HAVE_SCHED_GET_PRIORITY_MAX * added HAVE_DLSYM * added function attributes checks * fix SIZEOF_VOID_P * added HAVE_PTHREAD_GETNAME_NP * fixed compiler warnings
2023-12-20cmake: make WEB_DIR configurable (#16638)Ilya Mashchenko
2023-12-19Correctly handle basic permissions for most scripts on install. (#16629)Austin S. Hemmelgarn
This fixes most of the scripts installed by cmake so that they correctly have execute permissions. We need to do more work than just this (such as properly handling the SUID bit), but this is a solid starting point.
2023-12-15Queries Progress (#16574)Costa Tsaousis
* track the progress of queries * add query_progress in libnetdata Makefile.am * add acl, response size and response code to the tracking * define the required functions * fix the last commit * added /api/v2/progress?transaction=ID to report the progress of queries * added function to report netdata-queries * track hashtable additions * when resusing a transaction, maintain the counter * keep track of linked and indexing * added X-Forwarded-Host and X-Forwarded-For to logs. X-Forwarded-For is also added in progress tracking * report compact uuids to match logs; register the actual duration of the transaction * added rowOptions to function; now web_client keeps track if it tracks progress or not * add http request method to progress * add tags per function; /api/vX/functions is now not protected * compact the sanitization array * split pluginsd_parser into multiple files * cleanup keyword definitions * code cleanup * extracted rrd_collector to separate files * added http access level to functions * renamed access "all" to "any" * implemented optional protection on functions * add priority to functions, to allow the UI select the best function (lower priority) when the user has not selected a function * added progress report from the plugins to netdata and from children to parents - untested * added progress reporting in systemd-journal * query timeout is now handled by evloop for external plugins * propagate progress reports to children and plugins * fix codeql warning * adapt to cmake * minor changes * extend function timeout when progress is received; added streaming capability to propagate progress reports to parents and send progress requests to children * revert change in dictionary.h * add log when access level is invalid * update access level of functions * added logs when processing progress updates * log when the deferred response is too big * comment out sender progress to find the issue * added missing newline in streaming progress reports * propogate progress reports to functions * fix logs
2023-12-15ndsudo - a helper to run privileged commands (#16614)Costa Tsaousis
* ndsudo command * added help * make ndsudo setuid to root * fix megacli binary name on FreeBSD * move ndsudo to collectors/plugins.d/ * address PR comments * do not print the command line argument, instead print its index --------- Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>
2023-12-14Remove CPack stuff from CMake (#16608)vkalintiris
2023-12-13Allow passing cmake options with NETDATA_CMAKE_OPTIONS. (#16598)vkalintiris