Eunomia  0.1.0
A lightweight eBPF-based CloudNative Monitor tool for Container Security and Observability
eunomia_config_data Struct Reference

config for eunomia More...

#include <config.h>

Collaboration diagram for eunomia_config_data:
Collaboration graph

Public Member Functions

void load_config_options_to_trackers ()
 load config options to enable_trackers More...
 

Static Public Member Functions

static eunomia_config_data from_toml_file (const std::string &file_path)
 parse config from toml files More...
 
static eunomia_config_data from_json_file (const std::string &file_path)
 parse config from json files More...
 

Public Attributes

std::string run_selected = "server"
 global run mode More...
 
std::vector< tracker_config_dataenabled_trackers
 config for all enabled tracker More...
 
bool disable_other_configs = false
 use the config data from enabled_trackers, More...
 
std::string tracing_selected = "all"
 tracing config More...
 
std::string tracing_target_id = ""
 tracing targets More...
 
int exit_after = 0
 auto exit mode More...
 
std::set< std::string > enabled_export_types = { "prometheus", "stdout" }
 export config More...
 
std::string fmt = "plain_text"
 export format More...
 
bool enable_container_manager = true
 enable container tracing More...
 
std::string prometheus_listening_address = "127.0.0.1:8528"
 
bool enable_sec_rule_detect = false
 enable sec rule analyzer and detect More...
 
std::vector< rule_config_datasecurity_rules
 security rule config More...
 
std::vector< seccomp_config_dataseccomp_data
 seccomp enabled syscalls More...
 
bool enable_seccomp_module = false
 run container under seccomp More...
 
int server_port = 8527
 eunomia_http_server_port More...
 

Detailed Description

config for eunomia

both config from toml and command line should be put here

Member Function Documentation

◆ from_json_file()

eunomia_config_data eunomia_config_data::from_json_file ( const std::string &  file_path)
static

parse config from json files

Here is the caller graph for this function:

◆ from_toml_file()

eunomia_config_data eunomia_config_data::from_toml_file ( const std::string &  file_path)
static

parse config from toml files

Here is the caller graph for this function:

◆ load_config_options_to_trackers()

void eunomia_config_data::load_config_options_to_trackers ( )

load config options to enable_trackers

Here is the caller graph for this function:

Member Data Documentation

◆ disable_other_configs

bool eunomia_config_data::disable_other_configs = false

use the config data from enabled_trackers,

disable others.

◆ enable_container_manager

bool eunomia_config_data::enable_container_manager = true

enable container tracing

we can get container id and container name using pid from the map of it

◆ enable_sec_rule_detect

bool eunomia_config_data::enable_sec_rule_detect = false

enable sec rule analyzer and detect

◆ enable_seccomp_module

bool eunomia_config_data::enable_seccomp_module = false

run container under seccomp

◆ enabled_export_types

std::set<std::string> eunomia_config_data::enabled_export_types = { "prometheus", "stdout" }

export config

may be we should have config similar to tracker_config

◆ enabled_trackers

std::vector<tracker_config_data> eunomia_config_data::enabled_trackers
Initial value:
= {
{ "process", {}, {} },
{ "files", {}, {} },
{ "tcpconnect", {}, {} },
}

config for all enabled tracker

◆ exit_after

int eunomia_config_data::exit_after = 0

auto exit mode

◆ fmt

std::string eunomia_config_data::fmt = "plain_text"

export format

this should be set as well

◆ prometheus_listening_address

std::string eunomia_config_data::prometheus_listening_address = "127.0.0.1:8528"

◆ run_selected

std::string eunomia_config_data::run_selected = "server"

global run mode

◆ seccomp_data

std::vector<seccomp_config_data> eunomia_config_data::seccomp_data

seccomp enabled syscalls

◆ security_rules

std::vector<rule_config_data> eunomia_config_data::security_rules

security rule config

TODO: add more security rule config

◆ server_port

int eunomia_config_data::server_port = 8527

eunomia_http_server_port

◆ tracing_selected

std::string eunomia_config_data::tracing_selected = "all"

tracing config

◆ tracing_target_id

std::string eunomia_config_data::tracing_target_id = ""

tracing targets


The documentation for this struct was generated from the following files: