Updates Github link references from master to main (#116789) (#116791)

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
# Conflicts:
#	.github/ISSUE_TEMPLATE/v8_breaking_change.md
#	.github/PULL_REQUEST_TEMPLATE.md
This commit is contained in:
Tyler Smalley 2021-10-29 10:07:44 -07:00 committed by GitHub
parent 1cf36dc757
commit 69cb2d3e2c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
125 changed files with 833 additions and 833 deletions

View file

@ -210,7 +210,7 @@ less likely to introduce bugs in the future due to insufficient types.
If youre not having `any` in your plugin or are starting a new plugin, you should enable the
[`@typescript-eslint/no-explicit-any`](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-explicit-any.md)
linting rule for your plugin via the [`.eslintrc.js`](https://github.com/elastic/kibana/blob/master/.eslintrc.js) config.
linting rule for your plugin via the [`.eslintrc.js`](https://github.com/elastic/kibana/blob/main/.eslintrc.js) config.
### Avoid non-null assertions
@ -229,7 +229,7 @@ assertion would now wrongly disable proper type checking for us.
If youre not using non-null assertions in your plugin or are starting a new plugin, consider enabling the
[`@typescript-eslint/no-non-null-assertion`](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-non-null-assertion.md)
linting rule for you plugin in the [`.eslintrc.js`](https://github.com/elastic/kibana/blob/master/.eslintrc.js) config.
linting rule for you plugin in the [`.eslintrc.js`](https://github.com/elastic/kibana/blob/main/.eslintrc.js) config.
### Return/throw early from functions

File diff suppressed because it is too large Load diff

View file

@ -2259,7 +2259,7 @@
"tags": [],
"label": "createSessionStorageStateStorage",
"description": [
"\nCreates {@link ISessionStorageStateStorage}\n{@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md | guide}"
"\nCreates {@link ISessionStorageStateStorage}\n{@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md | guide}"
],
"signature": [
"(storage?: Storage) => ",
@ -2579,7 +2579,7 @@
"tags": [],
"label": "createStateContainerReactHelpers",
"description": [
"\nCreates helpers for using {@link StateContainer | State Containers} with react\nRefer to {@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_containers/react.md | guide} for details"
"\nCreates helpers for using {@link StateContainer | State Containers} with react\nRefer to {@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_containers/react.md | guide} for details"
],
"signature": [
"<Container extends ",
@ -3932,7 +3932,7 @@
"tags": [],
"label": "syncState",
"description": [
"\nUtility for syncing application state wrapped in state container\nwith some kind of storage (e.g. URL)\n\nGo {@link https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_sync | here} for a complete guide and examples.\n"
"\nUtility for syncing application state wrapped in state container\nwith some kind of storage (e.g. URL)\n\nGo {@link https://github.com/elastic/kibana/tree/main/src/plugins/kibana_utils/docs/state_sync | here} for a complete guide and examples.\n"
],
"signature": [
"({\n storageKey,\n stateStorage,\n stateContainer,\n}: ",
@ -4704,7 +4704,7 @@
"tags": [],
"label": "IKbnUrlStateStorage",
"description": [
"\nKbnUrlStateStorage is a state storage for {@link syncState} utility which:\n\n1. Keeps state in sync with the URL.\n2. Serializes data and stores it in the URL in one of the supported formats:\n * Rison encoded.\n * Hashed URL: In URL we store only the hash from the serialized state, but the state itself is stored in sessionStorage. See Kibana's `state:storeInSessionStorage` advanced option for more context.\n3. Takes care of listening to the URL updates and notifies state about the updates.\n4. Takes care of batching URL updates to prevent redundant browser history records.\n\n{@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/kbn_url_storage.md | Refer to this guide for more info}"
"\nKbnUrlStateStorage is a state storage for {@link syncState} utility which:\n\n1. Keeps state in sync with the URL.\n2. Serializes data and stores it in the URL in one of the supported formats:\n * Rison encoded.\n * Hashed URL: In URL we store only the hash from the serialized state, but the state itself is stored in sessionStorage. See Kibana's `state:storeInSessionStorage` advanced option for more context.\n3. Takes care of listening to the URL updates and notifies state about the updates.\n4. Takes care of batching URL updates to prevent redundant browser history records.\n\n{@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_sync/storages/kbn_url_storage.md | Refer to this guide for more info}"
],
"signature": [
{
@ -4953,7 +4953,7 @@
"tags": [],
"label": "ISessionStorageStateStorage",
"description": [
"\n{@link IStateStorage} for storing state in browser {@link Storage}\n{@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md | guide}"
"\n{@link IStateStorage} for storing state in browser {@link Storage}\n{@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md | guide}"
],
"signature": [
{
@ -8982,7 +8982,7 @@
"tags": [],
"label": "createStateContainerReactHelpers",
"description": [
"\nCreates helpers for using {@link StateContainer | State Containers} with react\nRefer to {@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_containers/react.md | guide} for details"
"\nCreates helpers for using {@link StateContainer | State Containers} with react\nRefer to {@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_containers/react.md | guide} for details"
],
"signature": [
"<Container extends ",

View file

@ -12,7 +12,7 @@ documentation for every plugin that exposes a <DocLink id="kibPlatformIntro" sec
<DocCallOut color="warning" title="Experimental">
This documentation is being automatically generated using an
[_experimental_ system](https://github.com/elastic/kibana/blob/master/rfcs/text/0014_api_documentation.md). That means
[_experimental_ system](https://github.com/elastic/kibana/blob/main/rfcs/text/0014_api_documentation.md). That means
it may be removed or modified at any time. If you have any questions, feedback or concerns, please create an issue using
the label `APIDocs`, or reach out to the Kibana Tech Leads
who are temporarily owning and maintaining this system.
@ -46,7 +46,7 @@ the instructions <DocLink id="docsSetup" section="configure-the-nav-for-your-con
configure the navigation menu. The nav file you need to
edit is: [https://github.com/elastic/elastic-docs/blob/master/config/nav-kibana-dev.ts](https://github.com/elastic/elastic-docs/blob/master/config/nav-kibana-dev.ts)
Your API docs will exist in the top level [`api_docs` folder](https://github.com/elastic/kibana/tree/master/api_docs) and will use a doc id of the pattern `kib${PluginName}PluginApi`.
Your API docs will exist in the top level [`api_docs` folder](https://github.com/elastic/kibana/tree/main/api_docs) and will use a doc id of the pattern `kib${PluginName}PluginApi`.
### Why is a referenced API item not showing up as clickable?
@ -70,7 +70,7 @@ In the short term, the best thing you can do is avoid deeply nested API items. U
adding `serviceFolders` in your kibana.json. This will automatically split your docs up based on which APIs are defined within the service folders.
They will get built into a doc with an id of
`kib${PluginName}${ServiceName}PluginApi`. The data plugin does this, so you
can [check that out as an example](https://github.com/elastic/kibana/blob/master/src/plugins/data/kibana.json#L13).
can [check that out as an example](https://github.com/elastic/kibana/blob/main/src/plugins/data/kibana.json#L13).
If that isn't the case and you are still experiencing performance issues, please file an issue!

View file

@ -29,7 +29,7 @@ Refer to [divio documentation](https://documentation.divio.com/) for guidance on
#### Location
If the information spans multiple plugins, consider adding it to the [dev_docs](https://github.com/elastic/kibana/tree/master/dev_docs) folder. If it is plugin specific, consider adding it inside the plugin folder. Write it in an mdx file if you would like it to show up in our new (beta) documentation system.
If the information spans multiple plugins, consider adding it to the [dev_docs](https://github.com/elastic/kibana/tree/main/dev_docs) folder. If it is plugin specific, consider adding it inside the plugin folder. Write it in an mdx file if you would like it to show up in our new (beta) documentation system.
<DocCallOut title="internal only">
@ -139,7 +139,7 @@ export type foo: string | AnInterface;
### Example plugins
Running Kibana with `yarn start --run-examples` will include all [example plugins](https://github.com/elastic/kibana/tree/master/examples). These are tested examples of platform services in use. We strongly encourage anyone providing a platform level service or <DocLink id="kibBuildingBlocks" text="building block"/> to include a tutorial that links to a tested example plugin. This is better than relying on copied code snippets, which can quickly get out of date.
Running Kibana with `yarn start --run-examples` will include all [example plugins](https://github.com/elastic/kibana/tree/main/examples). These are tested examples of platform services in use. We strongly encourage anyone providing a platform level service or <DocLink id="kibBuildingBlocks" text="building block"/> to include a tutorial that links to a tested example plugin. This is better than relying on copied code snippets, which can quickly get out of date.
## Performance
@ -165,7 +165,7 @@ all of our apps are accessible.
## Localization
Kibana is translated into other languages. Use our i18n utilities to ensure your public facing strings will be translated to ensure all Kibana apps are localized. Read and adhere to our [i18n guidelines](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/GUIDELINE.md)
Kibana is translated into other languages. Use our i18n utilities to ensure your public facing strings will be translated to ensure all Kibana apps are localized. Read and adhere to our [i18n guidelines](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/GUIDELINE.md)
<DocCallOut title="Internal only">
Elasticians, check out the #kibana-localization channel to ask questions and receive guidance.
@ -173,7 +173,7 @@ Kibana is translated into other languages. Use our i18n utilities to ensure your
## Styleguide
We use es-lint rules when possible, but please review our [styleguide](https://github.com/elastic/kibana/blob/master/STYLEGUIDE.mdx), which includes recommendations that can't be linted on.
We use es-lint rules when possible, but please review our [styleguide](https://github.com/elastic/kibana/blob/main/STYLEGUIDE.mdx), which includes recommendations that can't be linted on.
Es-lint overrides on a per-plugin level are discouraged.
@ -231,7 +231,7 @@ Consider how you want to handle the PR review. Reviewing each PR going into the
**3. Use an example plugin**
If you are building a service for developers, create an [example plugin](https://github.com/elastic/kibana/tree/master/examples) to showcase and test intended usage. This is a great way for reviewers and PMs to play around with a feature through the UI, before the production UI is ready. This can also help developers consuming your services get hands on.
If you are building a service for developers, create an [example plugin](https://github.com/elastic/kibana/tree/main/examples) to showcase and test intended usage. This is a great way for reviewers and PMs to play around with a feature through the UI, before the production UI is ready. This can also help developers consuming your services get hands on.
## Embrace the monorepo
@ -241,7 +241,7 @@ When experimenting with code, it's completely fine to create a separate GitHub r
There are some exceptions where a separate repo makes sense. However, they are exceptions to the rule. A separate repo has proven beneficial when there's a dedicated team collaborating on a package which has multiple consumers, for example [EUI](https://github.com/elastic/eui).
It may be tempting to get caught up in the dream of writing the next package which is published to npm and downloaded millions of times a week. Knowing the quality of developers that are working on Kibana, this is a real possibility. However, knowing which packages will see mass adoption is impossible to predict. Instead of jumping directly to writing code in a separate repo and accepting all of the complications that come along with it, prefer keeping code inside the Kibana repo. A [Kibana package](https://github.com/elastic/kibana/tree/master/packages) can be used to publish a package to npm, while still keeping the code inside the Kibana repo. Move code to an external repo only when there is a good reason, for example to enable external contributions.
It may be tempting to get caught up in the dream of writing the next package which is published to npm and downloaded millions of times a week. Knowing the quality of developers that are working on Kibana, this is a real possibility. However, knowing which packages will see mass adoption is impossible to predict. Instead of jumping directly to writing code in a separate repo and accepting all of the complications that come along with it, prefer keeping code inside the Kibana repo. A [Kibana package](https://github.com/elastic/kibana/tree/main/packages) can be used to publish a package to npm, while still keeping the code inside the Kibana repo. Move code to an external repo only when there is a good reason, for example to enable external contributions.
## Security best practices

View file

@ -11,59 +11,59 @@ A high-level walk through of the folder structure of our [repository](https://gi
Tip: Look for a `README.md` in a folder to learn about its contents.
## [.buildkite](https://github.com/elastic/kibana/tree/master/.buildkite)
## [.buildkite](https://github.com/elastic/kibana/tree/main/.buildkite)
Managed by the operations team to set up a new buildkite ci system. Can be ignored by folks outside the Operations team.
## [.ci](https://github.com/elastic/kibana/tree/master/.ci)
## [.ci](https://github.com/elastic/kibana/tree/main/.ci)
Managed by the operations team to contain Jenkins settings. Can be ignored by folks outside the Operations team.
## [.github](https://github.com/elastic/kibana/tree/master/.github)
## [.github](https://github.com/elastic/kibana/tree/main/.github)
Contains GitHub configuration settings. This file contains issue templates, and the [CODEOWNERS](https://github.com/elastic/kibana/blob/master/.github/CODEOWNERS) file. It's important for teams to keep the CODEOWNERS file up-to-date so the right team is pinged for a code owner review on PRs that edit certain files. Note that the `CODEOWNERS` file only exists on the main/master branch, and is not backported to other branches in the repo.
Contains GitHub configuration settings. This file contains issue templates, and the [CODEOWNERS](https://github.com/elastic/kibana/blob/main/.github/CODEOWNERS) file. It's important for teams to keep the CODEOWNERS file up-to-date so the right team is pinged for a code owner review on PRs that edit certain files. Note that the `CODEOWNERS` file only exists on the main/master branch, and is not backported to other branches in the repo.
## [api_docs](https://github.com/elastic/kibana/tree/master/api_docs)
## [api_docs](https://github.com/elastic/kibana/tree/main/api_docs)
Every file in here is auto-generated by the <DocLink id="kibDevDocsApiWelcome" text="API Docs system"/> and used to render our API documentation. If you edit a public plugin or package API and run `node scripts/build_api_docs` you will see files changed in this folder. Do not edit the contents of this folder directly!
Note that currently you may see _a lot_ of changes because that command is not run on every PR and so the content in this folder is often outdated.
## [config](https://github.com/elastic/kibana/tree/master/config)
## [config](https://github.com/elastic/kibana/tree/main/config)
This contains the base configuration file, `kibana.yml`. If you want to tweak any settings, create a `kibana.dev.yml` in here which will get picked up during development, and not checked into GitHub.
## [docs](https://github.com/elastic/kibana/tree/master/docs)
## [docs](https://github.com/elastic/kibana/tree/main/docs)
Every folder in here _except_ the [development one](https://github.com/elastic/kibana/tree/master/docs/development) contains manually generated asciidocs that end up hosted in our [Elastic guide](https://www.elastic.co/guide/).
Every folder in here _except_ the [development one](https://github.com/elastic/kibana/tree/main/docs/development) contains manually generated asciidocs that end up hosted in our [Elastic guide](https://www.elastic.co/guide/).
The `development` folder contains markdown that is auto-generated with our legacy API docs tool. We are aiming to remove it shortly after 8.0FF.
## [dev_docs](https://github.com/elastic/kibana/tree/master/dev_docs)
## [dev_docs](https://github.com/elastic/kibana/tree/main/dev_docs)
This is where a lot of manually written content for our Developer Guide resides. Developers may also keep the information closer to what it's describing, but it's a good spot for high-level information, or information that describes how multiple plugins work together.
## [examples](https://github.com/elastic/kibana/tree/master/examples)
## [examples](https://github.com/elastic/kibana/tree/main/examples)
These are our tested example plugins that also get built and hosted [here](https://demo.kibana.dev/8.0/app/developerExamples). If a plugin is written for testing purposes only, it won't go in here. These example plugins should be written with the intention of helping developers understand how to use our services.
## [legacy_rfcs](https://github.com/elastic/kibana/tree/master/legacy_rfcs)
## [legacy_rfcs](https://github.com/elastic/kibana/tree/main/legacy_rfcs)
We used to write RFCs in `md` format and keep them in the repository, but we have since moved to Google Docs. We kept the folder around, since some folks still read these old docs. If you are an internal contributor you can visit <DocLink id="ktRFCProcess" text="this document"/> to read about our current RFC process.
## [licenses](https://github.com/elastic/kibana/tree/master/licenses)
## [licenses](https://github.com/elastic/kibana/tree/main/licenses)
Contains our two license header texts, one for the Elastic license and one for the Elastic+SSPL license. All code files inside x-pack should have the Elastic license text at the top, all code files outside x-pack should contain the other. If you have your environment set up to auto-fix on save, eslint should take care of adding it for you. If you don't have it, ci will fail. Can be ignored for the most part, this rarely changes.
## [packages](https://github.com/elastic/kibana/tree/master/packages)
## [packages](https://github.com/elastic/kibana/tree/main/packages)
The packages folder contains a mixture of build-time related code (like the [code needed to build the api docs](https://github.com/elastic/kibana/tree/master/packages/kbn-docs-utils)), as well as static code that some plugins rely on (like the [kbn-monaco package](https://github.com/elastic/kibana/tree/master/packages/kbn-monaco)). <DocLink id="kibPlatformIntro" section="1000-foot-view" text="This document"/> covers how packages differ from plugins.
The packages folder contains a mixture of build-time related code (like the [code needed to build the api docs](https://github.com/elastic/kibana/tree/main/packages/kbn-docs-utils)), as well as static code that some plugins rely on (like the [kbn-monaco package](https://github.com/elastic/kibana/tree/main/packages/kbn-monaco)). <DocLink id="kibPlatformIntro" section="1000-foot-view" text="This document"/> covers how packages differ from plugins.
## [plugins](https://github.com/elastic/kibana/tree/master/plugins)
## [plugins](https://github.com/elastic/kibana/tree/main/plugins)
This is an empty folder in GitHub. It's where third party developers should put their plugin folders. Internal developers can ignore this folder.
## [scripts](https://github.com/elastic/kibana/tree/master/scripts)
## [scripts](https://github.com/elastic/kibana/tree/main/scripts)
Contains a bunch of developer scripts. These are usually very small files with just two lines that kick off a command, the logic of which resides elsewhere (sometimes `src/dev`, sometimes inside `packages`).
Example:
@ -72,65 +72,65 @@ require('../src/setup_node_env');
require('@kbn/es-archiver').runCli();
```
## [src](https://github.com/elastic/kibana/tree/master/src)
## [src](https://github.com/elastic/kibana/tree/main/src)
This folder and the packages folder contain the most code and where developers usually find themselves. I'll touch on a few of the subfolder, the rest can generally be ignored, or are build/ops related code.
### [src/cli*](https://github.com/elastic/kibana/tree/master/src/cli)
### [src/cli*](https://github.com/elastic/kibana/tree/main/src/cli)
Maintained primarily by the Operations team, this folder contains code that initializes the Kibana runtime and a bit of work to handle authorization for interactive setup mode. Most devs should be able to ignore this code.
### [src/core](https://github.com/elastic/kibana/tree/master/src/core)
### [src/core](https://github.com/elastic/kibana/tree/main/src/core)
This code primarily belongs to the Core team and contains the plugin infrastructure, as well as a bunch of fundamental services like migrations, saved objects, and some UI utilities (toasts, flyouts, etc.).
### [src/dev](https://github.com/elastic/kibana/tree/master/src/dev)
### [src/dev](https://github.com/elastic/kibana/tree/main/src/dev)
Maintained by the Operations team, this code contains build and development tooling related code. This folder existed before `packages`, so contains mostly older code that hasn't been migrated to packages. Prefer creating a `package` if possible. Can be ignored for the most part if you are not on the Ops team. Prefer
### [src/plugins](https://github.com/elastic/kibana/tree/master/src/plugins)
### [src/plugins](https://github.com/elastic/kibana/tree/main/src/plugins)
Contains all of our Basic-licensed plugins. Most folders in this directory will contain `README.md` files explaining what they do. If there are none, you can look at the `owner.gitHub` field inside all `kibana.json`s that will tell you which team to get in touch with for questions.
Note that as plugins can be nested, each folder in this directory may contain multiple plugins.
## [test](https://github.com/elastic/kibana/tree/master/test)
## [test](https://github.com/elastic/kibana/tree/main/test)
Contains functional tests and related FTR (functional test runner) code for the plugins inside `src/plugins`, although there is a push to move the tests to reside inside the plugins themselves.
## [typings](https://github.com/elastic/kibana/tree/master/typings)
## [typings](https://github.com/elastic/kibana/tree/main/typings)
Maintained by Ops and Core, this contains global typings for dependencies that do not provide their own types, or don't have types available via [DefinitelyTyped](https://definitelytyped.org). This directory is intended to be minimal; types should only be added here as a last resort.
## [vars](https://github.com/elastic/kibana/tree/master/vars)
## [vars](https://github.com/elastic/kibana/tree/main/vars)
A bunch of groovy scripts maintained by the Operations team.
## [x-pack](https://github.com/elastic/kibana/tree/master/x-pack)
## [x-pack](https://github.com/elastic/kibana/tree/main/x-pack)
Contains all code and infrasturcture that powers our gold+ (non-basic) features that are provided under a more restrictive license.
### [x-pack/build_chromium](https://github.com/elastic/kibana/tree/master/x-pack/build_chromium)
### [x-pack/build_chromium](https://github.com/elastic/kibana/tree/main/x-pack/build_chromium)
Maintained by the App Services UX team, this contains Reporting-related code for building Chromium in order to take server side screenshots.
### [x-pack/dev-tools](https://github.com/elastic/kibana/tree/master/x-pack/dev-tools)
### [x-pack/dev-tools](https://github.com/elastic/kibana/tree/main/x-pack/dev-tools)
Maintained by the Operations team.
### [x-pack/examples](https://github.com/elastic/kibana/tree/master/x-pack/examples)
### [x-pack/examples](https://github.com/elastic/kibana/tree/main/x-pack/examples)
Contains all example plugins that rely on gold+ features.
### [x-pack/plugins](https://github.com/elastic/kibana/tree/master/x-pack/plugins)
### [x-pack/plugins](https://github.com/elastic/kibana/tree/main/x-pack/plugins)
Contains code for all the plugins that power our gold+ features.
### [x-pack/scripts](https://github.com/elastic/kibana/tree/master/x-pack/scripts)
### [x-pack/scripts](https://github.com/elastic/kibana/tree/main/x-pack/scripts)
Maintained by the Ops team, this folder contains some scripts for running x-pack utilities, like the functional test runner that runs with a license higher than Basic.
### [x-pack/test](https://github.com/elastic/kibana/tree/master/x-pack/test)
### [x-pack/test](https://github.com/elastic/kibana/tree/main/x-pack/test)
Functional tests for our gold+ features.

View file

@ -69,6 +69,6 @@ Every team should be collecting telemetry metrics on its public API usage. Th
### Documentation
Every public API should be documented inside the [docs/api](https://github.com/elastic/kibana/tree/master/docs/api) folder in asciidoc (this content will eventually be migrated to mdx to support the new docs system). If a public REST API is undocumented, you should either document it, or make it internal.
Every public API should be documented inside the [docs/api](https://github.com/elastic/kibana/tree/main/docs/api) folder in asciidoc (this content will eventually be migrated to mdx to support the new docs system). If a public REST API is undocumented, you should either document it, or make it internal.
Every public API should have a release tag specified using the appropriate documentation release tag above. If you do this, the docs system will provide a pop up explaining the conditions. If an API is not marked, it should be considered experimental.

View file

@ -9,7 +9,7 @@ tags: ['kibana', 'dev', 'contributor', 'tutorials']
This tutorial walks you through two ways to create a plugin that registers an application that says "Hello World!".
You can view the tested example plugin at [examples/hello_world](https://github.com/elastic/kibana/tree/master/examples/hello_world).
You can view the tested example plugin at [examples/hello_world](https://github.com/elastic/kibana/tree/main/examples/hello_world).
## 1. Set up your development environment

View file

@ -76,7 +76,7 @@ plugins/
- preboot plugins are bootstrapped to prepare the environment before Kibana starts.
- standard plugins define Kibana functionality while Kibana is running.
`owner` - [Required] Help users of your plugin know who manages this plugin and how to get in touch. For internal developers, `Owner.name` should be the name of the team that manages this plugin. This should match the team that owns this code in the [CODEOWNERS](https://github.com/elastic/kibana/blob/master/.github/CODEOWNERS) file (however, this is not currently enforced). Internal teams should also use a [GitHub team alias](https://github.com/orgs/elastic/teams) for `owner.githubTeam`. This value is used to create a link to `https://github.com/orgs/elastic/teams/${githubTeam}`, so leave the `elastic/` prefix should be left out. While many teams can contribute to a plugin, only a single team should be the primary owner.
`owner` - [Required] Help users of your plugin know who manages this plugin and how to get in touch. For internal developers, `Owner.name` should be the name of the team that manages this plugin. This should match the team that owns this code in the [CODEOWNERS](https://github.com/elastic/kibana/blob/main/.github/CODEOWNERS) file (however, this is not currently enforced). Internal teams should also use a [GitHub team alias](https://github.com/orgs/elastic/teams) for `owner.githubTeam`. This value is used to create a link to `https://github.com/orgs/elastic/teams/${githubTeam}`, so leave the `elastic/` prefix should be left out. While many teams can contribute to a plugin, only a single team should be the primary owner.
`description` - [Required] Give your plugin a description to help other developers understand what it does. This is required for internal plugins.

View file

@ -33,7 +33,7 @@ At a super high-level, Kibana is composed of **plugins**, **core**, and **Kibana
<DocAccordion buttonContent="(Internal only) FAQ: Should I put my code in a plugin or a package?" color="warning">
<DocCallOut color="warning">
When the [Bazel migration](https://github.com/elastic/kibana/blob/master/legacy_rfcs/text/0015_bazel.md) is complete, all code, including plugins, will be a package. With that, packages won't be required to be in the `packages/` directory and can be located somewhere that makes more sense structurally.
When the [Bazel migration](https://github.com/elastic/kibana/blob/main/legacy_rfcs/text/0015_bazel.md) is complete, all code, including plugins, will be a package. With that, packages won't be required to be in the `packages/` directory and can be located somewhere that makes more sense structurally.
In the meantime, the following can be used to determine whether it makes sense to add code to a package inside the `packages` folder, or a plugin inside `src/plugins` or `x-pack/plugins`.
@ -49,7 +49,7 @@ Downsides to packages:
1. <b>It's not <DocLink id="kibDevPrinciples" text="organized by domain"/></b>. The packages folder is far away from the plugins folder. Having your stateless code in a plugin and the rest in a package may make it hard to find, leading to duplication. The Operations team hopes to fix this by supporting packages and plugins existing in the same folder. You can track this work by following [this issue](https://github.com/elastic/kibana/issues/112886).
2. <b>Development overhead</b>. Developers have to run `yarn kbn watch` to have changes rebuilt automatically. [Phase II](https://github.com/elastic/kibana/blob/master/legacy_rfcs/text/0015_bazel.md#phase-ii---docs-developer-experience) of the Bazel migration work will bring the development experience on par with plugin development. This work can be tracked [here](https://github.com/elastic/kibana/issues/104519).
2. <b>Development overhead</b>. Developers have to run `yarn kbn watch` to have changes rebuilt automatically. [Phase II](https://github.com/elastic/kibana/blob/main/legacy_rfcs/text/0015_bazel.md#phase-ii---docs-developer-experience) of the Bazel migration work will bring the development experience on par with plugin development. This work can be tracked [here](https://github.com/elastic/kibana/issues/104519).
3. <b>Development performance</b>. Rebuild time is typically longer than it would be for the same code in a plugin. The reasons are captured in [this issue](https://github.com/elastic/kibana/issues/107648). The ops team is actively working to reduce this performance increase.

View file

@ -30,7 +30,7 @@ Assuming you want to link from your app to *Discover*. When building such URL th
### Prepending a proper `basePath`
To prepend Kibana's `basePath` use the [core.http.basePath.prepend](https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.ibasepath.prepend.md) helper:
To prepend Kibana's `basePath` use the [core.http.basePath.prepend](https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.ibasepath.prepend.md) helper:
```tsx
const discoverUrl = core.http.basePath.prepend(`/discover`);
@ -50,7 +50,7 @@ console.log(discoverUrl); // http://localhost:5601/bpr/s/space/app/discover
const discoverUrlWithSomeState = core.http.basePath.prepend(`/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:'2020-09-10T11:39:50.203Z',to:'2020-09-10T11:40:20.249Z'))&_a=(columns:!(_source),filters:!(),index:'90943e30-9a47-11e8-b64d-95841ca0b247',interval:auto,query:(language:kuery,query:''),sort:!())`);
```
Instead, each app should expose [a locator](https://github.com/elastic/kibana/blob/master/src/plugins/share/common/url_service/locators/README.md).
Instead, each app should expose [a locator](https://github.com/elastic/kibana/blob/main/src/plugins/share/common/url_service/locators/README.md).
Other apps should use those locators for navigation or URL creation.
```tsx
@ -60,7 +60,7 @@ const discoverUrl = await plugins.discover.locator.getUrl({filters, timeRange});
await plugins.discover.locator.navigate({filters, timeRange});
```
To get a better idea, take a look at *Discover* locator [implementation](https://github.com/elastic/kibana/blob/master/src/plugins/discover/public/locator.ts).
To get a better idea, take a look at *Discover* locator [implementation](https://github.com/elastic/kibana/blob/main/src/plugins/discover/public/locator.ts).
It allows specifying various **Discover** app state pieces like: index pattern, filters, query, time range and more.
There are two ways to access locators of other apps:
@ -86,8 +86,8 @@ window.location.href = urlToADashboard;
To navigate between different Kibana apps without a page reload there are APIs in `core`:
* [core.application.navigateToApp](https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.applicationstart.navigatetoapp.md)
* [core.application.navigateToUrl](https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.applicationstart.navigatetourl.md)
* [core.application.navigateToApp](https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.applicationstart.navigatetoapp.md)
* [core.application.navigateToUrl](https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.applicationstart.navigatetourl.md)
*Rendering a link to a different app on its own would also cause a full page reload:*
@ -112,7 +112,7 @@ const MySPALink = () =>
```
As it would be too much boilerplate to do this for each link in your app, there is a handy wrapper that helps with it:
[RedirectAppLinks](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_react/public/app_links/redirect_app_link.tsx#L49).
[RedirectAppLinks](https://github.com/elastic/kibana/blob/main/src/plugins/kibana_react/public/app_links/redirect_app_link.tsx#L49).
```jsx
const MyApp = () =>
@ -134,9 +134,9 @@ Common rules to follow in this scenario:
This is required to make sure `core` is aware of navigations triggered inside your app, so it could act accordingly when needed.
* `Core`'s [ScopedHistory](https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.scopedhistory.md) instance.
* [Example usage](https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.appmountparameters.history.md)
* [Example plugin](https://github.com/elastic/kibana/blob/master/test/plugin_functional/plugins/core_plugin_a/public/application.tsx#L120)
* `Core`'s [ScopedHistory](https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.scopedhistory.md) instance.
* [Example usage](https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.appmountparameters.history.md)
* [Example plugin](https://github.com/elastic/kibana/blob/main/test/plugin_functional/plugins/core_plugin_a/public/application.tsx#L120)
Relative links will be resolved relative to your app's route (e.g.: `http://localhost5601/app/{your-app-id}`)
and setting up internal links in your app in SPA friendly way would look something like:
@ -152,7 +152,7 @@ const MyInternalLink = () => <Link to="/my-other-page"></Link>
Try to avoid using `window.location` and `window.history` directly.
<DocCallOut>
Instead, use [ScopedHistory](https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.scopedhistory.md) instance provided by `core`.
Instead, use [ScopedHistory](https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.scopedhistory.md) instance provided by `core`.
</DocCallOut>
- This way `core` will know about location changes triggered within your app, and it would act accordingly.
@ -190,7 +190,7 @@ There are utils to help you to implement such kind of state syncing.
- Adding a query param flag or simple key/value to the URL.
<DocCallOut>
Follow [these docs](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync#state-syncing-utilities) to learn more.
Follow [these docs](https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_sync#state-syncing-utilities) to learn more.
</DocCallOut>
## Preserving state between navigations
@ -212,7 +212,7 @@ you'd notice that state is stored inside that link, and it also gets updated whe
![image](../assets/state_inside_the_link.png)
This is where separation into `_a` and `_g` query params comes into play. What is considered a *global* state gets constantly updated in those navigation links. In the example above it was a time filter.
This is backed by [KbnUrlTracker](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/public/state_management/url/kbn_url_tracker.ts#L57) util. You can use it to achieve similar behavior.
This is backed by [KbnUrlTracker](https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/public/state_management/url/kbn_url_tracker.ts#L57) util. You can use it to achieve similar behavior.
NOTE: After migrating to KP navigation works without page reloads and all plugins are loaded simultaneously.
Hence, likely there are simpler ways to preserve state of your application, unless you want to do it through URL.

View file

@ -49,7 +49,7 @@ If the state your plugin is storing can be provided by other plugins (your plugi
Any plugin that stores any persistable state as part of their saved object should make sure that its saved object migration
and reference extraction and injection methods correctly use the matching `PersistableStateService` implementation for the state they are storing.
Take a look at [example saved object](https://github.com/elastic/kibana/blob/master/examples/embeddable_examples/server/searchable_list_saved_object.ts#L32) which stores an embeddable state. Note how the `migrations`, `extractReferences` and `injectReferences` are defined.
Take a look at [example saved object](https://github.com/elastic/kibana/blob/main/examples/embeddable_examples/server/searchable_list_saved_object.ts#L32) which stores an embeddable state. Note how the `migrations`, `extractReferences` and `injectReferences` are defined.
## Storing persistable state as part of URL
@ -71,7 +71,7 @@ To support persisting your state in saved objects owned by another plugin, the <
text="Learn how to define Saved Object references"
/>
[See example embeddable providing extract/inject functions](https://github.com/elastic/kibana/blob/master/examples/embeddable_examples/public/migrations/migrations_embeddable_factory.ts)
[See example embeddable providing extract/inject functions](https://github.com/elastic/kibana/blob/main/examples/embeddable_examples/public/migrations/migrations_embeddable_factory.ts)
### Migrations and Backward compatibility
@ -79,9 +79,9 @@ As your plugin evolves, you may need to change your state in a breaking way. If
<DocLink id="kibDevTutorialSavedObject" section="migrations" text="How to write a migration" />.
[See an example saved object storing embeddable state implementing saved object migration function](https://github.com/elastic/kibana/blob/master/examples/embeddable_examples/server/searchable_list_saved_object.ts)
[See an example saved object storing embeddable state implementing saved object migration function](https://github.com/elastic/kibana/blob/main/examples/embeddable_examples/server/searchable_list_saved_object.ts)
[See example embeddable providing migration functions](https://github.com/elastic/kibana/blob/master/examples/embeddable_examples/public/migrations/migrations_embeddable_factory.ts)
[See example embeddable providing migration functions](https://github.com/elastic/kibana/blob/main/examples/embeddable_examples/public/migrations/migrations_embeddable_factory.ts)
## Telemetry

View file

@ -17,7 +17,7 @@ The service allows plugins to:
- to implement custom authentication and authorization strategy.
<DocCallOut>
See [the server-side HTTP service API docs](https://github.com/elastic/kibana/blob/master/docs/development/core/server/kibana-plugin-core-server.httpservicesetup.md)
See [the server-side HTTP service API docs](https://github.com/elastic/kibana/blob/main/docs/development/core/server/kibana-plugin-core-server.httpservicesetup.md)
</DocCallOut>
**Registering a basic GET endpoint**
@ -55,7 +55,7 @@ export class MyPlugin implements Plugin {
```
<DocCallOut>
See [the routing example plugin](https://github.com/elastic/kibana/blob/master/examples/routing_example) for more route registration examples.
See [the routing example plugin](https://github.com/elastic/kibana/blob/main/examples/routing_example) for more route registration examples.
</DocCallOut>
## Consuming the endpoint from the client-side
@ -79,9 +79,9 @@ async function fetchData(http: HttpStart, id: string) {
```
<DocCallOut>
See [the client-side HTTP service API docs](https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.httpsetup.md)
See [the client-side HTTP service API docs](https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.httpsetup.md)
</DocCallOut>
<DocCallOut>
See [the routing example plugin](https://github.com/elastic/kibana/blob/master/examples/routing_example) for more endpoint consumption examples.
See [the routing example plugin](https://github.com/elastic/kibana/blob/main/examples/routing_example) for more endpoint consumption examples.
</DocCallOut>

View file

@ -57,7 +57,7 @@ const result = await executionContract.getData();
```
<DocCallOut>
Check the full spec of execute function [here](https://github.com/elastic/kibana/blob/master/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.md)
Check the full spec of execute function [here](https://github.com/elastic/kibana/blob/main/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.md)
</DocCallOut>
In addition, on the browser side, there are two additional ways to run expressions and render the results.
@ -71,7 +71,7 @@ This is the easiest way to get expressions rendered inside your application.
```
<DocCallOut>
Check the full spec of ReactExpressionRenderer component props [here](https://github.com/elastic/kibana/blob/master/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md)
Check the full spec of ReactExpressionRenderer component props [here](https://github.com/elastic/kibana/blob/main/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md)
</DocCallOut>
#### Expression loader
@ -83,7 +83,7 @@ const handler = loader(domElement, expression, params);
```
<DocCallOut>
Check the full spec of expression loader params [here](https://github.com/elastic/kibana/blob/master/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md)
Check the full spec of expression loader params [here](https://github.com/elastic/kibana/blob/main/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md)
</DocCallOut>
### Creating new expression functions
@ -106,7 +106,7 @@ expressions.registerFunction(functionDefinition);
```
<DocCallOut>
Check the full interface of ExpressionFuntionDefinition [here](https://github.com/elastic/kibana/blob/master/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md)
Check the full interface of ExpressionFuntionDefinition [here](https://github.com/elastic/kibana/blob/main/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md)
</DocCallOut>
### Creating new expression renderers
@ -128,5 +128,5 @@ expressions.registerRenderer(rendererDefinition);
```
<DocCallOut>
Check the full interface of ExpressionRendererDefinition [here](https://github.com/elastic/kibana/blob/master/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md)
Check the full interface of ExpressionRendererDefinition [here](https://github.com/elastic/kibana/blob/main/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md)
</DocCallOut>

View file

@ -124,7 +124,7 @@ Increases the consistency in messaging across all the solutions during the getti
This is a built-in configuration that displays a very specific UI and requires very specific keys. It will also ignore all other configurations of the template including `pageHeader` and `children`, with the exception of continuing to show `solutionNav`.
The `noDataConfig` is of type [`NoDataPagProps`](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_react/public/page_template/no_data_page/no_data_page.tsx):
The `noDataConfig` is of type [`NoDataPagProps`](https://github.com/elastic/kibana/blob/main/src/plugins/kibana_react/public/page_template/no_data_page/no_data_page.tsx):
1. `solution: string`: Single name for the current solution, used to auto-generate the title, logo, and description *(required)*
2. `docsLink: string`: Required to set the docs link for the whole solution *(required)*

View file

@ -217,9 +217,9 @@ Cons:
- brittle tests
###### Example
You can reuse existing [api_integration](https://github.com/elastic/kibana/blob/master/test/api_integration/config.js) setup by registering a test file within a
[test loader](https://github.com/elastic/kibana/blob/master/test/api_integration/apis/index.ts). More about the existing FTR setup in the
[contribution guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#running-specific-kibana-tests)
You can reuse existing [api_integration](https://github.com/elastic/kibana/blob/main/test/api_integration/config.js) setup by registering a test file within a
[test loader](https://github.com/elastic/kibana/blob/main/test/api_integration/apis/index.ts). More about the existing FTR setup in the
[contribution guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md#running-specific-kibana-tests)
The tests cover:
- authenticated / non-authenticated user access (when applicable)
@ -409,7 +409,7 @@ While applications do get an opportunity to unmount and run cleanup logic, it is
#### Example
By following the [renderApp](https://github.com/elastic/kibana/blob/master/src/core/CONVENTIONS.md#applications) convention, you can greatly reduce the amount of logic in your application's mount function. This makes testing your application's actual rendering logic easier.
By following the [renderApp](https://github.com/elastic/kibana/blob/main/src/core/CONVENTIONS.md#applications) convention, you can greatly reduce the amount of logic in your application's mount function. This makes testing your application's actual rendering logic easier.
```typescript jsx
/** public/plugin.ts */

View file

@ -81,7 +81,7 @@ Each day, a https://kibana-ci.elastic.co/job/elasticsearch+snapshots+trigger/[Je
https://kibana-ci.elastic.co/job/elasticsearch+snapshots+build/[This Jenkins job] builds the {es} snapshots and uploads them to GCS.
The Jenkins job pipeline definition is https://github.com/elastic/kibana/blob/master/.ci/es-snapshots/Jenkinsfile_build_es[in the {kib} repo].
The Jenkins job pipeline definition is https://github.com/elastic/kibana/blob/main/.ci/es-snapshots/Jenkinsfile_build_es[in the {kib} repo].
1. Checkout {es} repo for the given branch/version.
2. Run `./gradlew -p distribution/archives assemble --parallel` to create all of the {es} distributions.
@ -97,7 +97,7 @@ The Jenkins job pipeline definition is https://github.com/elastic/kibana/blob/ma
https://kibana-ci.elastic.co/job/elasticsearch+snapshots+verify/[This Jenkins job] tests the latest {es} snapshot with the full {kib} CI pipeline, and promotes if it there are no test failures.
The Jenkins job pipeline definition is https://github.com/elastic/kibana/blob/master/.ci/es-snapshots/Jenkinsfile_verify_es[in the {kib} repo].
The Jenkins job pipeline definition is https://github.com/elastic/kibana/blob/main/.ci/es-snapshots/Jenkinsfile_verify_es[in the {kib} repo].
1. Checkout {kib} and set up CI environment as normal.
2. Set the `ES_SNAPSHOT_MANIFEST` env var to point to the latest snapshot manifest.

View file

@ -157,7 +157,7 @@ const savedObject = resolveResult.saved_object;
TIP: See an example of this in https://github.com/elastic/kibana/pull/107256#user-content-example-steps[step 2 of the POC]!
The
https://github.com/elastic/kibana/blob/master/docs/development/core/server/kibana-plugin-core-server.savedobjectsresolveresponse.md[SavedObjectsResolveResponse
https://github.com/elastic/kibana/blob/main/docs/development/core/server/kibana-plugin-core-server.savedobjectsresolveresponse.md[SavedObjectsResolveResponse
interface] has three fields, summarized below:
* `saved_object` - The saved object that was found.

View file

@ -11,7 +11,7 @@ Each tutorial contains three sets of instructions:
[discrete]
=== Creating a new tutorial
1. Create a new directory in the link:https://github.com/elastic/kibana/tree/master/src/plugins/home/server/tutorials[tutorials directory].
1. Create a new directory in the link:https://github.com/elastic/kibana/tree/main/src/plugins/home/server/tutorials[tutorials directory].
2. In the new directory, create a file called `index.ts` that exports a function.
The function must return a function object that conforms to the `TutorialSchema` interface link:{kib-repo}tree/{branch}/src/plugins/home/server/services/tutorials/lib/tutorial_schema.ts[tutorial schema].
3. Register the tutorial in link:{kib-repo}tree/{branch}/src/plugins/home/server/tutorials/register.ts[register.ts] by adding it to the `builtInTutorials`.

View file

@ -15,7 +15,7 @@ Documentation about specific services a plugin offers should be encapsulated in:
=== End user documentation
Documentation about user facing features should be written in http://asciidoc.org/[asciidoc] at
{kib-repo}/tree/master/docs[https://github.com/elastic/kibana/tree/master/docs]
{kib-repo}/tree/master/docs[https://github.com/elastic/kibana/tree/main/docs]
To build the docs, you must clone the https://github.com/elastic/docs[elastic/docs]
repo as a sibling of your {kib} repo. Follow the instructions in that project's
@ -38,4 +38,4 @@ REST APIs should be documented using the following recommended formats:
=== General developer documentation and guidelines
General developer guildlines and documentation, like this right here, should be written in http://asciidoc.org/[asciidoc]
at {kib-repo}/tree/master/docs/developer[https://github.com/elastic/kibana/tree/master/docs/developer]
at {kib-repo}/tree/master/docs/developer[https://github.com/elastic/kibana/tree/main/docs/developer]

View file

@ -114,7 +114,7 @@ Use the `--help` flag for more options.
[discrete]
==== Environment
The tests are written in https://mochajs.org[mocha] using https://github.com/elastic/kibana/tree/master/packages/kbn-expect[@kbn/expect] for assertions.
The tests are written in https://mochajs.org[mocha] using https://github.com/elastic/kibana/tree/main/packages/kbn-expect[@kbn/expect] for assertions.
We use https://www.w3.org/TR/webdriver1/[WebDriver Protocol] to run tests in both Chrome and Firefox with the help of https://sites.google.com/a/chromium.org/chromedriver/[chromedriver] and https://firefox-source-docs.mozilla.org/testing/geckodriver/[geckodriver]. When the `FunctionalTestRunner` launches, remote service creates a new webdriver session, which starts the driver and a stripped-down browser instance. We use `browser` service and `webElementWrapper` class to wrap up https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/[Webdriver API].
@ -204,7 +204,7 @@ Tests should normally setRoles() in the before() and restoreDefaults() in the af
[discrete]
==== Anatomy of a test file
This annotated example file shows the basic structure every test suite uses. It starts by importing https://github.com/elastic/kibana/tree/master/packages/kbn-expect[`@kbn/expect`] and defining its default export: an anonymous Test Provider. The test provider then destructures the Provider API for the `getService()` and `getPageObjects()` functions. It uses these functions to collect the dependencies of this suite. The rest of the test file will look pretty normal to mocha.js users. `describe()`, `it()`, `before()` and the lot are used to define suites that happen to automate a browser via services and objects of type `PageObject`.
This annotated example file shows the basic structure every test suite uses. It starts by importing https://github.com/elastic/kibana/tree/main/packages/kbn-expect[`@kbn/expect`] and defining its default export: an anonymous Test Provider. The test provider then destructures the Provider API for the `getService()` and `getPageObjects()` functions. It uses these functions to collect the dependencies of this suite. The rest of the test file will look pretty normal to mocha.js users. `describe()`, `it()`, `before()` and the lot are used to define suites that happen to automate a browser via services and objects of type `PageObject`.
["source","js"]
----

View file

@ -83,6 +83,6 @@ to proceed in this mode.
=== Unit Testing Plugins
Even when using
https://github.com/elastic/kibana/tree/master/packages/kbn-plugin-generator[Kibana
https://github.com/elastic/kibana/tree/main/packages/kbn-plugin-generator[Kibana
plugin generator] we do not enforce a way for unit testing your plugin. Please setup and you use
the tools of your choice. If the plugin will live inside the Kibana repo `Jest` must be used.

View file

@ -43,8 +43,8 @@ image::images/test_results.png[Jenkisn build screenshot]
Looking at the failure, we first look at the Error and stack trace. In the example below, this test failed to find an element within the timeout;
`Error: retry.try timeout: TimeoutError: Waiting for element to be located By(css selector, [data-test-subj="createSpace"])`
We know the test file from the stack trace was on line 50 of `test/accessibility/apps/spaces.ts` (this test and the stack trace context is kibana/x-pack/ so the file is https://github.com/elastic/kibana/blob/master/x-pack/test/accessibility/apps/spaces.ts#L50).
The function to click on the element was called from a page object method in `test/functional/page_objects/space_selector_page.ts` https://github.com/elastic/kibana/blob/master/x-pack/test/functional/page_objects/space_selector_page.ts#L58
We know the test file from the stack trace was on line 50 of `test/accessibility/apps/spaces.ts` (this test and the stack trace context is kibana/x-pack/ so the file is https://github.com/elastic/kibana/blob/main/x-pack/test/accessibility/apps/spaces.ts#L50).
The function to click on the element was called from a page object method in `test/functional/page_objects/space_selector_page.ts` https://github.com/elastic/kibana/blob/main/x-pack/test/functional/page_objects/space_selector_page.ts#L58
[00:03:36] │ debg --- retry.try error: Waiting for element to be located By(css selector, [data-test-subj="createSpace"])

View file

@ -31,7 +31,7 @@ EditorConfig, which can be set up by installing a plugin in your editor
that dynamically updates its configuration. Take a look at the
http://editorconfig.org/#download[EditorConfig] site to find a plugin
for your editor, and browse our
https://github.com/elastic/kibana/blob/master/.editorconfig[`.editorconfig`]
https://github.com/elastic/kibana/blob/main/.editorconfig[`.editorconfig`]
file to see what config rules we set up.
[discrete]

View file

@ -587,7 +587,7 @@ Documentation: https://www.elastic.co/guide/en/kibana/master/task-manager-produc
|<<translations-plugin>>
|Contains Elastic-supported translations. Owned by the Localizations team.
For adding localizations and instrument a ui to support translated content, see https://github.com/elastic/kibana/tree/master/packages/kbn-i18n
For adding localizations and instrument a ui to support translated content, see https://github.com/elastic/kibana/tree/main/packages/kbn-i18n
|{kib-repo}blob/{branch}/x-pack/plugins/triggers_actions_ui/README.md[triggersActionsUi]

View file

@ -31,7 +31,7 @@ The saved object after the specified fields were incremented
When supplying a field name like `stats.api.counter` the field name will be used as-is to create a document like: `{attributes: {'stats.api.counter': 1}}` It will not create a nested structure like: `{attributes: {stats: {api: {counter: 1}}}}`
When using incrementCounter for collecting usage data, you need to ensure that usage collection happens on a best-effort basis and doesn't negatively affect your plugin or users. See https://github.com/elastic/kibana/blob/master/src/plugins/usage\_collection/README.mdx\#tracking-interactions-with-incrementcounter)
When using incrementCounter for collecting usage data, you need to ensure that usage collection happens on a best-effort basis and doesn't negatively affect your plugin or users. See https://github.com/elastic/kibana/blob/main/src/plugins/usage\_collection/README.mdx\#tracking-interactions-with-incrementcounter)
## Example

View file

@ -52,7 +52,7 @@ export class BfetchExplorerPlugin implements Plugin {
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/blob/master/src/plugins/bfetch/README.md',
href: 'https://github.com/elastic/kibana/blob/main/src/plugins/bfetch/README.md',
iconType: 'logoGithub',
size: 's',
target: '_blank',

View file

@ -14,7 +14,7 @@ services. Add your a link to your example using the developerExamples `register`
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/tree/master/src/plugins/foo/README.md',
href: 'https://github.com/elastic/kibana/tree/main/src/plugins/foo/README.md',
iconType: 'logoGithub',
target: '_blank',
size: 's',

View file

@ -63,7 +63,7 @@ export class EmbeddableExplorerPlugin implements Plugin<void, void, {}, StartDep
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/tree/master/src/plugins/embeddable/README.md',
href: 'https://github.com/elastic/kibana/tree/main/src/plugins/embeddable/README.md',
iconType: 'logoGithub',
target: '_blank',
size: 's',

View file

@ -46,7 +46,7 @@ const ExpressionsExplorer = ({ expressions, inspector, actions }: Props) => {
demonstrated. You can read more about it{' '}
<EuiLink
href={
'https://github.com/elastic/kibana/blob/master/src/plugins/expressions/README.asciidoc'
'https://github.com/elastic/kibana/blob/main/src/plugins/expressions/README.asciidoc'
}
>
here

View file

@ -72,7 +72,7 @@ export class ExpressionsExplorerPlugin implements Plugin<void, void, SetupDeps,
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/blob/master/src/plugins/expressions/README.md',
href: 'https://github.com/elastic/kibana/blob/main/src/plugins/expressions/README.md',
iconType: 'logoGithub',
size: 's',
target: '_blank',

View file

@ -40,7 +40,7 @@ export class IndexPatternFieldEditorPlugin implements Plugin<void, void, SetupDe
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/blob/master/src/plugins/index_pattern_field_editor/README.md',
href: 'https://github.com/elastic/kibana/blob/main/src/plugins/index_pattern_field_editor/README.md',
iconType: 'logoGithub',
size: 's',
target: '_blank',

View file

@ -47,7 +47,7 @@ export class LocatorExplorerPlugin implements Plugin<void, void, SetupDeps, Star
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/blob/master/src/plugins/share/common/url_service/locators/README.md',
href: 'https://github.com/elastic/kibana/blob/main/src/plugins/share/common/url_service/locators/README.md',
iconType: 'logoGithub',
size: 's',
target: '_blank',

View file

@ -47,21 +47,21 @@ function RoutingExplorer({
listItems={[
{
label: 'IRouter API docs',
href: 'https://github.com/elastic/kibana/blob/master/docs/development/core/server/kibana-plugin-core-server.irouter.md',
href: 'https://github.com/elastic/kibana/blob/main/docs/development/core/server/kibana-plugin-core-server.irouter.md',
iconType: 'logoGithub',
target: '_blank',
size: 's',
},
{
label: 'HttpHandler (core.http.fetch) API docs',
href: 'https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.httphandler.md',
href: 'https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.httphandler.md',
iconType: 'logoGithub',
target: '_blank',
size: 's',
},
{
label: 'Conventions',
href: 'https://github.com/elastic/kibana/tree/master/STYLEGUIDE.mdx#api-endpoints',
href: 'https://github.com/elastic/kibana/tree/main/STYLEGUIDE.mdx#api-endpoints',
iconType: 'logoGithub',
target: '_blank',
size: 's',

View file

@ -41,14 +41,14 @@ export class RoutingExamplePlugin implements Plugin<{}, {}, SetupDeps, {}> {
links: [
{
label: 'IRouter',
href: 'https://github.com/elastic/kibana/blob/master/docs/development/core/server/kibana-plugin-core-server.irouter.md',
href: 'https://github.com/elastic/kibana/blob/main/docs/development/core/server/kibana-plugin-core-server.irouter.md',
iconType: 'logoGithub',
target: '_blank',
size: 's',
},
{
label: 'HttpHandler (core.http.fetch)',
href: 'https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.httphandler.md',
href: 'https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.httphandler.md',
iconType: 'logoGithub',
target: '_blank',
size: 's',

View file

@ -6,4 +6,4 @@ A Kibana plugin
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -6,4 +6,4 @@
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -27,7 +27,7 @@ const LINKS: ExampleLink[] = [
title: 'Search Sessions',
},
{
path: 'https://github.com/elastic/kibana/blob/master/src/plugins/data/README.mdx',
path: 'https://github.com/elastic/kibana/blob/main/src/plugins/data/README.mdx',
title: 'README (GitHub)',
},
];

View file

@ -59,7 +59,7 @@ export class SearchExamplesPlugin
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/tree/master/src/plugins/data/README.mdx',
href: 'https://github.com/elastic/kibana/tree/main/src/plugins/data/README.mdx',
iconType: 'logoGithub',
target: '_blank',
size: 's',

View file

@ -88,14 +88,14 @@ export class StateContainersExamplesPlugin implements Plugin {
links: [
{
label: 'State containers README',
href: 'https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_containers',
href: 'https://github.com/elastic/kibana/tree/main/src/plugins/kibana_utils/docs/state_containers',
iconType: 'logoGithub',
size: 's',
target: '_blank',
},
{
label: 'State sync utils README',
href: 'https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_sync',
href: 'https://github.com/elastic/kibana/tree/main/src/plugins/kibana_utils/docs/state_sync',
iconType: 'logoGithub',
size: 's',
target: '_blank',

View file

@ -85,7 +85,7 @@ export class UiActionsExplorerPlugin implements Plugin<void, void, {}, StartDeps
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/blob/master/src/plugins/ui_actions/README.md',
href: 'https://github.com/elastic/kibana/blob/main/src/plugins/ui_actions/README.md',
iconType: 'logoGithub',
size: 's',
target: '_blank',

View file

@ -32,8 +32,8 @@ type RequestHandler = (
) => KibanaResponse | Promise<KibanaResponse>;
```
and accepts next Kibana specific parameters as arguments:
- context: [Context](https://github.com/elastic/kibana/blob/master/rfcs/text/0003_handler_interface.md#handler-context). A handler context contains core service and plugin functionality already scoped to the incoming request.
- request: [KibanaRequest](https://github.com/elastic/kibana/blob/master/src/core/server/http/router/request.ts). An immutable representation of the incoming request details, such as body, parameters, query, url and route information. Note: you **must** to specify route schema during route declaration to have access to `body, parameters, query` in the request object. You cannot extend KibanaRequest with arbitrary data nor remove any properties from it.
- context: [Context](https://github.com/elastic/kibana/blob/main/rfcs/text/0003_handler_interface.md#handler-context). A handler context contains core service and plugin functionality already scoped to the incoming request.
- request: [KibanaRequest](https://github.com/elastic/kibana/blob/main/src/core/server/http/router/request.ts). An immutable representation of the incoming request details, such as body, parameters, query, url and route information. Note: you **must** to specify route schema during route declaration to have access to `body, parameters, query` in the request object. You cannot extend KibanaRequest with arbitrary data nor remove any properties from it.
```typescript
interface KibanaRequest {
url: url.Url;
@ -51,7 +51,7 @@ interface KibanaRequest {
}
}
```
- t: [KibanaResponseToolkit](https://github.com/elastic/kibana/blob/master/src/core/server/http/router/response.ts#L27)
- t: [KibanaResponseToolkit](https://github.com/elastic/kibana/blob/main/src/core/server/http/router/response.ts#L27)
Provides a set of pre-configured methods to respond to an incoming request. It is expected that handler **always** returns a result of one of `KibanaResponseToolkit` methods as an output:
```typescript
interface KibanaResponseToolkit {

View file

@ -30,7 +30,7 @@ This means that we will basically need to rebuild the service anyway in order to
- Flexibility to potentially support alternate layouts in the future (see mockups in [reference section](#reference) below)
# Basic example
This API is influenced heavily by the [application service mounting RFC](https://github.com/elastic/kibana/blob/master/rfcs/text/0004_application_service_mounting.md). The intent is to make the experience consistent with that service; the Management section is basically one big app with a bunch of registered "subapps".
This API is influenced heavily by the [application service mounting RFC](https://github.com/elastic/kibana/blob/main/rfcs/text/0004_application_service_mounting.md). The intent is to make the experience consistent with that service; the Management section is basically one big app with a bunch of registered "subapps".
```ts
// my_plugin/public/plugin.ts

View file

@ -14,7 +14,7 @@ plugin APIs.
# Technology: ts-morph vs api-extractor
[Api-extractor](https://api-extractor.com/) is a utility built from microsoft that parses typescript code into json files that can then be used in a custom [api-documenter](https://api-extractor.com/pages/setup/generating_docs/) in order to build documentation. This is what we [have now](https://github.com/elastic/kibana/tree/master/docs/development), except we use the default api-documenter.
[Api-extractor](https://api-extractor.com/) is a utility built from microsoft that parses typescript code into json files that can then be used in a custom [api-documenter](https://api-extractor.com/pages/setup/generating_docs/) in order to build documentation. This is what we [have now](https://github.com/elastic/kibana/tree/main/docs/development), except we use the default api-documenter.
## Limitations with the current implementation using api-extractor & api-documenter

View file

@ -32,7 +32,7 @@ Yarn Package Manager handles the installation of NPM dependencies, and the migra
### Building packages
The building of [packages](https://github.com/elastic/kibana/tree/master/packages) happens during the bootstrap process initiated by running `yarn kbn bootstrap` and without any cache takes about a minute. Currently, we maintain a single cache item per package, so drastic changes like switching branches frequently results in the worst-case scenario of no-cache being usable.
The building of [packages](https://github.com/elastic/kibana/tree/main/packages) happens during the bootstrap process initiated by running `yarn kbn bootstrap` and without any cache takes about a minute. Currently, we maintain a single cache item per package, so drastic changes like switching branches frequently results in the worst-case scenario of no-cache being usable.
### Building TypeScript project references
@ -40,7 +40,7 @@ The size of the project and the amount of TypeScript has created scaling issues,
### Building client-side plugins
The [@kbn/optimizer](https://github.com/elastic/kibana/tree/master/packages/kbn-optimizer) package is responsible for building client-side plugins and is initiated during `yarn start`. Without any cache, it takes between three and four minutes, but is highly dependent on the amount of CPU cores available. The caching works similar to packages and requires a rebuild if any files change. Under the hood, this package is managing a set number of workers to run individual Webpack instances. When we first introduced Webpack back in [June of 2015](https://github.com/elastic/kibana/pull/4335), it was responsible for bundling all client-side code within a single process. As the Kibana project continued to grow over time, this Webpack process continued to impact the developer experience. A common theme to address these issues was through reducing the responsibilities of Webpack by separating [SCSS](https://github.com/elastic/kibana/pull/19643) and [vendor code](https://github.com/elastic/kibana/pull/22618). Knowing we would need to continue to scale, one of the new platforms core objectives was to be able to build each plugin independently. This work paved the way for what we are proposing here and led to the [creation of @kbn/optimizer](https://github.com/elastic/kibana/pull/53976), which improved performance by separating and parallelizing Webpack builds.
The [@kbn/optimizer](https://github.com/elastic/kibana/tree/main/packages/kbn-optimizer) package is responsible for building client-side plugins and is initiated during `yarn start`. Without any cache, it takes between three and four minutes, but is highly dependent on the amount of CPU cores available. The caching works similar to packages and requires a rebuild if any files change. Under the hood, this package is managing a set number of workers to run individual Webpack instances. When we first introduced Webpack back in [June of 2015](https://github.com/elastic/kibana/pull/4335), it was responsible for bundling all client-side code within a single process. As the Kibana project continued to grow over time, this Webpack process continued to impact the developer experience. A common theme to address these issues was through reducing the responsibilities of Webpack by separating [SCSS](https://github.com/elastic/kibana/pull/19643) and [vendor code](https://github.com/elastic/kibana/pull/22618). Knowing we would need to continue to scale, one of the new platforms core objectives was to be able to build each plugin independently. This work paved the way for what we are proposing here and led to the [creation of @kbn/optimizer](https://github.com/elastic/kibana/pull/53976), which improved performance by separating and parallelizing Webpack builds.
### Compiling server-side code
@ -76,7 +76,7 @@ A Bazel [macro](https://docs.bazel.build/versions/master/skylark/macros.html) wi
A Bazel [macro](https://docs.bazel.build/versions/master/skylark/macros.html) will be created to centralize the usage of Webpack. The macro will, at minimum, accept a configuration file and supply a base `webpack.config.js` file. Currently, all plugins share the same Webpack configuration. Allowing a plugin to provide additional configuration will allow plugins the ability to add loaders without affecting the performance of others.
While running Kibana from source in development, the proxy server will ensure that client-side code for plugins is compiled and available. This is currently handled by the [basePathProxy](https://github.com/elastic/kibana/blob/master/src/core/server/http/base_path_proxy_server.ts), where server restarts and optimizer builds are observed and cause the proxy to pause requests. With Bazel, we will utilize [iBazel](https://github.com/bazelbuild/bazel-watche) to watch for file changes and re-build the plugin targets when necessary. The watcher will emit [events](https://github.com/bazelbuild/bazel-watcher#remote-events) that we will use to block requests and provide feedback to the logs.
While running Kibana from source in development, the proxy server will ensure that client-side code for plugins is compiled and available. This is currently handled by the [basePathProxy](https://github.com/elastic/kibana/blob/main/src/core/server/http/base_path_proxy_server.ts), where server restarts and optimizer builds are observed and cause the proxy to pause requests. With Bazel, we will utilize [iBazel](https://github.com/bazelbuild/bazel-watche) to watch for file changes and re-build the plugin targets when necessary. The watcher will emit [events](https://github.com/bazelbuild/bazel-watcher#remote-events) that we will use to block requests and provide feedback to the logs.
While there are a few proofs of concepts for a Webpack 5 Bazel rule, none currently exist which are deemed production-ready. In the meantime, we can use the Webpack CLI directly. One of the main advantages being explored in these rules will be the support for using the Bazel worker to provide incremental builds similar to what `@kbn/optimizer` is doing today.
@ -85,7 +85,7 @@ We are aware there are quite a few alternatives to Webpack, but our plan is to c
### Unit Testing
A Bazel macro will be created to centralize the usage of Jest unit testing. The macro will, at minimum, accept a Jest configuration file, add the [Jest preset](https://github.com/elastic/kibana/blob/master/packages/kbn-test/jest-preset.js) and its dependencies as sources, then use the Jest CLI to execute tests.
A Bazel macro will be created to centralize the usage of Jest unit testing. The macro will, at minimum, accept a Jest configuration file, add the [Jest preset](https://github.com/elastic/kibana/blob/main/packages/kbn-test/jest-preset.js) and its dependencies as sources, then use the Jest CLI to execute tests.
Developers currently use `yarn test:jest` to efficiently run tests in a given directory without remembering the command or path. This command will continue to work as it does today, but will begin running tests through Bazel for packages or plugins which have been migrated.

View file

@ -14,7 +14,7 @@
"author": "Spencer Alger <email@spalger.com>",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/elastic/kibana/tree/master/packages/elastic-eslint-config-kibana"
"url": "https://github.com/elastic/kibana/tree/main/packages/elastic-eslint-config-kibana"
},
"homepage": "https://github.com/elastic/kibana/tree/master/packages/elastic-eslint-config-kibana"
"homepage": "https://github.com/elastic/kibana/tree/main/packages/elastic-eslint-config-kibana"
}

View file

@ -12,7 +12,7 @@ individuals. For exact contribution history, see the revision history
available at the following locations:
- https://github.com/lodash/lodash
- https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash
- https://github.com/elastic/kibana/tree/master/packages/elastic-safer-lodash-set
- https://github.com/elastic/kibana/tree/main/packages/elastic-safer-lodash-set
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the

View file

@ -28,7 +28,7 @@
"bugs": {
"url": "https://github.com/elastic/kibana/issues"
},
"homepage": "https://github.com/elastic/kibana/tree/master/packages/safer-lodash-set#readme",
"homepage": "https://github.com/elastic/kibana/tree/main/packages/safer-lodash-set#readme",
"standard": {
"ignore": [
"/lodash/"

View file

@ -7,6 +7,6 @@
"license": "SSPL-1.0 OR Elastic License 2.0",
"repository": {
"type": "git",
"url": "https://github.com/elastic/kibana/tree/master/packages/kbn-babel-code-parser"
"url": "https://github.com/elastic/kibana/tree/main/packages/kbn-babel-code-parser"
}
}

View file

@ -145,7 +145,7 @@ export function runBuildApiDocsCli() {
]);
const getLink = (d: ApiDeclaration) =>
`https://github.com/elastic/kibana/tree/master/${d.path}#:~:text=${encodeURIComponent(
`https://github.com/elastic/kibana/tree/main/${d.path}#:~:text=${encodeURIComponent(
d.label
)}`;

View file

@ -52,7 +52,7 @@ export function writeDeprecationDocByPlugin(
(ref) =>
`[${ref.path.substr(
ref.path.lastIndexOf(Path.sep) + 1
)}](https://github.com/elastic/kibana/tree/master/${
)}](https://github.com/elastic/kibana/tree/main/${
ref.path
}#:~:text=${encodeURIComponent(api.label)})`
)

View file

@ -10,6 +10,6 @@
},
"repository": {
"type": "git",
"url": "https://github.com/elastic/kibana/tree/master/packages/kbn-eslint-import-resolver-kibana"
"url": "https://github.com/elastic/kibana/tree/main/packages/kbn-eslint-import-resolver-kibana"
}
}

View file

@ -6,7 +6,7 @@ A Kibana plugin
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.
<% if (thirdPartyPlugin) { %>
## Scripts

View file

@ -31,6 +31,6 @@ yarn spec_to_console -g "<ELASTICSEARCH-REPO-FOLDER>/rest-api-spec/src/main/reso
* Ad hoc additions
### Updating the script
When converting query params defined in the REST API specs to console autocompletion definitions, the script relies on a set of known conversion rules specified in [lib/convert/params.js](https://github.com/elastic/kibana/blob/master/packages/kbn-spec-to-console/lib/convert/params.js).
When converting query params defined in the REST API specs to console autocompletion definitions, the script relies on a set of known conversion rules specified in [lib/convert/params.js](https://github.com/elastic/kibana/blob/main/packages/kbn-spec-to-console/lib/convert/params.js).
For example, `"keep_on_completion":{"type":"boolean"}` from REST API specs is converted to `"keep_on_completion": "__flag__"` in console autocomplete definitions.
When an unknown parameter type is encountered in REST API specs, the script will throw an `Unexpected type error` and the file [lib/convert/params.js](https://github.com/elastic/kibana/blob/master/packages/kbn-spec-to-console/lib/convert/params.js) needs to be updated by adding a new conversion rule.
When an unknown parameter type is encountered in REST API specs, the script will throw an `Unexpected type error` and the file [lib/convert/params.js](https://github.com/elastic/kibana/blob/main/packages/kbn-spec-to-console/lib/convert/params.js) needs to be updated by adding a new conversion rule.

View file

@ -16,7 +16,7 @@ addons.setConfig({
theme: create({
base: 'light',
brandTitle: 'Kibana Storybook',
brandUrl: 'https://github.com/elastic/kibana/tree/master/packages/kbn-storybook',
brandUrl: 'https://github.com/elastic/kibana/tree/main/packages/kbn-storybook',
}),
showPanel: false,
isFullscreen: false,

View file

@ -90,7 +90,7 @@ able to successfully complete the migration once the cluster has enough heap.
For more background information on the problem see the [saved object
migrations
RFC](https://github.com/elastic/kibana/blob/master/rfcs/text/0013_saved_object_migrations.md).
RFC](https://github.com/elastic/kibana/blob/main/rfcs/text/0013_saved_object_migrations.md).
# Algorithm steps
The design goals for the algorithm was to keep downtime below 10 minutes for

View file

@ -1646,7 +1646,7 @@ export class SavedObjectsRepository {
*
* When using incrementCounter for collecting usage data, you need to ensure
* that usage collection happens on a best-effort basis and doesn't
* negatively affect your plugin or users. See https://github.com/elastic/kibana/blob/master/src/plugins/usage_collection/README.mdx#tracking-interactions-with-incrementcounter)
* negatively affect your plugin or users. See https://github.com/elastic/kibana/blob/main/src/plugins/usage_collection/README.mdx#tracking-interactions-with-incrementcounter)
*
* @example
* ```ts

View file

@ -3,7 +3,7 @@
Team assignment occurs once per ci run.
The "orchestration" entry point is a [Jenkinsfile Scripted Pipeline](https://github.com/elastic/kibana/blob/f73bc48b3bbbb5ad2042c1aa267aea2150b7b742/.ci/Jenkinsfile_coverage#L21)
This Jenkinsfile runs a [shell script](https://github.com/elastic/kibana/blob/master/src/dev/code_coverage/shell_scripts/generate_team_assignments_and_ingest_coverage.sh#L33) that kicks everything off.
This Jenkinsfile runs a [shell script](https://github.com/elastic/kibana/blob/main/src/dev/code_coverage/shell_scripts/generate_team_assignments_and_ingest_coverage.sh#L33) that kicks everything off.
The end result is the data is ingested to our [Kibana Stats Cluster](https://kibana-stats.elastic.dev/app/dashboards#/view/58b8db70-62f9-11ea-8312-7f2d69b79843?_g=(filters%3A!()%2CrefreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-7d%2Cto%3Anow)))
## Team Assignment Parsing (from .github/CODEOWNERS)

View file

@ -6,4 +6,4 @@ Expression MetricVis plugin adds a `metric` renderer and function to the express
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -6,4 +6,4 @@ Expression Tagcloud plugin adds a `tagcloud` renderer and function to the expres
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -18,17 +18,17 @@ GET _search
```
## Architecture
Console uses Ace editor that is wrapped with [`CoreEditor`](https://github.com/elastic/kibana/blob/master/src/plugins/console/public/types/core_editor.ts), so that if needed it can easily be replaced with another editor, for example Monaco.
The autocomplete logic is located in [`autocomplete`](https://github.com/elastic/kibana/blob/master/src/plugins/console/public/lib/autocomplete) folder. Autocomplete rules are computed by classes in `components` sub-folder.
Console uses Ace editor that is wrapped with [`CoreEditor`](https://github.com/elastic/kibana/blob/main/src/plugins/console/public/types/core_editor.ts), so that if needed it can easily be replaced with another editor, for example Monaco.
The autocomplete logic is located in [`autocomplete`](https://github.com/elastic/kibana/blob/main/src/plugins/console/public/lib/autocomplete) folder. Autocomplete rules are computed by classes in `components` sub-folder.
## Autocomplete definitions
Kibana users benefit greatly from autocomplete suggestions since not all Elasticsearch APIs can be provided with a corresponding UI. Autocomplete suggestions improve usability of Console for any Elasticsearch API endpoint.
Autocomplete definitions are all created in the form of javascript objects loaded from `json` and `js` files.
### Creating definitions
The [`generated`](https://github.com/elastic/kibana/blob/master/src/plugins/console/server/lib/spec_definitions/json/generated) folder contains definitions created automatically from Elasticsearch REST API specifications. See this [README](https://github.com/elastic/kibana/blob/master/packages/kbn-spec-to-console/README.md) file for more information on the `spec-to-console` script.
The [`generated`](https://github.com/elastic/kibana/blob/main/src/plugins/console/server/lib/spec_definitions/json/generated) folder contains definitions created automatically from Elasticsearch REST API specifications. See this [README](https://github.com/elastic/kibana/blob/main/packages/kbn-spec-to-console/README.md) file for more information on the `spec-to-console` script.
Manually created override files in the [`overrides`](https://github.com/elastic/kibana/blob/master/src/plugins/console/server/lib/spec_definitions/json/overrides) folder contain fixes for generated files and additions for request body parameters.
Manually created override files in the [`overrides`](https://github.com/elastic/kibana/blob/main/src/plugins/console/server/lib/spec_definitions/json/overrides) folder contain fixes for generated files and additions for request body parameters.
### Top level keys
Use following top level keys in the definitions objects.
@ -214,7 +214,7 @@ Use this type to copy a configuration object specified in a different endpoint d
}
```
#### Global scope (`GLOBAL`)
Use `GLOBAL` keyword with `__scope_link` to refer to a reusable set of definitions created in the [`globals`](https://github.com/elastic/kibana/blob/master/src/plugins/console/server/lib/spec_definitions/js/globals.ts) file.
Use `GLOBAL` keyword with `__scope_link` to refer to a reusable set of definitions created in the [`globals`](https://github.com/elastic/kibana/blob/main/src/plugins/console/server/lib/spec_definitions/js/globals.ts) file.
For example:
```json
{
@ -226,11 +226,11 @@ For example:
}
```
#### Conditional definition (`__condition: { lines_regex: ... }`)
To provide a different set of autocomplete suggestions based on the value configured in the request. For example, when creating a snapshot repository of different types (`fs`, `url` etc) different properties are displayed in the suggestions list based on the type. See [snapshot.create_repository.json](https://github.com/elastic/kibana/blob/master/src/plugins/console/server/lib/spec_definitions/json/overrides/snapshot.create_repository.json) for an example.
To provide a different set of autocomplete suggestions based on the value configured in the request. For example, when creating a snapshot repository of different types (`fs`, `url` etc) different properties are displayed in the suggestions list based on the type. See [snapshot.create_repository.json](https://github.com/elastic/kibana/blob/main/src/plugins/console/server/lib/spec_definitions/json/overrides/snapshot.create_repository.json) for an example.
### Variables
Some autocomplete definitions need to be configured with dynamic values that can't be hard coded into a json or js file, for example a list of indices in the cluster.
A list of variables is defined in the `parametrizedComponentFactories` function in [`kb.js`](https://github.com/elastic/kibana/blob/master/src/plugins/console/public/lib/kb/kb.js) file. The values of these variables are assigned dynamically for every cluster.
A list of variables is defined in the `parametrizedComponentFactories` function in [`kb.js`](https://github.com/elastic/kibana/blob/main/src/plugins/console/public/lib/kb/kb.js) file. The values of these variables are assigned dynamically for every cluster.
Use these variables with curly braces, for example `{indices}`, `{types}`, `{id}`, `{username}`, `{template}`, `{nodes}` etc.

View file

@ -6,4 +6,4 @@ Register add-data cards
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -14,7 +14,7 @@ addons.setConfig({
theme: create({
base: 'light',
brandTitle: 'Kibana Custom Integrations Storybook',
brandUrl: 'https://github.com/elastic/kibana/tree/master/src/plugins/custom_integrations',
brandUrl: 'https://github.com/elastic/kibana/tree/main/src/plugins/custom_integrations',
}),
showPanel: true.valueOf,
selectedPanel: PANEL_ID,

View file

@ -9,7 +9,7 @@ Containers are a special type of embeddable that can contain nested embeddables.
=== Examples
Multiple embeddable examples are implemented and registered https://github.com/elastic/kibana/tree/master/examples/embeddable_examples[here]. They can be played around with and explored https://github.com/elastic/kibana/tree/master/examples/embeddable_explorer[in the Embeddable Explorer example plugin]. Just run kibana with
Multiple embeddable examples are implemented and registered https://github.com/elastic/kibana/tree/main/examples/embeddable_examples[here]. They can be played around with and explored https://github.com/elastic/kibana/tree/main/examples/embeddable_explorer[in the Embeddable Explorer example plugin]. Just run kibana with
[source,sh]
--
@ -18,20 +18,20 @@ yarn start --run-examples
and navigate to the Embeddable explorer app.
There is also an example of rendering dashboard container outside of dashboard app https://github.com/elastic/kibana/tree/master/examples/dashboard_embeddable_examples[here].
There is also an example of rendering dashboard container outside of dashboard app https://github.com/elastic/kibana/tree/main/examples/dashboard_embeddable_examples[here].
=== Docs
link:https://github.com/elastic/kibana/blob/master/src/plugins/embeddable/docs/README.md[Embeddable docs, guides & caveats]
link:https://github.com/elastic/kibana/blob/main/src/plugins/embeddable/docs/README.md[Embeddable docs, guides & caveats]
=== API docs
==== Browser API
https://github.com/elastic/kibana/blob/master/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.md[Browser Setup contract]
https://github.com/elastic/kibana/blob/master/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.md[Browser Start contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.md[Browser Setup contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.md[Browser Start contract]
==== Server API
https://github.com/elastic/kibana/blob/master/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.md[Server Setup contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.md[Server Setup contract]
=== Testing

View file

@ -6,4 +6,4 @@ Expression Error plugin adds an `error` renderer to the expression plugin. The r
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -6,4 +6,4 @@ Expression Image plugin adds an `image` renderer to the expression plugin. The r
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -6,4 +6,4 @@ Expression Metric plugin adds a `metric` renderer and function to the expression
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -6,4 +6,4 @@ Expression Repeat Image plugin adds a `repeatImage` function to the expression p
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -6,4 +6,4 @@ Expression Reveal Image plugin adds a `revealImage` function to the expression p
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -6,4 +6,4 @@ Expression Shape plugin adds a `shape` function to the expression plugin and an
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -43,12 +43,12 @@ image::https://user-images.githubusercontent.com/9773803/74162514-3250a880-4c21-
=== API documentation
==== Server API
https://github.com/elastic/kibana/blob/master/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserversetup.md[Server Setup contract]
https://github.com/elastic/kibana/blob/master/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverstart.md[Server Start contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserversetup.md[Server Setup contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverstart.md[Server Start contract]
==== Browser API
https://github.com/elastic/kibana/blob/master/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicesetup.md[Browser Setup contract]
https://github.com/elastic/kibana/blob/master/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.md[Browser Start contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicesetup.md[Browser Setup contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.md[Browser Start contract]
==== Other documentation

View file

@ -6,4 +6,4 @@
## Development
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions setting up your development environment.
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for instructions setting up your development environment.

View file

@ -1,2 +1,2 @@
* [docs](../../docs/state_containers)
* [api reference](https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_containers)
* [api reference](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_utils/docs/state_containers)

View file

@ -63,7 +63,7 @@ export const useContainerSelector = <Container extends StateContainer<any, any>,
/**
* Creates helpers for using {@link StateContainer | State Containers} with react
* Refer to {@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_containers/react.md | guide} for details
* Refer to {@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_containers/react.md | guide} for details
* @public
*/
export const createStateContainerReactHelpers = <Container extends StateContainer<any, any>>() => {

View file

@ -8,7 +8,7 @@
/**
* State containers are Redux-store-like objects meant to help you manage state in your services or apps.
* Refer to {@link https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_containers | guides and examples} for more info
* Refer to {@link https://github.com/elastic/kibana/tree/main/src/plugins/kibana_utils/docs/state_containers | guides and examples} for more info
*
* @packageDocumentation
*/

View file

@ -1,3 +1,3 @@
- [docs](../../docs/state_sync)
- [demo plugins](../../../../../examples/state_containers_examples): run Kibana with `--run-examples` flag.
- [api reference](https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_sync)
- [api reference](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_utils/docs/state_sync)

View file

@ -10,7 +10,7 @@
* State syncing utilities are a set of helpers for syncing your application state
* with browser URL or browser storage.
*
* They are designed to work together with {@link https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_containers | state containers}. But state containers are not required.
* They are designed to work together with {@link https://github.com/elastic/kibana/tree/main/src/plugins/kibana_utils/docs/state_containers | state containers}. But state containers are not required.
*
* State syncing utilities include:
*
@ -22,7 +22,7 @@
* Listens for state updates in the URL and pushes them back to state.
* * {@link ISessionStorageStateStorage} - Serializes state and persists it to browser storage.
*
* Refer {@link https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_sync | here} for a complete guide and examples.
* Refer {@link https://github.com/elastic/kibana/tree/main/src/plugins/kibana_utils/docs/state_sync | here} for a complete guide and examples.
* @packageDocumentation
*/

View file

@ -42,7 +42,7 @@ export interface ISyncStateRef<StateStorage extends IStateStorage = IStateStorag
* Utility for syncing application state wrapped in state container
* with some kind of storage (e.g. URL)
*
* Go {@link https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_sync | here} for a complete guide and examples.
* Go {@link https://github.com/elastic/kibana/tree/main/src/plugins/kibana_utils/docs/state_sync | here} for a complete guide and examples.
*
* @example
*

View file

@ -27,7 +27,7 @@ import {
* 3. Takes care of listening to the URL updates and notifies state about the updates.
* 4. Takes care of batching URL updates to prevent redundant browser history records.
*
* {@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/kbn_url_storage.md | Refer to this guide for more info}
* {@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_sync/storages/kbn_url_storage.md | Refer to this guide for more info}
* @public
*/
export interface IKbnUrlStateStorage extends IStateStorage {

View file

@ -10,7 +10,7 @@ import { IStateStorage } from './types';
/**
* {@link IStateStorage} for storing state in browser {@link Storage}
* {@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md | guide}
* {@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md | guide}
* @public
*/
export interface ISessionStorageStateStorage extends IStateStorage {
@ -20,7 +20,7 @@ export interface ISessionStorageStateStorage extends IStateStorage {
/**
* Creates {@link ISessionStorageStateStorage}
* {@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md | guide}
* {@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md | guide}
* @param storage - Option {@link Storage} to use for storing state. By default window.sessionStorage.
* @returns - {@link ISessionStorageStateStorage}
* @public

View file

@ -14,7 +14,7 @@ addons.setConfig({
theme: create({
base: 'light',
brandTitle: 'Kibana Presentation Utility Storybook',
brandUrl: 'https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util',
brandUrl: 'https://github.com/elastic/kibana/tree/main/src/plugins/presentation_util',
}),
showPanel: true.valueOf,
selectedPanel: PANEL_ID,

View file

@ -69,15 +69,15 @@ action to execute.
=== Examples
https://github.com/elastic/kibana/blob/master/examples/ui_action_examples/README.md[ui_action examples]
https://github.com/elastic/kibana/blob/main/examples/ui_action_examples/README.md[ui_action examples]
=== API Docs
==== Server API
https://github.com/elastic/kibana/blob/master/docs/development/plugins/ui_actions/server/kibana-plugin-plugins-ui_actions-server.uiactionssetup.md[Browser Setup contract]
https://github.com/elastic/kibana/blob/master/docs/development/plugins/ui_actions/server/kibana-plugin-plugins-ui_actions-server.uiactionsstart.md[Browser Start contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/ui_actions/server/kibana-plugin-plugins-ui_actions-server.uiactionssetup.md[Browser Setup contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/ui_actions/server/kibana-plugin-plugins-ui_actions-server.uiactionsstart.md[Browser Start contract]
==== Browser API
https://github.com/elastic/kibana/blob/master/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionssetup.md[Browser Setup contract]
https://github.com/elastic/kibana/blob/master/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsstart.md[Browser Start contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionssetup.md[Browser Setup contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsstart.md[Browser Start contract]

View file

@ -115,7 +115,7 @@ export function MathAgg(props) {
values={{
link: (
<EuiLink
href="https://github.com/elastic/kibana/blob/master/packages/kbn-tinymath/docs/functions.md"
href="https://github.com/elastic/kibana/blob/main/packages/kbn-tinymath/docs/functions.md"
target="_blank"
>
<FormattedMessage

View file

@ -67,7 +67,7 @@ export class AlertingExamplePlugin implements Plugin<Setup, Start, AlertingExamp
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting',
href: 'https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting',
iconType: 'logoGithub',
size: 's',
target: '_blank',

View file

@ -39,7 +39,7 @@ export class EmbeddedLensExamplePlugin
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/tree/master/x-pack/examples/embedded_lens_example',
href: 'https://github.com/elastic/kibana/tree/main/x-pack/examples/embedded_lens_example',
iconType: 'logoGithub',
size: 's',
target: '_blank',

View file

@ -141,7 +141,7 @@ export class UiActionsEnhancedExamplesPlugin
links: [
{
label: 'README',
href: 'https://github.com/elastic/kibana/tree/master/x-pack/examples/ui_actions_enhanced_examples#ui-actions-enhanced-examples',
href: 'https://github.com/elastic/kibana/tree/main/x-pack/examples/ui_actions_enhanced_examples#ui-actions-enhanced-examples',
iconType: 'logoGithub',
size: 's',
target: '_blank',

View file

@ -14,7 +14,7 @@ import { maxSuggestions } from '../../observability/common';
import { SearchAggregatedTransactionSetting } from '../common/aggregated_transactions';
import { APMPlugin } from './plugin';
// All options should be documented in the APM configuration settings: https://github.com/elastic/kibana/blob/master/docs/settings/apm-settings.asciidoc
// All options should be documented in the APM configuration settings: https://github.com/elastic/kibana/blob/main/docs/settings/apm-settings.asciidoc
// and be included on cloud allow list unless there are specific reasons not to
const configSchema = schema.object({
serviceMapEnabled: schema.boolean({ defaultValue: true }),

View file

@ -222,7 +222,7 @@ Now, let's try out our new server function.
You should now see one random number and one "Server Time in ms" value.
> More information about building Kibana Plugins can be found in [src/core](https://github.com/elastic/kibana/blob/master/src/core/README.md)
> More information about building Kibana Plugins can be found in [src/core](https://github.com/elastic/kibana/blob/main/src/core/README.md)
### My Canvas Plugin stopped working

View file

@ -1,6 +1,6 @@
# Canvas and Internationalization (i18n)
Creating i18n strings in Kibana requires use of the [`@kbn/i18n`](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/GUIDELINE.md) library. The following outlines the strategy for localizing strings in Canvas
Creating i18n strings in Kibana requires use of the [`@kbn/i18n`](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/GUIDELINE.md) library. The following outlines the strategy for localizing strings in Canvas
## Why i18n Dictionaries

View file

@ -42,7 +42,7 @@ export const notifyServiceFactory: CanvasNotifyServiceFactory = ({ coreStart })
return {
/*
* @param {(string | Object)} err: message or Error object
* @param {Object} opts: option to override toast title or icon, see https://github.com/elastic/kibana/blob/master/src/legacy/ui/public/notify/toasts/TOAST_NOTIFICATIONS.md
* @param {Object} opts: option to override toast title or icon, see https://github.com/elastic/kibana/blob/main/src/legacy/ui/public/notify/toasts/TOAST_NOTIFICATIONS.md
*/
error(err, opts) {
toasts.addDanger(getToast(err, opts));

View file

@ -39,7 +39,7 @@ addons.setConfig({
theme: create({
base: 'light',
brandTitle: 'Canvas Storybook',
brandUrl: 'https://github.com/elastic/kibana/tree/master/x-pack/plugins/canvas',
brandUrl: 'https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas',
}),
showPanel: true,
isFullscreen: false,

View file

@ -167,7 +167,7 @@ UI component:
_***Feature in development, disabled by default**_
See [Kibana Actions](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions) for more information.
See [Kibana Actions](https://github.com/elastic/kibana/tree/main/x-pack/plugins/actions) for more information.
ID: `.case`

View file

@ -96,7 +96,7 @@ export const renderApp = (
* Render function for Kibana's header action menu chrome -
* reusable by any Enterprise Search plugin simply by passing in
* a custom HeaderActions component (e.g., WorkplaceSearchHeaderActions)
* @see https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.appmountparameters.setheaderactionmenu.md
* @see https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.appmountparameters.setheaderactionmenu.md
*/
export const renderHeaderActions = (

View file

@ -13,7 +13,7 @@ import {
/**
* Generate a document title that generally follows our breadcrumb trails
* https://github.com/elastic/kibana/blob/master/docs/development/core/public/kibana-plugin-core-public.chromedoctitle.md
* https://github.com/elastic/kibana/blob/main/docs/development/core/public/kibana-plugin-core-public.chromedoctitle.md
*/
type Title = string[];

View file

@ -22,7 +22,7 @@ import { enterpriseSearchTitle, appSearchTitle, workplaceSearchTitle } from './g
/**
* Helpers for setting Kibana chrome (breadcrumbs, doc titles) on React view mount
* @see https://github.com/elastic/kibana/blob/master/src/core/public/chrome/chrome_service.tsx
* @see https://github.com/elastic/kibana/blob/main/src/core/public/chrome/chrome_service.tsx
*
* Example usage (don't forget to i18n.translate() page titles!):
*

View file

@ -79,7 +79,7 @@ describe('EnterpriseSearchPageTemplate', () => {
expect(wrapper.find('.emptyState').exists()).toBe(true);
expect(wrapper.find('.test').exists()).toBe(false);
// @see https://github.com/elastic/kibana/blob/master/dev_docs/tutorials/kibana_page_template.mdx#isemptystate
// @see https://github.com/elastic/kibana/blob/main/dev_docs/tutorials/kibana_page_template.mdx#isemptystate
// if you want to use KibanaPageTemplate's `isEmptyState` without a custom emptyState
});

View file

@ -32,7 +32,7 @@ import './page_template.scss';
* WorkplaceSearchPageTemplate sitting on top of this template (:nesting_dolls:),
* which in turn manages individual product-specific concerns (e.g. side navs, telemetry, etc.)
*
* @see https://github.com/elastic/kibana/tree/master/src/plugins/kibana_react/public/page_template
* @see https://github.com/elastic/kibana/tree/main/src/plugins/kibana_react/public/page_template
* @see https://elastic.github.io/eui/#/layout/page
*/

View file

@ -17,7 +17,7 @@ import { LOGS_SOURCE_ID } from '../../../../common/constants';
* default for timestamps. All other props get passed as-is to the underlying LogStream.
*
* Documentation links for reference:
* - https://github.com/elastic/kibana/blob/master/x-pack/plugins/infra/public/components/log_stream/log_stream.stories.mdx
* - https://github.com/elastic/kibana/blob/main/x-pack/plugins/infra/public/components/log_stream/log_stream.stories.mdx
* - Run `yarn storybook infra` for live docs
*/

View file

@ -59,7 +59,7 @@ class EnterpriseSearchHttpAgent {
/*
* Convert verificationMode to rejectUnauthorized for more consistent config settings
* with the rest of Kibana
* @see https://github.com/elastic/kibana/blob/master/x-pack/plugins/actions/server/builtin_action_types/lib/get_node_tls_options.ts
* @see https://github.com/elastic/kibana/blob/main/x-pack/plugins/actions/server/builtin_action_types/lib/get_node_tls_options.ts
*/
getAgentOptions(verificationMode: 'full' | 'certificate' | 'none') {
const agentOptions: AgentOptions = {};

View file

@ -33,8 +33,8 @@ interface ConfigWithoutBodyOptions<P, Q, B, Method extends RouteMethod>
* The will pass a String Buffer to the route handler. The proper way to validate this when validation
* is enabled to to use `body: schema.buffer()`.
*
* @see https://github.com/elastic/kibana/blob/master/docs/development/core/server/kibana-plugin-core-server.routeconfigoptionsbody.md
* @see https://github.com/elastic/kibana/blob/master/packages/kbn-config-schema/README.md#schemabuffer
* @see https://github.com/elastic/kibana/blob/main/docs/development/core/server/kibana-plugin-core-server.routeconfigoptionsbody.md
* @see https://github.com/elastic/kibana/blob/main/packages/kbn-config-schema/README.md#schemabuffer
*
* Example:
* router.put({

Some files were not shown because too many files have changed in this diff Show more