Skip to content

Commit

Permalink
Merge branch 'master' into fix/optimizer-windows-support
Browse files Browse the repository at this point in the history
  • Loading branch information
elasticmachine authored Feb 14, 2020
2 parents 907e573 + 8513498 commit 26ddff9
Show file tree
Hide file tree
Showing 96 changed files with 1,411 additions and 1,398 deletions.
5 changes: 0 additions & 5 deletions src/core/TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ This document outlines best practices and patterns for testing Kibana Plugins.
- [Testing dependencies usages](#testing-dependencies-usages)
- [Testing components consuming the dependencies](#testing-components-consuming-the-dependencies)
- [Testing optional plugin dependencies](#testing-optional-plugin-dependencies)
- [Plugin Contracts](#plugin-contracts)

## Strategy

Expand Down Expand Up @@ -1082,7 +1081,3 @@ describe('Plugin', () => {
});
});
```
## Plugin Contracts
_How to test your plugin's exposed API_
34 changes: 12 additions & 22 deletions x-pack/legacy/plugins/siem/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@
*/

import { i18n } from '@kbn/i18n';
import { get } from 'lodash/fp';
import { resolve } from 'path';
import { Server } from 'hapi';
import { Root } from 'joi';

import { PluginInitializerContext } from '../../../../src/core/server';
import { plugin } from './server';
import { savedObjectMappings } from './server/saved_objects';

Expand All @@ -32,7 +30,6 @@ import {
SIGNALS_INDEX_KEY,
} from './common/constants';
import { defaultIndexPattern } from './default_index_pattern';
import { initServerWithKibana } from './server/kibana.index';
import { DEFAULT_APP_CATEGORIES } from '../../../../src/core/utils';

// eslint-disable-next-line @typescript-eslint/no-explicit-any
Expand Down Expand Up @@ -151,27 +148,20 @@ export const siem = (kibana: any) => {
mappings: savedObjectMappings,
},
init(server: Server) {
const { config, newPlatform, plugins, route } = server;
const { coreContext, env, setup } = newPlatform;
const initializerContext = { ...coreContext, env } as PluginInitializerContext;
const serverFacade = {
config,
usingEphemeralEncryptionKey:
get('usingEphemeralEncryptionKey', newPlatform.setup.plugins.encryptedSavedObjects) ??
false,
plugins: {
alerting: plugins.alerting,
actions: newPlatform.start.plugins.actions,
elasticsearch: plugins.elasticsearch,
spaces: plugins.spaces,
savedObjects: server.savedObjects.SavedObjectsClient,
},
route: route.bind(server),
const { coreContext, env, setup, start } = server.newPlatform;
const initializerContext = { ...coreContext, env };
const __legacy = {
config: server.config,
alerting: server.plugins.alerting,
route: server.route.bind(server),
};
// @ts-ignore-next-line: setup.plugins is too loosely typed
plugin(initializerContext).setup(setup.core, setup.plugins);

initServerWithKibana(initializerContext, serverFacade);
// @ts-ignore-next-line: NewPlatform shim is too loosely typed
const pluginInstance = plugin(initializerContext);
// @ts-ignore-next-line: NewPlatform shim is too loosely typed
pluginInstance.setup(setup.core, setup.plugins, __legacy);
// @ts-ignore-next-line: NewPlatform shim is too loosely typed
pluginInstance.start(start.core, start.plugins);
},
config(Joi: Root) {
// See x-pack/plugins/siem/server/config.ts if you're adding another
Expand Down
2 changes: 1 addition & 1 deletion x-pack/legacy/plugins/siem/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* you may not use this file except in compliance with the Elastic License.
*/

import { PluginInitializerContext } from 'src/core/server';
import { PluginInitializerContext } from '../../../../../src/core/server';
import { Plugin } from './plugin';

export const plugin = (context: PluginInitializerContext) => {
Expand Down
86 changes: 0 additions & 86 deletions x-pack/legacy/plugins/siem/server/kibana.index.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ describe('alerts elasticsearch_adapter', () => {
return mockAlertsHistogramDataResponse;
});
const mockFramework: FrameworkAdapter = {
version: 'mock',
callWithRequest: mockCallWithRequest,
registerGraphQLEndpoint: jest.fn(),
getIndexPatternsService: jest.fn(),
Expand Down
9 changes: 4 additions & 5 deletions x-pack/legacy/plugins/siem/server/lib/compose/kibana.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
* you may not use this file except in compliance with the Elastic License.
*/

import { CoreSetup, PluginInitializerContext } from '../../../../../../../src/core/server';
import { PluginsSetup } from '../../plugin';
import { CoreSetup, SetupPlugins } from '../../plugin';

import { Anomalies } from '../anomalies';
import { ElasticsearchAnomaliesAdapter } from '../anomalies/elasticsearch_adapter';
Expand Down Expand Up @@ -37,10 +36,10 @@ import { Alerts, ElasticsearchAlertsAdapter } from '../alerts';

export function compose(
core: CoreSetup,
plugins: PluginsSetup,
env: PluginInitializerContext['env']
plugins: SetupPlugins,
isProductionMode: boolean
): AppBackendLibs {
const framework = new KibanaBackendFrameworkAdapter(core, plugins, env);
const framework = new KibanaBackendFrameworkAdapter(core, plugins, isProductionMode);
const sources = new Sources(new ConfigurationSourcesAdapter());
const sourceStatus = new SourceStatus(new ElasticsearchSourceStatusAdapter(framework));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,13 @@
* you may not use this file except in compliance with the Elastic License.
*/

import { CallClusterOptions } from 'src/legacy/core_plugins/elasticsearch';
import { CallWithRequest } from '../types';

// See the reference(s) below on explanations about why -000001 was chosen and
// why the is_write_index is true as well as the bootstrapping step which is needed.
// Ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/applying-policy-to-template.html
export const createBootstrapIndex = async (
callWithRequest: CallWithRequest<
{ path: string; method: 'PUT'; body: unknown },
CallClusterOptions,
boolean
>,
callWithRequest: CallWithRequest<{ path: string; method: 'PUT'; body: unknown }, boolean>,
index: string
): Promise<unknown> => {
return callWithRequest('transport.request', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
*/

import { IndicesDeleteParams } from 'elasticsearch';
import { CallClusterOptions } from 'src/legacy/core_plugins/elasticsearch';
import { CallWithRequest } from '../types';

export const deleteAllIndex = async (
callWithRequest: CallWithRequest<IndicesDeleteParams, CallClusterOptions, boolean>,
callWithRequest: CallWithRequest<IndicesDeleteParams, boolean>,
index: string
): Promise<boolean> => {
return callWithRequest('indices.delete', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import { CallWithRequest } from '../types';

export const deletePolicy = async (
callWithRequest: CallWithRequest<{ path: string; method: 'DELETE' }, {}, unknown>,
callWithRequest: CallWithRequest<{ path: string; method: 'DELETE' }, unknown>,
policy: string
): Promise<unknown> => {
return callWithRequest('transport.request', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
*/

import { IndicesDeleteTemplateParams } from 'elasticsearch';
import { CallClusterOptions } from 'src/legacy/core_plugins/elasticsearch';
import { CallWithRequest } from '../types';

export const deleteTemplate = async (
callWithRequest: CallWithRequest<IndicesDeleteTemplateParams, CallClusterOptions, unknown>,
callWithRequest: CallWithRequest<IndicesDeleteTemplateParams, unknown>,
name: string
): Promise<unknown> => {
return callWithRequest('indices.deleteTemplate', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import { CallWithRequest } from '../types';
export const getIndexExists = async (
callWithRequest: CallWithRequest<
{ index: string; size: number; terminate_after: number; allow_no_indices: boolean },
{},
{ _shards: { total: number } }
>,
index: string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import { CallWithRequest } from '../types';

export const getPolicyExists = async (
callWithRequest: CallWithRequest<{ path: string; method: 'GET' }, {}, unknown>,
callWithRequest: CallWithRequest<{ path: string; method: 'GET' }, unknown>,
policy: string
): Promise<boolean> => {
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
*/

import { IndicesExistsTemplateParams } from 'elasticsearch';
import { CallClusterOptions } from 'src/legacy/core_plugins/elasticsearch';
import { CallWithRequest } from '../types';

export const getTemplateExists = async (
callWithRequest: CallWithRequest<IndicesExistsTemplateParams, CallClusterOptions, boolean>,
callWithRequest: CallWithRequest<IndicesExistsTemplateParams, boolean>,
template: string
): Promise<boolean> => {
return callWithRequest('indices.existsTemplate', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
*/

import { IndicesGetSettingsParams } from 'elasticsearch';
import { CallClusterOptions } from 'src/legacy/core_plugins/elasticsearch';
import { CallWithRequest } from '../types';

export const readIndex = async (
callWithRequest: CallWithRequest<IndicesGetSettingsParams, CallClusterOptions, unknown>,
callWithRequest: CallWithRequest<IndicesGetSettingsParams, unknown>,
index: string
): Promise<unknown> => {
return callWithRequest('indices.get', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import { CallWithRequest } from '../types';

export const setPolicy = async (
callWithRequest: CallWithRequest<{ path: string; method: 'PUT'; body: unknown }, {}, unknown>,
callWithRequest: CallWithRequest<{ path: string; method: 'PUT'; body: unknown }, unknown>,
policy: string,
body: unknown
): Promise<unknown> => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
*/

import { IndicesPutTemplateParams } from 'elasticsearch';
import { CallClusterOptions } from 'src/legacy/core_plugins/elasticsearch';
import { CallWithRequest } from '../types';

export const setTemplate = async (
callWithRequest: CallWithRequest<IndicesPutTemplateParams, CallClusterOptions, unknown>,
callWithRequest: CallWithRequest<IndicesPutTemplateParams, unknown>,
name: string,
body: unknown
): Promise<unknown> => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import { CallWithRequest } from '../types';

export const readPrivileges = async (
callWithRequest: CallWithRequest<unknown, unknown, unknown>,
callWithRequest: CallWithRequest<{}, unknown>,
index: string
): Promise<unknown> => {
return callWithRequest('transport.request', {
Expand Down
Loading

0 comments on commit 26ddff9

Please sign in to comment.