Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Command-Line Flags Parsing for Data Stores and Output #4447

Closed
28 tasks
ShohamBit opened this issue Dec 18, 2024 · 1 comment
Closed
28 tasks

Implement Command-Line Flags Parsing for Data Stores and Output #4447

ShohamBit opened this issue Dec 18, 2024 · 1 comment
Assignees

Comments

@ShohamBit
Copy link
Collaborator

Background
To provide users with flexibility and ease of configuration, we’re expanding command-line flag parsing to cover Data Stores and Output settings. Users should be able to adjust these options directly via CLI flags, either setting them initially or overriding values from the config file.

Tasks

Data Stores Flags

  • --stores dns.enabled=<true/false>: Enable or disable DNS caching.
  • --stores dns.size=<size>: Set the DNS cache size.
  • --stores process.enabled=<true/false>: Enable or disable process info collection.
  • --stores process.processes=<num>: Set the maximum number of processes to cache.
  • --stores process.threads=<num>: Set the maximum number of threads to cache.
  • --stores process.source=<source>: Set the source of process data (events, signals, both).
  • --stores process.use-procfs=<true/false>: Enable or disable querying procfs at runtime.
  • --stores container.docker.socket=<path>: Set the Docker socket path.
  • --stores container.containerd.socket=<path>: Set the Containerd socket path.
  • --stores container.crio.socket=<path>: Set the CRI-O socket path.
  • --stores container.podman.socket=<path>: Set the Podman socket path.
  • --stores container.cgroup.path=<path>: Set the cgroup filesystem path.

Output Flags

  • --output sort-events=<true/false>: Enable or disable event sorting.
  • --output destination.<name>.type=<type>: Set the output destination type (e.g., none, file, forwarder, webhook).
  • --output destination.<name>.path=<path>: Specify the file path for file-type destinations.
  • --output destination.<name>.protocol=<protocol>: Specify the protocol (forwarder/webhook).
  • --output destination.<name>.user=<user>: Set authentication user (forwarder/webhook).
  • --output destination.<name>.password=<password>: Set authentication password.
  • --output destination.<name>.host=<host>: Set the host for forwarder/webhook.
  • --output destination.<name>.port=<port>: Set the port for forwarder/webhook.
  • --output destination.<name>.tag=<tag>: Set an identifying tag for forwarder.
  • --output destination.<name>.timeout=<timeout>: Set the webhook request timeout.
  • --output destination.<name>.content-type=<content_type>: Set the webhook request content type.
  • --output stream.<stream_name>.destination=<destination_name>: Assign a stream to a specific destination.
  • --output stream.<stream_name>.format=<format>: Set the format for the stream (e.g., json, table, protobuf, gotemplate).
  • --output stream.<stream_name>.fields=<fields>: Choose which event fields to include.
  • --output stream.<stream_name>.filters=<filters>: Apply filters for the stream’s output.
  • --output stream.<stream_name>.parse-data=<true/false>: Enable or disable parsing data into a human-readable format.

Acceptance Criteria

  • All flags are parsed correctly without errors.
  • Invalid input or unsupported values result in informative error messages.
  • The parsed settings integrate seamlessly with previously parsed configuration, ready for merging and final validation.

Why This Matters
By allowing command-line configuration for Data Stores and Output settings, users gain real-time control over event storage and how events are presented. This flexibility helps quickly adapt to changing requirements or environments without repeatedly editing and reloading configuration files.

@yanivagman
Copy link
Collaborator

Part of #4453

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants