NETWAYS / NETWAYS/ansible-collection-elasticstack
[Feature]: Data-driven Beats output for additional output types (Kafka/Redis/File/Console)
Nobody has claimed this yet.
- Dominant language
- Jinja
- Stars
- 14
- Forks
- 11
- Avg merge
- 1d 47m
- Merged PRs (30d)
- 6
Description
The Beats role only supports logstash and elasticsearch outputs (enforced via the beats_<beat>_output choices). Beats also supports Kafka, Redis, File and Console, which the role cannot render.
Make additional output types data-driven: a beats_<beat>_output dict (type + type-specific settings) rendered via a shared "dict → YAML" helper (same helper as the #393 inputs design). Elasticsearch and Logstash stay managed as today — the role keeps auto-wiring their hosts, credentials, TLS and setup, which a raw passthrough would lose.
Output-type conditions (e.g. setup gated on == "elasticsearch") then key off beats_<beat>_output.type; loadbalance folds into the output dict.
Note: Beats allows only one output, so "more outputs" means more output types, not several at once.
Breaking (changes the beats_<beat>_output variable shape). Related: #393, #512, #519.
Depends on: #393 (shared plugin-as-data macro).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the beats__output choices and the shared plugin-as-data macro from #393. Trace the existing managed Elasticsearch and Logstash wiring, then verify that additional output types render through the shared dict-to-YAML helper, setup conditions use output.type, and loadbalance is included in the output dict.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ansible, elasticsearch, kafka, redis
- Domain
- devops
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100