Graylog2 / Graylog2/graylog2-server
Add machine-readable schema files for Graylog configuration
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
## What?
Introduce machine-readable schema files (e.g., YAML or JSON Schema) that formally describe the accepted configuration structure of `graylog.conf`, `datanode.conf`, etc.
These schema files should live in a top-level `schema/` directory (versioned like `graylog-server-6.2.schema.yaml`) and contain metadata such as key types, allowed values, default values, descriptions, and whether a field is required.
These schemas would not affect runtime behavior, but provide formal structure for validation, automation, documentation, and tooling.
## Why?
We deploy Graylog in automated and declarative environments, where it's important to **validate configuration correctness before startup**.
Having machine-readable schemas would enable:
- Early detection of misconfiguration
- CI validation pipelines
- Automated documentation generation
- Version-based change tracking
- Better integration into external tools (e.g., custom builders, deployers, or testing pipelines)
This would benefit a wide range of use cases while not interfering with core functionality.
It’s also important to note that machine-readable schemas are **not just useful in containerized or cloud-native environments**, but also on **traditional operating systems** where administrators want to lint or pre-validate configuration files before rolling them out across systems.
I am happy to contribute the initial schema + structure proposal if this idea is welcomed.
## Your Environment
* Graylog Version: 6.2.x (target)
* OpenSearch Version: N/A
* MongoDB Version: N/A
* Operating System: Kubernetes / Bare-metal / Cloud / Traditional OS environments
* Browser version: N/A
Contributor guide
Assessment
This issue has not been assessed yet.