-
Notifications
You must be signed in to change notification settings - Fork 418
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
[meta] Consolidate generated ES index templates #1587
Comments
Elasticsearch (7.x) Grok is now ECS compliant see: https://github.com/elastic/elasticsearch/tree/7.x/libs/grok/src/main/resources/patterns/ecs-v1 Will there be a dependency to ensure the Templates are aligned with the Grok Patterns? |
Removal of ES 6 support for ECS 8: #1680 |
ES generated artifacts folder structure update: #1700 |
After the above restructuring, ECS's 8.0 branch is still generating ES7-style legacy templates (top-level For reference, before the stack-alignment changes, Logstash's Elasticsearch output plugin had been providing ECS 8 support by transforming ES7-style generated templates into ES8-style during vendoring. |
The distinction isn't between ES7 and ES8; it's between v1 index template API ("legacy" or the
Which index template endpoint is the Logstash Elasticsearch output plugin using for ECS 8.0 support: With the templates ECS is generating, we've been following this pattern::
We have not been maintaining a single, monolith template compatible with |
🤦🏼 that is on us. The Elasticsearch output plugin for Logstash uses the _index_template API when ushing templates to Elasticsearch 8+. Thank you for the clarification. Knowing that the generated artifacts are stable in shape is sufficient for the Logstash team to move forward. |
Thanks for clearing that up. 👍 @yaauie still unclear about one thing. Does the ES output plugin still need ECS to produce a single v2 index template with ALL ECS fields in one single template? I believe the answer is "yes," but I want to confirm. |
No. We can work from the "legacy" v1 templates, and in fact doing so simplifies our codepath. We already translate the "legacy"-style index templates for ECS 1.x when vendoring them for use with Elasticaearch 8, and can use the same code-path with the stack-aligned "legacy"-style templates. Moving the Stack-aligned monolith template to V2 adds complexity because we would need to translate those back into legacy for use with ES 7.x (due to our plugins implementation). |
Conclusion: Since ECS is aligning versioning with the Elastic stack releases starting in 8.0, we have simplified the ECS tooling to generate two sets of Elasticsearch index template artifacts. We will now produce 1) a composable template compatible with the v2 Previously, at every ECS version, we were generating legacy templates compatible with ES 6 and ES 7, as well as a composable template. We have now consolidated down to, for every ECS version, a single ES 8 compatible legacy template and a single composable template. |
Overview
With ECS aligning versioning with the Elastic stack releases starting in 8.0, the ECS tooling could be simplified to generate a single set of Elasticsearch index template artifacts. This single generated version would align with the stack release of the same version.
For example, ECS 8.0 produces sample Elasticsearch index mappings that are compatible with Elastic Stack 8.0.
Advantages
Concerns
logstash-output-elasticsearch
plugin depends on the ECS projects generated, legacy index template artifacts as part of their build for ECS compatibility mode. We will need to remove this dependency before we can remove the generated, legacy templates from ECS.The text was updated successfully, but these errors were encountered: