summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorCosta Tsaousis <costa@netdata.cloud>2024-01-11 16:56:45 +0200
committerGitHub <noreply@github.com>2024-01-11 16:56:45 +0200
commitf2b250a1f53af00241522db35f8c85f19ed282e1 (patch)
treee813ca47880e3e2adf09583658efef59633ec6bd /CMakeLists.txt
parentbead543ea52e51cf73f7e5b27de53197801399a7 (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.txt34
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