Skip to content

Commit

Permalink
Merge branch 'master' into 73221-remove-success
Browse files Browse the repository at this point in the history
  • Loading branch information
elasticmachine authored Aug 31, 2020
2 parents dfccf25 + 647f397 commit 58727a5
Show file tree
Hide file tree
Showing 348 changed files with 6,537 additions and 3,088 deletions.
5 changes: 1 addition & 4 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -296,10 +296,7 @@ module.exports = {
errorMessage: `Plugins may only import from src/core/server and src/core/public.`,
},
{
target: [
'(src|x-pack)/plugins/*/server/**/*',
'!x-pack/plugins/apm/**/*', // https://github.com/elastic/kibana/issues/67210
],
target: ['(src|x-pack)/plugins/*/server/**/*'],
from: ['(src|x-pack)/plugins/*/public/**/*'],
errorMessage: `Server code can not import from public, use a common directory.`,
},
Expand Down
6 changes: 2 additions & 4 deletions docs/api/using-api.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,8 @@ For all APIs, you must use a request header. The {kib} APIs support the `kbn-xsr
By default, you must use `kbn-xsrf` for all API calls, except in the following scenarios:

* The API endpoint uses the `GET` or `HEAD` operations

* The path is whitelisted using the <<settings, `server.xsrf.whitelist`>> setting

* XSRF protections are disabled using the `server.xsrf.disableProtection` setting
* The path is whitelisted using the <<settings-xsrf-whitelist, `server.xsrf.whitelist`>> setting
* XSRF protections are disabled using the <<settings-xsrf-disableProtection, `server.xsrf.disableProtection`>> setting

`Content-Type: application/json`::
Applicable only when you send a payload in the API request. {kib} API requests and responses use JSON.
Expand Down
4 changes: 2 additions & 2 deletions docs/apm/api.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ users interacting with APM APIs must have <<apm-app-api-user,sufficient privileg
By default, you must use `kbn-xsrf` for all API calls, except in the following scenarios:

* The API endpoint uses the `GET` or `HEAD` operations
* The path is whitelisted using the <<settings, `server.xsrf.whitelist`>> setting
* XSRF protections are disabled using the `server.xsrf.disableProtection` setting
* The path is whitelisted using the <<settings-xsrf-whitelist, `server.xsrf.whitelist`>> setting
* XSRF protections are disabled using the <<settings-xsrf-disableProtection, `server.xsrf.disableProtection`>> setting

`Content-Type: application/json`::
Applicable only when you send a payload in the API request.
Expand Down
2 changes: 1 addition & 1 deletion docs/developer/getting-started/index.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ you can switch to the correct version when using nvm by running:
nvm use
----

Install the latest version of https://yarnpkg.com[yarn].
Install the latest version of https://classic.yarnpkg.com/en/docs/install[yarn v1].

Bootstrap {kib} and install all the dependencies:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ To get started copy and paste this example to `test/functional/config.js`:
["source","js"]
-----------
import { resolve } from 'path';
import { resolveKibanaPath } from '@kbn/plugin-helpers';
import { REPO_ROOT } from '@kbn/dev-utils';
import { MyServiceProvider } from './services/my_service';
import { MyAppPageProvider } from './services/my_app_page';
Expand All @@ -24,7 +24,7 @@ export default async function ({ readConfigFile }) {
// read the {kib} config file so that we can utilize some of
// its services and PageObjects
const kibanaConfig = await readConfigFile(resolveKibanaPath('test/functional/config.js'));
const kibanaConfig = await readConfigFile(resolve(REPO_ROOT, 'test/functional/config.js'));
return {
// list paths to the files that contain your plugins tests
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) &gt; [ACTION\_GLOBAL\_APPLY\_FILTER](./kibana-plugin-plugins-data-public.action_global_apply_filter.md)

## ACTION\_GLOBAL\_APPLY\_FILTER variable

<b>Signature:</b>

```typescript
ACTION_GLOBAL_APPLY_FILTER = "ACTION_GLOBAL_APPLY_FILTER"
```
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Constructs a new instance of the `FieldList` class
<b>Signature:</b>

```typescript
constructor(indexPattern: IndexPattern, specs?: FieldSpec[], shortDotsEnable?: boolean, onNotification?: () => void);
constructor(indexPattern: IndexPattern, specs?: FieldSpec[], shortDotsEnable?: boolean, onNotification?: OnNotification);
```

## Parameters
Expand All @@ -19,5 +19,5 @@ constructor(indexPattern: IndexPattern, specs?: FieldSpec[], shortDotsEnable?: b
| indexPattern | <code>IndexPattern</code> | |
| specs | <code>FieldSpec[]</code> | |
| shortDotsEnable | <code>boolean</code> | |
| onNotification | <code>() =&gt; void</code> | |
| onNotification | <code>OnNotification</code> | |

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) &gt; [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) &gt; [intervalName](./kibana-plugin-plugins-data-public.indexpattern.intervalname.md)

## IndexPattern.intervalName property

<b>Signature:</b>

```typescript
intervalName: string | undefined;
```
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,12 @@ export declare class IndexPattern implements IIndexPattern
| [formatField](./kibana-plugin-plugins-data-public.indexpattern.formatfield.md) | | <code>any</code> | |
| [formatHit](./kibana-plugin-plugins-data-public.indexpattern.formathit.md) | | <code>any</code> | |
| [id](./kibana-plugin-plugins-data-public.indexpattern.id.md) | | <code>string</code> | |
| [intervalName](./kibana-plugin-plugins-data-public.indexpattern.intervalname.md) | | <code>string &#124; undefined</code> | |
| [metaFields](./kibana-plugin-plugins-data-public.indexpattern.metafields.md) | | <code>string[]</code> | |
| [sourceFilters](./kibana-plugin-plugins-data-public.indexpattern.sourcefilters.md) | | <code>SourceFilter[]</code> | |
| [timeFieldName](./kibana-plugin-plugins-data-public.indexpattern.timefieldname.md) | | <code>string &#124; undefined</code> | |
| [title](./kibana-plugin-plugins-data-public.indexpattern.title.md) | | <code>string</code> | |
| [type](./kibana-plugin-plugins-data-public.indexpattern.type.md) | | <code>string &#124; undefined</code> | |
| [typeMeta](./kibana-plugin-plugins-data-public.indexpattern.typemeta.md) | | <code>TypeMeta</code> | |
## Methods
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,26 @@

```typescript
prepBody(): {
[key: string]: any;
title: string;
timeFieldName: string | undefined;
intervalName: string | undefined;
sourceFilters: string | undefined;
fields: string | undefined;
fieldFormatMap: string | undefined;
type: string | undefined;
typeMeta: string | undefined;
};
```
<b>Returns:</b>

`{
[key: string]: any;
title: string;
timeFieldName: string | undefined;
intervalName: string | undefined;
sourceFilters: string | undefined;
fields: string | undefined;
fieldFormatMap: string | undefined;
type: string | undefined;
typeMeta: string | undefined;
}`

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) &gt; [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) &gt; [sourceFilters](./kibana-plugin-plugins-data-public.indexpattern.sourcefilters.md)

## IndexPattern.sourceFilters property

<b>Signature:</b>

```typescript
sourceFilters?: SourceFilter[];
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) &gt; [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) &gt; [type](./kibana-plugin-plugins-data-public.indexpattern.type.md)

## IndexPattern.type property

<b>Signature:</b>

```typescript
type: string | undefined;
```
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@

| Variable | Description |
| --- | --- |
| [ACTION\_GLOBAL\_APPLY\_FILTER](./kibana-plugin-plugins-data-public.action_global_apply_filter.md) | |
| [AggGroupLabels](./kibana-plugin-plugins-data-public.agggrouplabels.md) | |
| [AggGroupNames](./kibana-plugin-plugins-data-public.agggroupnames.md) | |
| [baseFormattersPublic](./kibana-plugin-plugins-data-public.baseformatterspublic.md) | |
Expand Down
43 changes: 24 additions & 19 deletions docs/settings/monitoring-settings.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
<titleabbrev>Monitoring settings</titleabbrev>
++++

By default, the Monitoring application is enabled, but data collection
is disabled. When you first start {kib} monitoring, you are prompted to
enable data collection. If you are using {stack-security-features}, you must be
signed in as a user with the `cluster:manage` privilege to enable
data collection. The built-in `superuser` role has this privilege and the
built-in `elastic` user has this role.
By default, *{stack-monitor-app}* is enabled, but data collection is disabled.
When you first start {kib} monitoring, you are prompted to enable data
collection. If you are using {stack-security-features}, you must be signed in as
a user with the `cluster:manage` privilege to enable data collection. The
built-in `superuser` role has this privilege and the built-in `elastic` user has
this role.

You can adjust how monitoring data is
collected from {kib} and displayed in {kib} by configuring settings in the
Expand Down Expand Up @@ -49,7 +49,7 @@ For more information, see
in {kib} to the {es} monitoring cluster and to verify licensing status on the {es}
monitoring cluster. +
+
Every other request performed by the Stack Monitoring UI to the monitoring {es}
Every other request performed by *{stack-monitor-app}* to the monitoring {es}
cluster uses the authenticated user's credentials, which must be the same on
both the {es} monitoring cluster and the {es} production cluster. +
+
Expand All @@ -60,7 +60,7 @@ For more information, see
in {kib} to the {es} monitoring cluster and to verify licensing status on the {es}
monitoring cluster. +
+
Every other request performed by the Stack Monitoring UI to the monitoring {es}
Every other request performed by *{stack-monitor-app}* to the monitoring {es}
cluster uses the authenticated user's credentials, which must be the same on
both the {es} monitoring cluster and the {es} production cluster. +
+
Expand All @@ -83,7 +83,7 @@ These settings control how data is collected from {kib}.
|===
| `monitoring.kibana.collection.enabled`
| Set to `true` (default) to enable data collection from the {kib} NodeJS server
for {kib} Dashboards to be featured in the Monitoring.
for {kib} dashboards to be featured in *{stack-monitor-app}*.

| `monitoring.kibana.collection.interval`
| Specifies the number of milliseconds to wait in between data sampling on the
Expand All @@ -96,16 +96,26 @@ These settings control how data is collected from {kib}.
[[monitoring-ui-settings]]
==== Monitoring UI settings

These settings adjust how the {kib} Monitoring page displays monitoring data.
These settings adjust how *{stack-monitor-app}* displays monitoring data.
However, the defaults work best in most circumstances. For more information
about configuring {kib}, see
{kibana-ref}/settings.html[Setting Kibana Server Properties].
{kibana-ref}/settings.html[Setting {kib} server properties].

[cols="2*<"]
|===
| `monitoring.ui.elasticsearch.logFetchCount`
| Specifies the number of log entries to display in the Monitoring UI. Defaults to
`10`. The maximum value is `50`.
| Specifies the number of log entries to display in *{stack-monitor-app}*.
Defaults to `10`. The maximum value is `50`.

| `monitoring.ui.enabled`
| Set to `false` to hide *{stack-monitor-app}*. The monitoring back-end
continues to run as an agent for sending {kib} stats to the monitoring
cluster. Defaults to `true`.

| `monitoring.ui.logs.index`
| Specifies the name of the indices that are shown on the
<<logs-monitor-page,*Logs*>> page in *{stack-monitor-app}*. The default value
is `filebeat-*`.

| `monitoring.ui.max_bucket_size`
| Specifies the number of term buckets to return out of the overall terms list when
Expand All @@ -120,18 +130,13 @@ about configuring {kib}, see
`monitoring.ui.collection.interval` in `elasticsearch.yml`, use the same
value in this setting.

| `monitoring.ui.enabled`
| Set to `false` to hide the Monitoring UI in {kib}. The monitoring back-end
continues to run as an agent for sending {kib} stats to the monitoring
cluster. Defaults to `true`.

|===

[float]
[[monitoring-ui-cgroup-settings]]
===== Monitoring UI container settings

The Monitoring UI exposes the Cgroup statistics that we collect for you to make
*{stack-monitor-app}* exposes the Cgroup statistics that we collect for you to make
better decisions about your container performance, rather than guessing based on
the overall machine performance. If you are not running your applications in a
container, then Cgroup statistics are not useful.
Expand Down
5 changes: 4 additions & 1 deletion docs/setup/settings.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -577,7 +577,7 @@ all http requests to https over the port configured as `server.port`.
| An array of supported protocols with versions.
Valid protocols: `TLSv1`, `TLSv1.1`, `TLSv1.2`. *Default: TLSv1.1, TLSv1.2*

| `server.xsrf.whitelist:`
| [[settings-xsrf-whitelist]] `server.xsrf.whitelist:`
| It is not recommended to disable protections for
arbitrary API endpoints. Instead, supply the `kbn-xsrf` header.
The `server.xsrf.whitelist` setting requires the following format:
Expand All @@ -592,6 +592,9 @@ The `server.xsrf.whitelist` setting requires the following format:
[cols="2*<"]
|===

| [[settings-xsrf-disableProtection]] `server.xsrf.disableProtection:`
| Setting this to `true` will completely disable Cross-site request forgery protection in Kibana. This is not recommended. *Default: `false`*

| `status.allowAnonymous:`
| If authentication is enabled,
setting this to `true` enables unauthenticated users to access the {kib}
Expand Down
18 changes: 12 additions & 6 deletions packages/kbn-dev-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,32 +1,38 @@
{
"name": "@kbn/dev-utils",
"main": "./target/index.js",
"version": "1.0.0",
"license": "Apache-2.0",
"private": true,
"license": "Apache-2.0",
"main": "./target/index.js",
"scripts": {
"build": "tsc",
"kbn:bootstrap": "yarn build",
"kbn:watch": "yarn build --watch"
},
"dependencies": {
"@babel/core": "^7.11.1",
"axios": "^0.19.0",
"chalk": "^4.1.0",
"cheerio": "0.22.0",
"dedent": "^0.7.0",
"execa": "^4.0.2",
"exit-hook": "^2.2.0",
"getopts": "^2.2.5",
"globby": "^8.0.1",
"load-json-file": "^6.2.0",
"normalize-path": "^3.0.0",
"markdown-it": "^10.0.0",
"moment": "^2.24.0",
"normalize-path": "^3.0.0",
"rxjs": "^6.5.5",
"strip-ansi": "^6.0.0",
"tree-kill": "^1.2.2",
"tslib": "^2.0.0"
"vinyl": "^2.2.0"
},
"devDependencies": {
"typescript": "4.0.2",
"@kbn/babel-preset": "1.0.0",
"@kbn/expect": "1.0.0",
"chance": "1.0.18"
"@types/vinyl": "^2.0.4",
"chance": "1.0.18",
"typescript": "4.0.2"
}
}
59 changes: 59 additions & 0 deletions packages/kbn-dev-utils/src/babel.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

import File from 'vinyl';
import * as Babel from '@babel/core';

const transformedFiles = new WeakSet<File>();

/**
* Returns a promise that resolves when the file has been
* mutated so the contents of the file are tranformed with
* babel, include inline sourcemaps, and the filename has
* been updated to use .js.
*
* If the file was previously transformed with this function
* the promise will just resolve immediately.
*/
export async function transformFileWithBabel(file: File) {
if (!(file.contents instanceof Buffer)) {
throw new Error('file must be buffered');
}

if (transformedFiles.has(file)) {
return;
}

const source = file.contents.toString('utf8');
const result = await Babel.transformAsync(source, {
babelrc: false,
configFile: false,
sourceMaps: 'inline',
filename: file.path,
presets: [require.resolve('@kbn/babel-preset/node_preset')],
});

if (!result || typeof result.code !== 'string') {
throw new Error('babel transformation failed without an error...');
}

file.contents = Buffer.from(result.code);
file.extname = '.js';
transformedFiles.add(file);
}
Loading

0 comments on commit 58727a5

Please sign in to comment.