Skip to content
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

Doc: Distinguish between elastic-supported and community-supported plugins #15970

Open
karenzone opened this issue Feb 22, 2024 · 14 comments
Open
Assignees
Labels

Comments

@karenzone
Copy link
Contributor

karenzone commented Feb 22, 2024

Can we use the :default_plugin: setting to accurately distinguish between elastic-supported and community-supported plugins.?

  • Are all plugins that are installed by default elastic-supported plugins?
  • Are there any elastic-supported plugins that are not installed by default?

We can most likely implement this initiative by updating plugin headers to show different text based on the :default_plugin: value.
Update: This approach won't work because there's not a 1:1 relationship between default plugins and level of support. I'm trying something different as noted in comments.

Proposal: Phased rollout

Follows the Logstash Plugins support matrix. If we use this approach, let's consider a phased rollout:

  • Tier 1 plugins (72 total)
  • Tier 2 plugins (17 total)
  • Community

Possible next steps

We could consider adding the configuration to [plugins-metadata.json](https://github.com/elastic/logstash/blob/main/rakelib/plugins-metadata.json), but we'd still need to clear the setting in each doc source file. So there's probably no value in that approach.

@karenzone karenzone added the docs label Feb 22, 2024
@karenzone karenzone self-assigned this Feb 22, 2024
@karenzone karenzone changed the title Doc: Distinguish between elastic-owned and community supported plugins Doc: Distinguish between elastic-supported and community supported plugins Feb 22, 2024
@karenzone
Copy link
Contributor Author

@flexitrev: Here's the issue we discussed. Please feel free to add to it.

Who can answer these questions:

  • Are all plugins that are installed by default elastic-supported plugins?
  • Are there any elastic-supported plugins that are not installed by default?

@karenzone
Copy link
Contributor Author

cc:/ @roaksoax @jsvd

@karenzone karenzone changed the title Doc: Distinguish between elastic-supported and community supported plugins Doc: Distinguish between elastic-supported and community-supported plugins Feb 23, 2024
@flexitrev
Copy link

I'm not sure we need to answer the default set of installed plugin question. Even if we do install an unsupported plugin or don't, that can change over time. What our documentation should reflect is what's currently supported. Or better, what versions are supported

@karenzone
Copy link
Contributor Author

For sure, docs should reflect what's currently supported. I'm trying to figure out if/how we can use flags such as default_plugin to trigger conditional content rather than trying to manage it all manually.

@flexitrev
Copy link

@roaksoax would default_plugin work to distinguish supported/unsupported plugins?

@roaksoax
Copy link
Contributor

@flexitrev @karenzone I don't think that that we can use default_plugin to differentiate whether a plugin is supported or unsupported. We do have unsupported plugins that are shipped by default in logstash, meaning they are set as default_plugin.

Either we expand the metadata to include that information, or we leverage the same mechanism as we do for the support matrix, which is to rely on the spreadsheet.

@karenzone
Copy link
Contributor Author

@karenzone
Copy link
Contributor Author

karenzone commented Jun 7, 2024

Related [test] PRs:

To test:

  • Check out the changed files from both repos, and run docbldlsx --open.
    (PR checking doesn't help us here because the change spans multiple repos.)

Sample output:

Screen Shot 2024-06-07 at 12 58 21 PM

@karenzone
Copy link
Contributor Author

@jsvd Let's discuss!

@jsvd jsvd self-assigned this Jun 20, 2024
@jsvd
Copy link
Member

jsvd commented Jun 21, 2024

I would like to avoid having more than 1 place where we state what's commercially supported.
The plugin reference docs explain how any/a user uses the plugin: if it needs to be installed or is bundled with logstash (:default-plugin: attr), what are its settings, and guidance for its use.
The support matrix is the place Elastic customers (current or prospect) can find out what is commercially supported if they have a subscription with Elastic. I'd prefer to keep this separation clean and avoid two sources of truth.

The Elastic integrations are, afaik, the only occurrence of the commercial support of a feature/product being defined outside of support.elastic.co.

@karenzone
Copy link
Contributor Author

This was an ask from @flexitrev and @roaksoax in a move toward more transparency so that users would know what level of support to expect before they use a plugin.

@flexitrev
Copy link

This seems necessary to clear up current confusion about support for various plugins. Requiring customers to go to a different place to understand support than in documentation is a bad customer experience. I think being explicit about the plugins that are supported and therefore actively maintained is good practice.

@lucabelluccini
Copy link
Contributor

At the moment I think we only tell if the Logstash plugin is installed by default or not.
But we do not tell anything about who is maintaining it and what is the support we offer.

About "duplication", it's true having in the docs AND support matrix to maintain is a duplication, but we can solve it:

  • Have a proper automation/pipeline where the support matrix and docs are both generated from the plugins metadata
  • If the above is not possible, make the Support Matrix point to the plugin docs section (which will be mandatory) about the support level - and make the Support Matrix only define the Support level "meaning". The plugins docs will tell the support level.

Note integrations are not the only "product" not being explicitly in the Support Matrix.
The APM Agents are another example.

@karenzone
Copy link
Contributor Author

Update

This project is blocked pending some decisions.

I'm closing related PRs for now:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants