Skip to content

Commit

Permalink
build: add new FLB_MINIMAL cmake option to disable all plugins
Browse files Browse the repository at this point in the history
This patch introduces a new CMake option FLB_MINIMAL that disable all
plugins (inputs, processors, filters and outputs) allowing to eanble manually
the desired ones, e.g: if you only want stdin and stdout plugins you simply do:

  cd build/
  cmake -DFLB_MINIMAL=on -DFLB_IN_STDIN=on -DFLB_OUT_STDOUT=on ../

As part of this change, the plugins options list has been moved to the
new path cmake/plugins_options.cmake.

Signed-off-by: Eduardo Silva <[email protected]>
  • Loading branch information
edsiper committed Jun 10, 2024
1 parent 71cc2a0 commit 057c646
Show file tree
Hide file tree
Showing 2 changed files with 146 additions and 130 deletions.
132 changes: 2 additions & 130 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -159,136 +159,8 @@ option(FLB_CUSTOM_CALYPTIA "Enable Calyptia Support" Yes)
# Config formats
option(FLB_CONFIG_YAML "Enable YAML config format" Yes)

# Built-in Plugins
option(FLB_IN_CPU "Enable CPU input plugin" Yes)
option(FLB_IN_THERMAL "Enable Thermal plugin" Yes)
option(FLB_IN_DISK "Enable Disk input plugin" Yes)
option(FLB_IN_DOCKER "Enable Docker input plugin" Yes)
option(FLB_IN_DOCKER_EVENTS "Enable Docker events input plugin" Yes)
option(FLB_IN_EXEC "Enable Exec input plugin" Yes)
option(FLB_IN_EXEC_WASI "Enable Exec WASI input plugin" Yes)
option(FLB_IN_EVENT_TYPE "Enable event type plugin" Yes)
option(FLB_IN_FLUENTBIT_METRICS "Enable Fluent Bit metrics plugin" Yes)
option(FLB_IN_FORWARD "Enable Forward input plugin" Yes)
option(FLB_IN_HEALTH "Enable Health input plugin" Yes)
option(FLB_IN_HTTP "Enable HTTP input plugin" Yes)
option(FLB_IN_MEM "Enable Memory input plugin" Yes)
option(FLB_IN_KUBERNETES_EVENTS "Enable Kubernetes Events plugin" Yes)
option(FLB_IN_KAFKA "Enable Kafka input plugin" Yes)
option(FLB_IN_KMSG "Enable Kernel log input plugin" Yes)
option(FLB_IN_LIB "Enable library mode input plugin" Yes)
option(FLB_IN_RANDOM "Enable random input plugin" Yes)
option(FLB_IN_SERIAL "Enable Serial input plugin" Yes)
option(FLB_IN_STDIN "Enable Standard input plugin" Yes)
option(FLB_IN_SYSLOG "Enable Syslog input plugin" Yes)
option(FLB_IN_TAIL "Enable Tail input plugin" Yes)
option(FLB_IN_UDP "Enable UDP input plugin" Yes)
option(FLB_IN_TCP "Enable TCP input plugin" Yes)
option(FLB_IN_UNIX_SOCKET "Enable Unix socket input plugin" No)
option(FLB_IN_MQTT "Enable MQTT Broker input plugin" Yes)
option(FLB_IN_HEAD "Enable Head input plugin" Yes)
option(FLB_IN_PROC "Enable Process input plugin" Yes)
option(FLB_IN_SYSTEMD "Enable Systemd input plugin" Yes)
option(FLB_IN_DUMMY "Enable Dummy input plugin" Yes)
option(FLB_IN_NGINX_EXPORTER_METRICS "Enable Nginx Metrics input plugin" Yes)
option(FLB_IN_NETIF "Enable NetworkIF input plugin" Yes)
option(FLB_IN_WINLOG "Enable Windows Log input plugin" No)
option(FLB_IN_WINSTAT "Enable Windows Stat input plugin" No)
option(FLB_IN_WINEVTLOG "Enable Windows EvtLog input plugin" No)
option(FLB_IN_COLLECTD "Enable Collectd input plugin" Yes)
option(FLB_IN_PROMETHEUS_SCRAPE "Enable Promeheus Scrape input plugin" Yes)
option(FLB_IN_STATSD "Enable StatsD input plugin" Yes)
option(FLB_IN_EVENT_TEST "Enable event test plugin" No)
option(FLB_IN_STORAGE_BACKLOG "Enable storage backlog input plugin" Yes)
option(FLB_IN_EMITTER "Enable emitter input plugin" Yes)
option(FLB_IN_NODE_EXPORTER_METRICS "Enable node exporter metrics input plugin" Yes)
option(FLB_IN_WINDOWS_EXPORTER_METRICS "Enable windows exporter metrics input plugin" Yes)
option(FLB_IN_PODMAN_METRICS "Enable Podman Metrics input plugin" Yes)
option(FLB_IN_OPENTELEMETRY "Enable OpenTelemetry input plugin" Yes)
option(FLB_IN_ELASTICSEARCH "Enable Elasticsearch (Bulk API) input plugin" Yes)
option(FLB_IN_CALYPTIA_FLEET "Enable Calyptia Fleet input plugin" Yes)
option(FLB_IN_SPLUNK "Enable Splunk HTTP HEC input plugin" Yes)
option(FLB_IN_PROCESS_EXPORTER_METRICS "Enable process exporter metrics input plugin" Yes)
option(FLB_IN_PROMETHEUS_REMOTE_WRITE "Enable prometheus remote write input plugin" Yes)
option(FLB_OUT_AZURE "Enable Azure output plugin" Yes)
option(FLB_OUT_AZURE_BLOB "Enable Azure output plugin" Yes)
option(FLB_OUT_AZURE_LOGS_INGESTION "Enable Azure Logs Ingestion output plugin" Yes)
option(FLB_OUT_AZURE_KUSTO "Enable Azure Kusto output plugin" Yes)
option(FLB_OUT_BIGQUERY "Enable BigQuery output plugin" Yes)
option(FLB_OUT_CALYPTIA "Enable Calyptia monitoring plugin" Yes)
option(FLB_OUT_COUNTER "Enable Counter output plugin" Yes)
option(FLB_OUT_DATADOG "Enable DataDog output plugin" Yes)
option(FLB_OUT_ES "Enable Elasticsearch output plugin" Yes)
option(FLB_OUT_EXIT "Enable Exit output plugin" Yes)
option(FLB_OUT_FORWARD "Enable Forward output plugin" Yes)
option(FLB_OUT_GELF "Enable GELF output plugin" Yes)
option(FLB_OUT_HTTP "Enable HTTP output plugin" Yes)
option(FLB_OUT_INFLUXDB "Enable InfluxDB output plugin" Yes)
option(FLB_OUT_NATS "Enable NATS output plugin" Yes)
option(FLB_OUT_NRLOGS "Enable New Relic output plugin" Yes)
option(FLB_OUT_OPENSEARCH "Enable OpenSearch output plugin" Yes)
option(FLB_OUT_TCP "Enable TCP output plugin" Yes)
option(FLB_OUT_UDP "Enable UDP output plugin" Yes)
option(FLB_OUT_PLOT "Enable Plot output plugin" Yes)
option(FLB_OUT_FILE "Enable file output plugin" Yes)
option(FLB_OUT_TD "Enable Treasure Data output plugin" Yes)
option(FLB_OUT_RETRY "Enable Retry test output plugin" No)
option(FLB_OUT_PGSQL "Enable PostgreSQL output plugin" No)
option(FLB_OUT_SKYWALKING "Enable Apache SkyWalking output plugin" Yes)
option(FLB_OUT_SLACK "Enable Slack output plugin" Yes)
option(FLB_OUT_SPLUNK "Enable Splunk output plugin" Yes)
option(FLB_OUT_STACKDRIVER "Enable Stackdriver output plugin" Yes)
option(FLB_OUT_STDOUT "Enable STDOUT output plugin" Yes)
option(FLB_OUT_SYSLOG "Enable Syslog output plugin" Yes)
option(FLB_OUT_LIB "Enable library mode output plugin" Yes)
option(FLB_OUT_NULL "Enable dev null output plugin" Yes)
option(FLB_OUT_FLOWCOUNTER "Enable flowcount output plugin" Yes)
option(FLB_OUT_LOGDNA "Enable LogDNA output plugin" Yes)
option(FLB_OUT_LOKI "Enable Loki output plugin" Yes)
option(FLB_OUT_KAFKA "Enable Kafka output plugin" Yes)
option(FLB_OUT_KAFKA_REST "Enable Kafka Rest output plugin" Yes)
option(FLB_OUT_CLOUDWATCH_LOGS "Enable AWS CloudWatch output plugin" Yes)
option(FLB_OUT_KINESIS_FIREHOSE "Enable AWS Firehose output plugin" Yes)
option(FLB_OUT_KINESIS_STREAMS "Enable AWS Kinesis output plugin" Yes)
option(FLB_OUT_OPENTELEMETRY "Enable OpenTelemetry plugin" Yes)
option(FLB_OUT_PROMETHEUS_EXPORTER "Enable Prometheus exporter plugin" Yes)
option(FLB_OUT_PROMETHEUS_REMOTE_WRITE "Enable Prometheus remote write plugin" Yes)
option(FLB_OUT_S3 "Enable AWS S3 output plugin" Yes)
option(FLB_OUT_VIVO_EXPORTER "Enabel Vivo exporter output plugin" Yes)
option(FLB_OUT_WEBSOCKET "Enable Websocket output plugin" Yes)
option(FLB_OUT_ORACLE_LOG_ANALYTICS "Enable Oracle Cloud Infrastructure Logging analytics plugin" Yes)
option(FLB_OUT_CHRONICLE "Enable Google Chronicle output plugin" Yes)
option(FLB_FILTER_ALTER_SIZE "Enable alter_size filter" Yes)
option(FLB_FILTER_AWS "Enable aws filter" Yes)
option(FLB_FILTER_ECS "Enable AWS ECS filter" Yes)
option(FLB_FILTER_CHECKLIST "Enable checklist filter" Yes)
option(FLB_FILTER_EXPECT "Enable expect filter" Yes)
option(FLB_FILTER_GREP "Enable grep filter" Yes)
option(FLB_FILTER_MODIFY "Enable modify filter" Yes)
option(FLB_FILTER_STDOUT "Enable stdout filter" Yes)
option(FLB_FILTER_SYSINFO "Enable sysinfo filter" Yes)
option(FLB_FILTER_PARSER "Enable parser filter" Yes)
option(FLB_FILTER_KUBERNETES "Enable kubernetes filter" Yes)
option(FLB_FILTER_REWRITE_TAG "Enable tag rewrite filter" Yes)
option(FLB_FILTER_THROTTLE "Enable throttle filter" Yes)
option(FLB_FILTER_THROTTLE_SIZE "Enable throttle size filter" No)
option(FLB_FILTER_TYPE_CONVERTER "Enable type converter filter" Yes)
option(FLB_FILTER_MULTILINE "Enable multiline filter" Yes)
option(FLB_FILTER_NEST "Enable nest filter" Yes)
option(FLB_FILTER_LOG_TO_METRICS "Enable log-derived metrics filter" Yes)
option(FLB_FILTER_LUA "Enable Lua scripting filter" Yes)
option(FLB_FILTER_LUA_USE_MPACK "Enable mpack on the lua filter" No)
option(FLB_FILTER_RECORD_MODIFIER "Enable record_modifier filter" Yes)
option(FLB_FILTER_TENSORFLOW "Enable tensorflow filter" No)
option(FLB_FILTER_GEOIP2 "Enable geoip2 filter" Yes)
option(FLB_FILTER_NIGHTFALL "Enable Nightfall filter" Yes)
option(FLB_FILTER_WASM "Enable WASM filter" Yes)

# Processors
option(FLB_PROCESSOR_CONTENT_MODIFIER "Enable content modifier processor" Yes)
option(FLB_PROCESSOR_LABELS "Enable metrics label manipulation processor" Yes)
option(FLB_PROCESSOR_METRICS_SELECTOR "Enable metrics selector processor" Yes)
option(FLB_PROCESSOR_SQL "Enable SQL processor" Yes)
# List of plugins available and defaults for each option
include(cmake/plugins_options.cmake)

if(DEFINED FLB_NIGHTLY_BUILD AND NOT "${FLB_NIGHTLY_BUILD}" STREQUAL "")
FLB_DEFINITION_VAL(FLB_NIGHTLY_BUILD ${FLB_NIGHTLY_BUILD})
Expand Down
Loading

0 comments on commit 057c646

Please sign in to comment.