Publish JSON schema for airflow.cfg
- Dominant language
- Python
- Stars
- 46.9k
- Forks
- 17.8k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 484
Description
### Description
There is already a good structured YAML file providing metadata about all valid configuration options in `airflow.cfg`: [airflow/config_templates/config.yml](https://github.com/apache/airflow/blob/9c4b81d71f3caee3a3b1c6d9c626ee5d16f0db7c/airflow/config_templates/config.yml).
I think publishing the same data as a JSON schema and eventually to https://www.schemastore.org/json/ could be very useful.
### Use case/motivation
- People could use extensions like [Even Better TOML](https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml) with their IDE to benefit from validation and powerful auto-completion while editing `airflow.cfg`
- It would be easy to leverage pre-commit hooks or other CI tools to catch mistakes in the config file.
Airflow won't complain if the configuration file contains a typo or a non-existent configuration key making it easy to make mistakes. It could also make it easier to catch invalid values earlier.
### Related issues
_No response_
### Are you willing to submit a PR?
- [ ] Yes I am willing to submit a PR!
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
Contributor guide
Research direction
Start by reading airflow/config_templates/config.yml to understand the existing metadata for airflow.cfg options and how it could be represented as a JSON schema. Done means publishing an equivalent schema and, eventually, making it suitable for submission to schemastore.org; no specific test file is named.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json, yaml
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100