kibana/src/core
gchaps 42168954b4
[DOCS] Renames index pattern in management and monitoring (#117939)
* [DOCS] Renames index pattern in management, monitoring, and graph

* [DOCS] Renames index pattern on landing page

* Updates URL in doc link service

* Update docs/management/advanced-options.asciidoc

Co-authored-by: Lisa Cawley <lcawley@elastic.co>

* Update docs/user/monitoring/kibana-alerts.asciidoc

Co-authored-by: Lisa Cawley <lcawley@elastic.co>

Co-authored-by: lcawl <lcawley@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-11-10 10:20:23 -08:00
..
public [DOCS] Renames index pattern in management and monitoring (#117939) 2021-11-10 10:20:23 -08:00
server [SO migration] remove v1 implementation (#118000) 2021-11-10 13:41:47 +01:00
test_helpers [8.0] Remove legacy logging (#112305) 2021-10-05 13:30:56 +02:00
types [ES] Upgrade client to v8.0 (#113950) 2021-10-26 14:08:22 +02:00
utils Reducing wrapping divs from RenderingService (#97017) 2021-04-26 16:06:06 -04:00
CONVENTIONS.md
CORE_CONVENTIONS.md
index.ts
jest.config.js
kibana.json Adds team details to core/telemetry/localization-owned plugins (#107843) 2021-08-09 20:45:25 -04:00
PRINCIPLES.md
README.md
TESTING.md Move src/core/TESTING.md to mdx (#107039) 2021-08-09 14:03:35 +02:00
tsconfig.json [build_ts_refs] improve caches, allow building a subset of projects (#107981) 2021-08-10 22:12:45 -07:00

Core

Core is a set of systems (frontend, backend etc.) that Kibana and its plugins are built on top of.

Plugin development

Core Plugin API Documentation:

Internal Documentation:

Integration with the "legacy" Kibana

Most of the existing core functionality is still spread over "legacy" Kibana and it will take some time to upgrade it. Kibana is started using existing "legacy" CLI that bootstraps core which in turn creates the "legacy" Kibana server. At the moment core manages HTTP connections, handles TLS configuration and base path proxy. All requests to Kibana server will hit HTTP server exposed by the core first and it will decide whether request can be solely handled by the new platform or request should be proxied to the "legacy" Kibana. This setup allows core to gradually introduce any "pre-route" processing logic, expose new routes or replace old ones handled by the "legacy" Kibana currently.

Once config has been loaded and some of its parts were validated by the core it's passed to the "legacy" Kibana where it will be additionally validated so that we can make config validation stricter with the new config validation system. Even though the new validation system provided by the core is also based on Joi internally it is complemented with custom rules tailored to our needs (e.g. byteSize, duration etc.). That means that config values that were previously accepted by the "legacy" Kibana may be rejected by the core now.

Logging

core has its own logging system and will output log records directly (e.g. to file or terminal) when configured. When no specific configuration is provided, logs are forwarded to the "legacy" Kibana so that they look the same as the rest of the log records throughout Kibana.

Core API Review

To provide a stable API for plugin developers, it is important that the Core Public and Server API's are stable and well documented. To reduce the chance of regressions, development on the Core API's includes an API signature review process described below. Changes to the API signature which have not been accepted will cause the build to fail.

When changes to the Core API's signatures are made, the following process needs to be followed:

  1. After changes have been made, run yarn docs:acceptApiChanges which performs the following:
    • Recompiles all typescript typings files
    • Updates the API review files src/core/public/kibana.api.md and src/core/server/kibana.api.md
    • Updates the Core API documentation in docs/development/core/
  2. Review and commit the updated API Review files and documentation
  3. Clearly flag any breaking changes in your pull request