summaryrefslogtreecommitdiffstats
path: root/registry/registry.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 12:08:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 12:08:18 +0000
commit5da14042f70711ea5cf66e034699730335462f66 (patch)
tree0f6354ccac934ed87a2d555f45be4c831cf92f4a /registry/registry.h
parentReleasing debian version 1.44.3-2. (diff)
downloadnetdata-5da14042f70711ea5cf66e034699730335462f66.tar.xz
netdata-5da14042f70711ea5cf66e034699730335462f66.zip
Merging upstream version 1.45.3+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'registry/registry.h')
-rw-r--r--registry/registry.h83
1 files changed, 0 insertions, 83 deletions
diff --git a/registry/registry.h b/registry/registry.h
deleted file mode 100644
index 746fe430f..000000000
--- a/registry/registry.h
+++ /dev/null
@@ -1,83 +0,0 @@
-// SPDX-License-Identifier: GPL-3.0-or-later
-/*
- * netdata registry
- *
- * this header file describes the public interface
- * to the netdata registry
- *
- * only these high level functions are exposed
- *
- */
-
-// ----------------------------------------------------------------------------
-// TODO
-//
-// 1. the default tracking cookie expires in 1 year, but the persons are not
-// removed from the db - this means the database only grows - ideally the
-// database should be cleaned in registry_db_save() for both on-disk and
-// on-memory entries.
-//
-// Cleanup:
-// i. Find all the PERSONs that have expired cookie
-// ii. For each of their PERSON_URLs:
-// - decrement the linked MACHINE links
-// - if the linked MACHINE has no other links, remove the linked MACHINE too
-// - remove the PERSON_URL
-//
-// 2. add protection to prevent abusing the registry by flooding it with
-// requests to fill the memory and crash it.
-//
-// Possible protections:
-// - limit the number of URLs per person
-// - limit the number of URLs per machine
-// - limit the number of persons
-// - limit the number of machines
-// - [DONE] limit the size of URLs
-// - [DONE] limit the size of PERSON_URL names
-// - limit the number of requests that add data to the registry,
-// per client IP per hour
-//
-// 3. lower memory requirements
-//
-// - embed avl structures directly into registry objects, instead of DICTIONARY
-// [DONE for PERSON_URLs, PENDING for MACHINE_URLs]
-// - store GUIDs in memory as UUID instead of char *
-// - do not track persons using the demo machines only
-// (i.e. start tracking them only when they access a non-demo machine)
-// - [DONE] do not track custom dashboards by default
-
-#ifndef NETDATA_REGISTRY_H
-#define NETDATA_REGISTRY_H 1
-
-#include "daemon/common.h"
-
-#define NETDATA_REGISTRY_COOKIE_NAME "netdata_registry_id"
-
-// initialize the registry
-// should only happen when netdata starts
-int registry_init(void);
-
-// free all data held by the registry
-// should only happen when netdata exits
-void registry_free(void);
-
-// HTTP requests handled by the registry
-int registry_request_access_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *name, time_t when);
-int registry_request_delete_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *delete_url, time_t when);
-int registry_request_search_json(RRDHOST *host, struct web_client *w, char *person_guid, char *request_machine);
-int registry_request_switch_json(RRDHOST *host, struct web_client *w, char *person_guid, char *machine_guid, char *url, char *new_person_guid, time_t when);
-int registry_request_hello_json(RRDHOST *host, struct web_client *w, bool do_not_track);
-
-// update the registry config
-void registry_update_cloud_base_url();
-
-// update the registry monitoring charts
-void registry_statistics(void);
-
-char *registry_get_this_machine_guid(void);
-char *registry_get_mgmt_api_key(void);
-char *registry_get_this_machine_hostname(void);
-
-int regenerate_guid(const char *guid, char *result);
-
-#endif /* NETDATA_REGISTRY_H */