diff options
author | Costa Tsaousis <costa@netdata.cloud> | 2024-01-11 16:56:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-11 16:56:45 +0200 |
commit | f2b250a1f53af00241522db35f8c85f19ed282e1 (patch) | |
tree | e813ca47880e3e2adf09583658efef59633ec6bd /CMakeLists.txt | |
parent | bead543ea52e51cf73f7e5b27de53197801399a7 (diff) |
dyncfg v2 (#16702)
* 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
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f6f8c6bd91..640940bc83 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -144,7 +144,7 @@ if(NOT ${DISABLE_HARDENING}) endif() if(NOT ${CMAKE_C_FLAGS} MATCHES "stack-clash-protection") - check_c_compiler_flag("-fstack-clash-protection", HAVE_STACK_CLASH_FLAG) + check_c_compiler_flag("-fstack-clash-protection" HAVE_STACK_CLASH_FLAG) if(HAVE_STACK_CLASH_FLAG) set(EXTRA_HARDENING_FLAGS "${EXTRA_HARDENING_FLAGS} -fstack-clash-protection") endif() @@ -641,8 +641,10 @@ set(LIBNETDATA_FILES libnetdata/http/http_access.h libnetdata/http/http_defs.c libnetdata/http/http_defs.h - libnetdata/dyn_conf/dyn_conf.c - libnetdata/dyn_conf/dyn_conf.h + libnetdata/http/content_type.c + libnetdata/http/content_type.h + libnetdata/config/dyncfg.c + libnetdata/config/dyncfg.h ) if(ENABLE_PLUGIN_EBPF) @@ -760,6 +762,15 @@ set(DAEMON_FILES daemon/pipename.h daemon/unit_test.c daemon/unit_test.h + daemon/config/dyncfg.c + daemon/config/dyncfg.h + daemon/config/dyncfg-files.c + daemon/config/dyncfg-unittest.c + daemon/config/dyncfg-inline.c + daemon/config/dyncfg-echo.c + daemon/config/dyncfg-internals.h + daemon/config/dyncfg-intercept.c + daemon/config/dyncfg-tree.c ) set(H2O_FILES @@ -784,6 +795,10 @@ set(API_PLUGIN_FILES web/api/web_api_v1.h web/api/web_api_v2.c web/api/web_api_v2.h + web/api/http_auth.c + web/api/http_auth.h + web/api/http_header.c + web/api/http_header.h web/api/badges/web_buffer_svg.c web/api/badges/web_buffer_svg.h web/api/exporters/allmetrics.c @@ -929,6 +944,12 @@ set(RRD_PLUGIN_FILES database/rrdfamily.c database/rrdfunctions.c database/rrdfunctions.h + database/rrdfunctions-inline.c + database/rrdfunctions-inline.h + database/rrdfunctions-progress.c + database/rrdfunctions-progress.h + database/rrdfunctions-streaming.c + database/rrdfunctions-streaming.h database/rrdhost.c database/rrdlabels.c database/rrd.c @@ -965,6 +986,12 @@ set(RRD_PLUGIN_FILES database/sqlite/dbdata.c database/KolmogorovSmirnovDist.c database/KolmogorovSmirnovDist.h + database/rrdfunctions-inflight.c + database/rrdfunctions-inflight.h + database/rrdfunctions-exporters.c + database/rrdfunctions-exporters.h + database/rrdfunctions-internals.h + database/rrdcollector-internals.h ) if(ENABLE_DBENGINE) @@ -1022,6 +1049,7 @@ set(SYSTEMD_JOURNAL_PLUGIN_FILES collectors/systemd-journal.plugin/systemd-journal-files.c collectors/systemd-journal.plugin/systemd-journal-fstat.c collectors/systemd-journal.plugin/systemd-journal-watcher.c + collectors/systemd-journal.plugin/systemd-journal-dyncfg.c ) set(STREAMING_PLUGIN_FILES |