You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WIP - Add content from Slack convo with @Mpdreamz and @karenzone (with some bonus content for context)
Topic: Questions and concerns about migrating Logstash plugin docs
Plugin doc source files. Logstash plugin docs live in 200+ repos in the logstash-plugins github org--not the elastic github org. (This causes problems with github automation.)
Validation. There's no Buildkite validation or linting on Logstash plugin doc source files. Problems don't manifest until after a docs PR has been merged in the plugin repo, the gem published to rubygems.org, the version tag pushed to the repo, the plugin docs generated (for either the Logstash Reference[1] or the Logstash Versioned Plugin Reference[2]), and changes staged in a PR[3] in the logstash-docs repo.
When the PR is created in logstash-docs, BuildKite validation checks it. Fortunately, we know not to merge a PR that doesn't pass CI. However, the bad docs are tied to the plugin version tag, and we have to make the fix in the source file, bump the version, publish to rubygems.org again, and make fixes in generated content that's already out there.
Plugin doc source files are templates[4]. That is, they are not fully functional docs. We have docs tooling[5][6] that populates variables and does some transformation so that we have different output from the same content for the Logstash Reference and the Versioned Plugin Reference.
Plugin doc headers.
@Mpdreamz: "In docs V3 we don't support referencing files outside the current doc set.
e.g include::{include_path}/plugin_header.asciidoc[] which resolves to ../../../../logstash/docs/include/plugin_header.asciidoc"
@karenzone: This was raised as an issue in a previous migration discussion (for docsmobile maybe?) and we determined that this approach would be permissible. Sounds like we need to revisit and rethink possible workaround.
Spitballing here, but we might be able to work around this issue if we make the stack versioned plugins that are currently included in the Logstash Reference a stand-alone doc built out of the logstash-docs repo. But that approach is not without its own complexities that we'll need to consider.
Logstash plugins in IA.
@Mpdreamz: "i believe the versioned plugin reference goes away we'll only have to content once (assuming under the logstash reference) as part of IA?"
Question from @lcawl (paraphrased): "What's the impact of the new versioning strategy on stack-versioned plugin presentation?"
@karenzone: TBD. Seems like users will always need to know which plugin versions are compatible with a Logstash core version. (Note that matching plugin/stack versions is a rough approximation controlled by the Gemfile.jruby-3.1.lock.release file that we generate at feature freeze.)
References
[1] Logstash Reference (LSR).
"I'm running Logstash 8.17. What plugin versions are compatible with this version of Logstash? What versions of default plugins are installed with Logstash by default?"
[2] Logstash Versioned Plugin Reference.
"I'm using logstash-output-elasticsearch v11.22.8. What config options are available to me?"
[3] Sample logstash-docs PRs:
Uh oh!
There was an error while loading. Please reload this page.
WIP - Add content from Slack convo with @Mpdreamz and @karenzone (with some bonus content for context)
Topic: Questions and concerns about migrating Logstash plugin docs
Plugin doc source files. Logstash plugin docs live in 200+ repos in the
logstash-plugins
github org--not theelastic
github org. (This causes problems with github automation.)Validation. There's no Buildkite validation or linting on Logstash plugin doc source files. Problems don't manifest until after a docs PR has been merged in the plugin repo, the gem published to rubygems.org, the version tag pushed to the repo, the plugin docs generated (for either the Logstash Reference[1] or the Logstash Versioned Plugin Reference[2]), and changes staged in a PR[3] in the
logstash-docs
repo.logstash-docs
, BuildKite validation checks it. Fortunately, we know not to merge a PR that doesn't pass CI. However, the bad docs are tied to the plugin version tag, and we have to make the fix in the source file, bump the version, publish to rubygems.org again, and make fixes in generated content that's already out there.Plugin doc source files are templates[4]. That is, they are not fully functional docs. We have docs tooling[5][6] that populates variables and does some transformation so that we have different output from the same content for the Logstash Reference and the Versioned Plugin Reference.
Plugin doc headers.
e.g include::{include_path}/plugin_header.asciidoc[] which resolves to ../../../../logstash/docs/include/plugin_header.asciidoc"
logstash-docs
repo. But that approach is not without its own complexities that we'll need to consider.Logstash plugins in IA.
Impact of versioning changes.
References
[1] Logstash Reference (LSR).
"I'm running Logstash 8.17. What plugin versions are compatible with this version of Logstash? What versions of default plugins are installed with Logstash by default?"
[2] Logstash Versioned Plugin Reference.
"I'm using logstash-output-elasticsearch v11.22.8. What config options are available to me?"
[3] Sample
logstash-docs
PRs:[4] Sample plugin source doc: https://github.com/logstash-plugins/logstash-output-elasticsearch/blob/main/docs/index.asciidoc?plain=1
[5] Logstash Reference (LSR) docgen: https://github.com/elastic/docs-tools/blob/master/plugindocs.rb
[6] Versioned Plugin Reference (VPR) docgen: https://github.com/elastic/docs-tools/blob/master/versioned_plugins.rb
Previous considerations and related issues
The text was updated successfully, but these errors were encountered: