Skip to content

Commit 53f278b

Browse files
Merge branch 'master' of github.com:elastic/kibana into ingest_pipelines/polish
2 parents 9616142 + 5c457d1 commit 53f278b

File tree

2,285 files changed

+147170
-62623
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,285 files changed

+147170
-62623
lines changed

.ci/end2end.groovy

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,22 +37,31 @@ pipeline {
3737
deleteDir()
3838
gitCheckout(basedir: "${BASE_DIR}", githubNotifyFirstTimeContributor: false,
3939
shallow: false, reference: "/var/lib/jenkins/.git-references/kibana.git")
40+
41+
// Filter when to run based on the below reasons:
42+
// - On a PRs when:
43+
// - There are changes related to the APM UI project
44+
// - only when the owners of those changes are members of the apm-ui team (new filter)
45+
// - On merges to branches when:
46+
// - There are changes related to the APM UI project
47+
// - FORCE parameter is set to true.
4048
script {
49+
def apm_updated = false
4150
dir("${BASE_DIR}"){
42-
def regexps =[ "^x-pack/plugins/apm/.*" ]
43-
env.APM_UPDATED = isGitRegionMatch(patterns: regexps)
51+
apm_updated = isGitRegionMatch(patterns: [ "^x-pack/plugins/apm/.*" ])
52+
}
53+
if (isPR()) {
54+
def isMember = isMemberOf(user: env.CHANGE_AUTHOR, team: 'apm-ui')
55+
setEnvVar('RUN_APM_E2E', params.FORCE || (apm_updated && isMember))
56+
} else {
57+
setEnvVar('RUN_APM_E2E', params.FORCE || apm_updated)
4458
}
4559
}
4660
}
4761
}
4862
stage('Prepare Kibana') {
4963
options { skipDefaultCheckout() }
50-
when {
51-
anyOf {
52-
expression { return params.FORCE }
53-
expression { return env.APM_UPDATED != "false" }
54-
}
55-
}
64+
when { expression { return env.RUN_APM_E2E != "false" } }
5665
environment {
5766
JENKINS_NODE_COOKIE = 'dontKillMe'
5867
}
@@ -70,12 +79,7 @@ pipeline {
7079
}
7180
stage('Smoke Tests'){
7281
options { skipDefaultCheckout() }
73-
when {
74-
anyOf {
75-
expression { return params.FORCE }
76-
expression { return env.APM_UPDATED != "false" }
77-
}
78-
}
82+
when { expression { return env.RUN_APM_E2E != "false" } }
7983
steps{
8084
notifyTestStatus('Running smoke tests', 'PENDING')
8185
dir("${BASE_DIR}"){

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@
169169
/x-pack/plugins/encrypted_saved_objects/ @elastic/kibana-security
170170
/x-pack/plugins/security/ @elastic/kibana-security
171171
/x-pack/test/api_integration/apis/security/ @elastic/kibana-security
172+
/x-pack/test/ui_capabilities/ @elastic/kibana-security
172173
/x-pack/test/encrypted_saved_objects_api_integration/ @elastic/kibana-security
173174
/x-pack/test/functional/apps/security/ @elastic/kibana-security
174175
/x-pack/test/kerberos_api_integration/ @elastic/kibana-security

.github/ISSUE_TEMPLATE/APM.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: APM Issue
33
about: Issues related to the APM solution in Kibana
44
labels: Team:apm
5-
title: [APM]
5+
title: "[APM]"
66
---
77

88
**Versions**

docs/apm/troubleshooting.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ GET /_template/apm-{version}
4949
*Using Logstash, Kafka, etc.*
5050
If you're not outputting data directly from APM Server to Elasticsearch (perhaps you're using Logstash or Kafka),
5151
then the index template will not be set up automatically. Instead, you'll need to
52-
{apm-server-ref}/_manually_loading_template_configuration.html[load the template manually].
52+
{apm-server-ref}/configuration-template.html[load the template manually].
5353

5454
*Using a custom index names*
5555
This problem can also occur if you've customized the index name that you write APM data to.

docs/developer/architecture/security/feature-registration.asciidoc

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@ Registering features also gives your plugin access to “UI Capabilities”. The
99

1010
=== Registering a feature
1111

12-
Feature registration is controlled via the built-in `xpack_main` plugin. To register a feature, call `xpack_main`'s `registerFeature` function from your plugin's `init` function, and provide the appropriate details:
12+
Feature registration is controlled via the built-in `features` plugin. To register a feature, call `features`'s `registerKibanaFeature` function from your plugin's `setup` lifecycle function, and provide the appropriate details:
1313

1414
["source","javascript"]
1515
-----------
16-
init(server) {
17-
const xpackMainPlugin = server.plugins.xpack_main;
18-
xpackMainPlugin.registerFeature({
16+
setup(core, { features }) {
17+
features.registerKibanaFeature({
1918
// feature details here.
2019
});
2120
}
@@ -45,12 +44,12 @@ Registering a feature consists of the following fields. For more information, co
4544
|An array of applications this feature enables. Typically, all of your plugin's apps (from `uiExports`) will be included here.
4645

4746
|`privileges` (required)
48-
|{kib-repo}blob/{branch}/x-pack/plugins/features/common/feature.ts[`FeatureConfig`].
47+
|{kib-repo}blob/{branch}/x-pack/plugins/features/common/feature.ts[`KibanaFeatureConfig`].
4948
|See <<example-1-canvas,Example 1>> and <<example-2-dev-tools,Example 2>>
5049
|The set of privileges this feature requires to function.
5150

5251
|`subFeatures` (optional)
53-
|{kib-repo}blob/{branch}/x-pack/plugins/features/common/feature.ts[`FeatureConfig`].
52+
|{kib-repo}blob/{branch}/x-pack/plugins/features/common/feature.ts[`KibanaFeatureConfig`].
5453
|See <<example-3-discover,Example 3>>
5554
|The set of subfeatures that enables finer access control than the `all` and `read` feature privileges. These options are only available in the Gold subscription level and higher.
5655

@@ -73,25 +72,26 @@ For a full explanation of fields and options, consult the {kib-repo}blob/{branch
7372
=== Using UI Capabilities
7473

7574
UI Capabilities are available to your public (client) plugin code. These capabilities are read-only, and are used to inform the UI. This object is namespaced by feature id. For example, if your feature id is “foo”, then your UI Capabilities are stored at `uiCapabilities.foo`.
76-
To access capabilities, import them from `ui/capabilities`:
75+
Capabilities can be accessed from your plugin's `start` lifecycle from the `core.application` service:
7776

7877
["source","javascript"]
7978
-----------
80-
import { uiCapabilities } from 'ui/capabilities';
79+
public start(core) {
80+
const { capabilities } = core.application;
8181
82-
const canUserSave = uiCapabilities.foo.save;
83-
if (canUserSave) {
84-
// show save button
82+
const canUserSave = capabilities.foo.save;
83+
if (canUserSave) {
84+
// show save button
85+
}
8586
}
8687
-----------
8788

8889
[[example-1-canvas]]
8990
=== Example 1: Canvas Application
9091
["source","javascript"]
9192
-----------
92-
init(server) {
93-
const xpackMainPlugin = server.plugins.xpack_main;
94-
xpackMainPlugin.registerFeature({
93+
public setup(core, { features }) {
94+
features.registerKibanaFeature({
9595
id: 'canvas',
9696
name: 'Canvas',
9797
icon: 'canvasApp',
@@ -130,11 +130,13 @@ The `all` privilege defines a single “save” UI Capability. To access this in
130130

131131
["source","javascript"]
132132
-----------
133-
import { uiCapabilities } from 'ui/capabilities';
133+
public start(core) {
134+
const { capabilities } = core.application;
134135
135-
const canUserSave = uiCapabilities.canvas.save;
136-
if (canUserSave) {
137-
// show save button
136+
const canUserSave = capabilities.canvas.save;
137+
if (canUserSave) {
138+
// show save button
139+
}
138140
}
139141
-----------
140142

@@ -145,9 +147,8 @@ Because the `read` privilege does not define the `save` capability, users with r
145147

146148
["source","javascript"]
147149
-----------
148-
init(server) {
149-
const xpackMainPlugin = server.plugins.xpack_main;
150-
xpackMainPlugin.registerFeature({
150+
public setup(core, { features }) {
151+
features.registerKibanaFeature({
151152
id: 'dev_tools',
152153
name: i18n.translate('xpack.features.devToolsFeatureName', {
153154
defaultMessage: 'Dev Tools',
@@ -206,9 +207,8 @@ a single "Create Short URLs" subfeature privilege is defined, which allows users
206207

207208
["source","javascript"]
208209
-----------
209-
init(server) {
210-
const xpackMainPlugin = server.plugins.xpack_main;
211-
xpackMainPlugin.registerFeature({
210+
public setup(core, { features }) {
211+
features.registerKibanaFeature({
212212
{
213213
id: 'discover',
214214
name: i18n.translate('xpack.features.discoverFeatureName', {

docs/developer/plugin-list.asciidoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ in Kibana, e.g. visualizations. It has the form of a flyout panel.
9595
9696
9797
|{kib-repo}blob/{branch}/src/plugins/kibana_legacy/README.md[kibanaLegacy]
98-
|This plugin will contain several helpers and services to integrate pieces of the legacy Kibana app with the new Kibana platform.
98+
|This plugin contains several helpers and services to integrate pieces of the legacy Kibana app with the new Kibana platform.
9999
100100
101101
|{kib-repo}blob/{branch}/src/plugins/kibana_react/README.md[kibanaReact]
@@ -172,6 +172,10 @@ which also contains the timelion APIs and backend, look at the vis_type_timelion
172172
|An API for:
173173
174174
175+
|{kib-repo}blob/{branch}/src/plugins/url_forwarding/README.md[urlForwarding]
176+
|This plugins contains helpers to redirect legacy URLs. It can be used to forward old URLs to their new counterparts.
177+
178+
175179
|{kib-repo}blob/{branch}/src/plugins/usage_collection/README.md[usageCollection]
176180
|Usage Collection allows collecting usage data for other services to consume (telemetry and monitoring).
177181
To integrate with the telemetry services for usage collection of your feature, there are 2 steps:
@@ -412,10 +416,6 @@ using the CURL scripts in the scripts folder.
412416
|This plugin provides shared components and services for use across observability solutions, as well as the observability landing page UI.
413417
414418
415-
|{kib-repo}blob/{branch}/x-pack/plugins/oss_telemetry[ossTelemetry]
416-
|WARNING: Missing README.
417-
418-
419419
|{kib-repo}blob/{branch}/x-pack/plugins/painless_lab[painlessLab]
420420
|WARNING: Missing README.
421421

docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
readonly links: {
1111
readonly dashboard: {
1212
readonly drilldowns: string;
13+
readonly drilldownsTriggerPicker: string;
14+
readonly urlDrilldownTemplateSyntax: string;
15+
readonly urlDrilldownVariables: string;
1316
};
1417
readonly filebeat: {
1518
readonly base: string;

docs/development/core/public/kibana-plugin-core-public.doclinksstart.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ export interface DocLinksStart
1717
| --- | --- | --- |
1818
| [DOC\_LINK\_VERSION](./kibana-plugin-core-public.doclinksstart.doc_link_version.md) | <code>string</code> | |
1919
| [ELASTIC\_WEBSITE\_URL](./kibana-plugin-core-public.doclinksstart.elastic_website_url.md) | <code>string</code> | |
20-
| [links](./kibana-plugin-core-public.doclinksstart.links.md) | <code>{</code><br/><code> readonly dashboard: {</code><br/><code> readonly drilldowns: string;</code><br/><code> };</code><br/><code> readonly filebeat: {</code><br/><code> readonly base: string;</code><br/><code> readonly installation: string;</code><br/><code> readonly configuration: string;</code><br/><code> readonly elasticsearchOutput: string;</code><br/><code> readonly startup: string;</code><br/><code> readonly exportedFields: string;</code><br/><code> };</code><br/><code> readonly auditbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly metricbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly heartbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly logstash: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly functionbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly winlogbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly aggs: {</code><br/><code> readonly date_histogram: string;</code><br/><code> readonly date_range: string;</code><br/><code> readonly filter: string;</code><br/><code> readonly filters: string;</code><br/><code> readonly geohash_grid: string;</code><br/><code> readonly histogram: string;</code><br/><code> readonly ip_range: string;</code><br/><code> readonly range: string;</code><br/><code> readonly significant_terms: string;</code><br/><code> readonly terms: string;</code><br/><code> readonly avg: string;</code><br/><code> readonly avg_bucket: string;</code><br/><code> readonly max_bucket: string;</code><br/><code> readonly min_bucket: string;</code><br/><code> readonly sum_bucket: string;</code><br/><code> readonly cardinality: string;</code><br/><code> readonly count: string;</code><br/><code> readonly cumulative_sum: string;</code><br/><code> readonly derivative: string;</code><br/><code> readonly geo_bounds: string;</code><br/><code> readonly geo_centroid: string;</code><br/><code> readonly max: string;</code><br/><code> readonly median: string;</code><br/><code> readonly min: string;</code><br/><code> readonly moving_avg: string;</code><br/><code> readonly percentile_ranks: string;</code><br/><code> readonly serial_diff: string;</code><br/><code> readonly std_dev: string;</code><br/><code> readonly sum: string;</code><br/><code> readonly top_hits: string;</code><br/><code> };</code><br/><code> readonly scriptedFields: {</code><br/><code> readonly scriptFields: string;</code><br/><code> readonly scriptAggs: string;</code><br/><code> readonly painless: string;</code><br/><code> readonly painlessApi: string;</code><br/><code> readonly painlessSyntax: string;</code><br/><code> readonly luceneExpressions: string;</code><br/><code> };</code><br/><code> readonly indexPatterns: {</code><br/><code> readonly loadingData: string;</code><br/><code> readonly introduction: string;</code><br/><code> };</code><br/><code> readonly addData: string;</code><br/><code> readonly kibana: string;</code><br/><code> readonly siem: {</code><br/><code> readonly guide: string;</code><br/><code> readonly gettingStarted: string;</code><br/><code> };</code><br/><code> readonly query: {</code><br/><code> readonly luceneQuerySyntax: string;</code><br/><code> readonly queryDsl: string;</code><br/><code> readonly kueryQuerySyntax: string;</code><br/><code> };</code><br/><code> readonly date: {</code><br/><code> readonly dateMath: string;</code><br/><code> };</code><br/><code> readonly management: Record&lt;string, string&gt;;</code><br/><code> readonly visualize: Record&lt;string, string&gt;;</code><br/><code> }</code> | |
20+
| [links](./kibana-plugin-core-public.doclinksstart.links.md) | <code>{</code><br/><code> readonly dashboard: {</code><br/><code> readonly drilldowns: string;</code><br/><code> readonly drilldownsTriggerPicker: string;</code><br/><code> readonly urlDrilldownTemplateSyntax: string;</code><br/><code> readonly urlDrilldownVariables: string;</code><br/><code> };</code><br/><code> readonly filebeat: {</code><br/><code> readonly base: string;</code><br/><code> readonly installation: string;</code><br/><code> readonly configuration: string;</code><br/><code> readonly elasticsearchOutput: string;</code><br/><code> readonly startup: string;</code><br/><code> readonly exportedFields: string;</code><br/><code> };</code><br/><code> readonly auditbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly metricbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly heartbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly logstash: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly functionbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly winlogbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly aggs: {</code><br/><code> readonly date_histogram: string;</code><br/><code> readonly date_range: string;</code><br/><code> readonly filter: string;</code><br/><code> readonly filters: string;</code><br/><code> readonly geohash_grid: string;</code><br/><code> readonly histogram: string;</code><br/><code> readonly ip_range: string;</code><br/><code> readonly range: string;</code><br/><code> readonly significant_terms: string;</code><br/><code> readonly terms: string;</code><br/><code> readonly avg: string;</code><br/><code> readonly avg_bucket: string;</code><br/><code> readonly max_bucket: string;</code><br/><code> readonly min_bucket: string;</code><br/><code> readonly sum_bucket: string;</code><br/><code> readonly cardinality: string;</code><br/><code> readonly count: string;</code><br/><code> readonly cumulative_sum: string;</code><br/><code> readonly derivative: string;</code><br/><code> readonly geo_bounds: string;</code><br/><code> readonly geo_centroid: string;</code><br/><code> readonly max: string;</code><br/><code> readonly median: string;</code><br/><code> readonly min: string;</code><br/><code> readonly moving_avg: string;</code><br/><code> readonly percentile_ranks: string;</code><br/><code> readonly serial_diff: string;</code><br/><code> readonly std_dev: string;</code><br/><code> readonly sum: string;</code><br/><code> readonly top_hits: string;</code><br/><code> };</code><br/><code> readonly scriptedFields: {</code><br/><code> readonly scriptFields: string;</code><br/><code> readonly scriptAggs: string;</code><br/><code> readonly painless: string;</code><br/><code> readonly painlessApi: string;</code><br/><code> readonly painlessSyntax: string;</code><br/><code> readonly luceneExpressions: string;</code><br/><code> };</code><br/><code> readonly indexPatterns: {</code><br/><code> readonly loadingData: string;</code><br/><code> readonly introduction: string;</code><br/><code> };</code><br/><code> readonly addData: string;</code><br/><code> readonly kibana: string;</code><br/><code> readonly siem: {</code><br/><code> readonly guide: string;</code><br/><code> readonly gettingStarted: string;</code><br/><code> };</code><br/><code> readonly query: {</code><br/><code> readonly luceneQuerySyntax: string;</code><br/><code> readonly queryDsl: string;</code><br/><code> readonly kueryQuerySyntax: string;</code><br/><code> };</code><br/><code> readonly date: {</code><br/><code> readonly dateMath: string;</code><br/><code> };</code><br/><code> readonly management: Record&lt;string, string&gt;;</code><br/><code> readonly visualize: Record&lt;string, string&gt;;</code><br/><code> }</code> | |
2121

docs/development/core/server/kibana-plugin-core-server.appenderconfigtype.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
<b>Signature:</b>
99

1010
```typescript
11-
export declare type AppenderConfigType = TypeOf<typeof appendersSchema>;
11+
export declare type AppenderConfigType = ConsoleAppenderConfig | FileAppenderConfig | LegacyAppenderConfig;
1212
```

0 commit comments

Comments
 (0)