Skip to content

Long term for Logstash documentation #366

Open
@bmorelli25

Description

@bmorelli25

@karenzone, @lcawl, and I met to discuss Logstash/V3 today. Here are some notes and recommendations.

Summary

Logstash documentation consists of two main content sets:

  1. Logstash Reference (LSR): Contains reference content from the logstash repo and plugin reference content from the logstash-docs repo.
  2. Logstash Versioned Plugin Reference (VPR): Entirely sourced from the logstash-docs repo.

The logstash-docs repo acts as a middle-ground repository that houses all built AsciiDoc documentation for Logstash plugins.

The problem

The current automation for Logstash documentation is error-prone and time-consuming to manage. Rewriting this automation is necessary, but neither docs-eng nor logstash-eng has the resources to accomplish this by March 25. A practical plan is needed to determine what can realistically be done by this deadline.

Options

1. Leave all Logstash docs behind

We would not migrate Logstash docs to V3 at this time. Instead, we would connect the Logstash AsciiDoc content with the V3 experience and modify the legacy AsciiDoc tooling to allow this functionality. This option avoids additional V3 engineering work but requires tooling on the unknown Asciidoc build side. It is also likely to result in a poor user experience.

I'm really worried about this option because I don't know what is required on the Asciidoc side. Removing all of the other main and master docs will really bork up the Asciidoc build. There be 🐉's and I'm afraid this will turn into to way more work than we think.

2. Treat LSR and VPR as separate content sets (migrate some)

This approach would migrate the LSR to V3 without the plugin content and leave the VPR in AsciiDoc. While this simplifies the migration for part of the Logstash docs, it significantly degrades the user experience since Logstash is not functional without its plugins.

I see no win with this option. It's a poor user experience and combines all of the cons from both options 1 and 3.

3. Migrate both content sets repeatedly with adoc-to-md

  1. Maintain the existing automation and layer the adoc-to-md migration tool on top of it.
  2. Split the LSR into two toc.yml files:
    1. MD reference content (which will live in the logstash repo).
    2. MD plugin docs (which will live in the logstash-docs repo).
  3. Keep the VPR entirely in the logstash-docs repo with its own toc.yml.
  4. Use GitHub Actions to automate the adoc-to-md conversion script after each commit to the logstash-docs repo.
  5. Source all three toc.yml files with the assembler

Differs a complete automation rewrite, offers a good user experience, and it might actually not be that difficult to implement.

I think it's worth further exploring option 3

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions