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 Config File Parsing #4445

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

Implement Config File Parsing #4445

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

Comments

@ShohamBit
Copy link
Collaborator

ShohamBit commented Dec 18, 2024

Background
We need to introduce a YAML-based configuration file to simplify how users manage their settings. With the new config file, users can define all their desired configurations in one place, and the system will parse and apply these settings at runtime. This approach will make it easier to store, share, and version control configurations.

What Needs to Be Done

  • Parse the YAML configuration file, covering all sections:

    • events
    • source
    • enrichment
    • data stores
    • output
    • server
    • logging
    • buffers
    • general
    • capabilities
    • capture (deprecated)
    • signatures (deprecated)
  • Implement handling of default values and optional fields.

  • Validate the structure and values within the config file:

    • Show clear error messages if something is malformed or invalid.
    • Ensure all required fields are present and correct.
  • Add the ability to specify a config file path (will be integrated with the --config flag in another issue).

Acceptance Criteria

  • The system can read and parse the YAML config file without errors.
  • Default values are correctly applied when fields are missing.
  • Validation catches invalid or unsupported configurations and reports them clearly.
  • The parsed configuration is ready to be merged with command-line flags (handled in separate issues).

Why This Matters
A well-structured config file reduces complexity for users. It provides a single source of truth for their settings, making it easier to set up, share, and maintain configurations over time.

@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