kibana/docs/extend/stability.md
Colleen McGinnis fbda17de2d
[docs] Fix various syntax and rendering errors (#218883)
Fixes various syntax and rendering errors that might include:

* Fixing broken images
* Hardcoding book-level substitution values
* Fixing incorrectly closed blocks (admonitions, tab sets, code blocks,
dropdowns etc.)
* Fixing poorly migrated complex tables
* Fixing poorly migrated lists
* Fixing poorly migrated tab sets
* Removing inline text formatting from directive titles where they won't
be rendered (for example, inline `code` formatting in dropdown titles)
* Specifying if a version is trying to communicate if a feature was
added, deprecated, or coming (for example, during migration
`deprecated:[8.15.0]` became `[8.15.0]`, which doesn't give any
information about _what_ happened in 8.15.0)
* Note: I used an `{admonition}` for this, but you can change it to
prose or some other kind of admonition if you want.
* Fixing nested dropdowns / definition lists
* Fixing poorly migrated footnotes
* Updating references to prerelease `9.0.0` versions (using a repo-level
substitution until there is a solution to
https://github.com/elastic/docs-builder/issues/737)

Links to pages that were updated:

| Before | After |
|---|---|
| https://www.elastic.co/docs/extend/kibana/development-documentation |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/development-documentation
|
| https://www.elastic.co/docs/extend/kibana/development-security |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/development-security
|
| https://www.elastic.co/docs/extend/kibana/development-tests |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/development-tests
|
|
https://www.elastic.co/docs/extend/kibana/external-plugin-functional-tests
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/external-plugin-functional-tests
|
| https://www.elastic.co/docs/extend/kibana/external-plugin-localization
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/external-plugin-localization
|
| https://www.elastic.co/docs/extend/kibana/interpreting-ci-failures |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/interpreting-ci-failures
|
| https://www.elastic.co/docs/extend/kibana/plugin-list |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/plugin-list
|
| https://www.elastic.co/docs/extend/kibana/sample-data |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/sample-data
|
| https://www.elastic.co/docs/extend/kibana/saved-objects-service |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/saved-objects-service
|
| https://www.elastic.co/docs/extend/kibana/sharing-saved-objects |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/sharing-saved-objects
|
| https://www.elastic.co/docs/extend/kibana/stability |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/extend/stability
|
| https://www.elastic.co/docs/reference/kibana/advanced-settings |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/advanced-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/ai-assistant-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/ai-assistant-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/fleet-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/fleet-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/general-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/general-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/monitoring-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/monitoring-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/reporting-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/reporting-settings
|
|
https://www.elastic.co/docs/reference/kibana/configuration-reference/task-manager-settings
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/configuration-reference/task-manager-settings
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/cases-webhook-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/cases-webhook-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/email-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/email-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/pre-configured-connectors
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/pre-configured-connectors
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/servicenow-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/servicenow-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/servicenow-itom-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/servicenow-itom-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/servicenow-sir-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/servicenow-sir-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/thehive-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/thehive-action-type
|
|
https://www.elastic.co/docs/reference/kibana/connectors-kibana/webhook-action-type
|
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/connectors-kibana/webhook-action-type
|
| https://www.elastic.co/docs/reference/kibana/kibana-audit-events |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/kibana-audit-events
|
| https://www.elastic.co/docs/reference/kibana/kibana-plugins |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/reference/kibana-plugins
|
| https://www.elastic.co/docs/release-kibana/notes/index |
https://docs-v3-preview.elastic.dev/elastic/kibana/pull/218883/release-notes/index
|

---------

Co-authored-by: wajihaparvez <wajiha.parvez@elastic.co>
2025-05-22 10:10:07 +02:00

3.9 KiB
Raw Permalink Blame History

mapped_pages
https://www.elastic.co/guide/en/kibana/current/stability.html

Stability [stability]

Ensure your feature will work under all possible {{kib}} scenarios.

Environmental configuration scenarios [_environmental_configuration_scenarios]

  • Cloud

  • Multiple {{kib}} instances

    • Pointing to the same index

    • Pointing to different indexes

      • Should make sure that the {{kib}} index is not hardcoded anywhere.
      • Should not be storing a bunch of stuff in {{kib}} memory.
      • Should emulate a high availability deployment.
      • Anticipating different timing related issues due to shared resource access.
      • We need to make sure security is set up in a specific way for non-standard {{kib}} indices. (create their own custom roles)
  • {{kib}} running behind a reverse proxy or load balancer, without sticky sessions.

  • If a proxy/loadbalancer is running between ES and {{kib}}

Kibana.yml settings [_kibana_yml_settings]

  • Using a custom {{kib}} index alias

  • When optional dependencies are disabled

    • Ensure all your required dependencies are listed in kibana.json dependency list!

Test coverage [_test_coverage]

Testing UI code is hard. We strive for total automated test coverage of our code and UX, but this is difficult to measure and were constrained by time. During development, test coverage measurement is subjective and manual, based on our understanding of the feature. Code coverage reports indicate possible gaps, but it ultimately comes down to a judgment call. Here are some guidelines to help you ensure sufficient automated test coverage.

  • Every PR should be accompanied by tests.
  • Check the before and after automated test coverage metrics. If coverage has gone down you might have missed some tests.
  • Cover failure cases, edge cases, and happy paths with your tests.
  • Pay special attention to code that could contain bugs that harm to the user. "Harm" includes direct problems like data loss and data entering a bad state, as well as indirect problems like making a poor business decision based on misinformation presented by the UI. For example, state migrations and security permissions are important areas to cover.
  • Pay special attention to public APIs, which may be used in unexpected ways. Any code you release for consumption by other plugins should be rigorously tested with many permutations.
  • Include end-to-end tests for areas where the logic spans global state, URLs, and multiple plugin APIs.
  • Every time a bug is reported, add a test to cover it.
  • Retrospectively gauge the quality of the code you ship by tracking how many bugs are reported for features that are released. How can you reduce this number by improving your testing approach?

Browser coverage [_browser_coverage]

Refer to the list of browsers and OS {{kib}} supports: https://www.elastic.co/support/matrix

Does the feature work efficiently on the list of supported browsers?

Upgrade and Migration scenarios [_upgrade_and_migration_scenarios]

  • Does the feature affect old indices or saved objects?
  • Has the feature been tested with {{kib}} aliases?
  • Read/Write privileges of the indices before and after the upgrade?