Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move core config service to kbn/config package #76874

Merged
merged 30 commits into from
Sep 16, 2020

Conversation

pgayvallet
Copy link
Contributor

@pgayvallet pgayvallet commented Sep 7, 2020

Summary

part of #76003

What the PR does:

  • Extract src/core/logging types and the Logger mock to a new @kbn/logging package.
  • Extract the whole src/core/config code (except core deprecations for now) into a new @kbn/config package.
  • Adapt Env type, and mostly Env.createDefault, to now explicitly pass the repoRoot parameter. This is mostly driven by test needs, and caused by the fact that we can no longer require the package.json file and now need to use the REPO_ROOT constant instead.

Regarding Env changes: I know that #76518 is suppose to address the issue I had to resolve here, but this is mostly impacting test files (the only production code change is in bootstrap), so I think this is acceptable if we don't want to loose to much time. We still can 'revert' the Env.createDefault signature change once #76518 lands if it fully solves our issues.

What part of #76003 is not addressed in this PR

  • Moving core services config schemas, deprecations and associated types to @kbn-config
  • Adding sugar utility to @kbn-config to easily instanciate a configured ConfigService to be used from outside of the platform environment.

Moving the schemas may be non trivial depending on the coupling with the equivalent types. As the PR is already big and got some significant structural changes, so I would like to handle this in a follow-up, if this is alright with everyone.

What is outside of the scope of the PR:

  • Moving core logging system implementation to @kbn/logging

This is outside of the scope of #76003, and even if we know we want this, it's currently blocked by the legacy appender, so doing it after the legacy logging has been removed would really facilitate that.

Checklist

@pgayvallet pgayvallet added release_note:skip Skip the PR/issue when compiling release notes Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc v7.10.0 labels Sep 7, 2020
Copy link
Contributor Author

@pgayvallet pgayvallet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is WIP, and this PR is only the first step (it 'just' moves the config service code to a package, does not move schemas yet, nor allow consumers to easily create a configured config service), but

Before going any further, some important points and questions. The most important ones are probably:

Comment on lines 3 to 4
`@kbn/config-schema` is a TypeScript library inspired by Joi and designed to allow run-time validation of the
Kibana configuration entries providing developers with a fully typed model of the validated data.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to add proper readme once this is finished.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This reference to @kbn/config-schema is rather confusing. Isn't it? Let's remove it

packages/kbn-config/package.json Outdated Show resolved Hide resolved
Comment on lines 23 to 30
export type LoggingConfigType = any;

export type LogLevel = any;
export type LogMeta = any;

export interface LogRecord {
timestamp: Date;
level: LogLevel;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the first big pain point of the PR. The config service relies on the logger service, and tests depends on the logging mocks. At first I wanted to duplicate the interface of Logger and LoggerFactory, but of course they relies on lot of other types from the core/server/logging module, and that doesn't solves the mock class issue.

I don't really see any other option than creating a @kbn/logging package here... 'Good' new is that it is the only service config depends on. But I still don't really like that, because I'm afraid we will be ending with a package per core service...

wdyt?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really see any other option than creating a @kbn/logging package here.

Maybe this isn't such a bad idea. Without such a package we have to duplicate the logging interface in other packages. For example, ToolingLog in
https://github.com/elastic/kibana/tree/ab226f02ae12f0f8a2ec1ff5ba604569cd8d4b68/packages/kbn-dev-utils/src/tooling_log
It might be not that simple though. The logging service consumes the config service, so we would have to decouple them.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The logging service consumes the config service, so we would have to decouple them.

I forget that CoreContext had a reference to the config service. However the LoggingService doesn't seems like it is using it. Or did I overlook a usage somewhere?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, I don't see it's used anywhere

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense or be more convenient to mix these two things into the same package? While they're mostly separate concerns, I suspect most usages of config will also want to use logging. Rather than trying to pull this all apart now, maybe just keeping them together in a @kbn/base package would be a good practical step for now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure it would really be easier to have these two things in the same package. The only logger->config coupling is via the coreContext type, and this can probably be adapted as the logger service does not actually uses it.

I think having two package would avoid to introduce more coupling into these things if/when we decide to split them in distinct packages.

Created #77149 as a POC of creating the logging package. If that's acceptable, I'll reintegrate the changes in this PR.

Comment on lines 55 to 61
export function get<CFG extends { [k: string]: any }>(obj: CFG, path: string[] | string): any {
if (typeof path === 'string') {
if (path.includes('.')) {
throw new Error('Using dots in `get` with a string is not allowed, use array instead');
}

return obj[path];
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another issue moving this code to a package: It was using the get, unset and getFlattenedObject utils defined in the src/core/utils module.

I duplicated them for now. I feel like the proper solution would be to move all the src/core/utils folder to a package, either an already existing one (not sure which...), or a new one.

wdyt?

Copy link
Contributor

@mshustov mshustov Sep 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've already faced the same problem. #76397 (comment)
I'm not a fan of utils, but it seems to be the pragmatic step. It would be great to discuss it with the @elastic/kibana-operations

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Created #76925

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a comment in #76925, but I'd prefer a @kbn/std package for lodash-like utilities.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also think copying for now is totally fine. We don't need to necessarily create that package until we have a need in severl places (which maybe we already do)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea, that's not a blocker. having the issue to track is probably good enough for now.

packages/kbn-config/tsconfig.json Show resolved Hide resolved
Comment on lines 37 to +41
ConfigDeprecationFactory,
coreDeprecationProvider,
} from './deprecation';

export { EnvironmentMode, PackageInfo } from './types';
EnvironmentMode,
PackageInfo,
LegacyObjectToConfigAdapter,
} from '@kbn/config';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm re-exporting from the new package all the things that were previously in this module. That felt like the most pragmatic approach. Not sure how this behave with the api-extractor though.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how this behave with the api-extractor though.

AFAIK api-extractor keeps it as it's declared microsoft/rushstack#1791

Comment on lines 39 to 43
// mocks
export { configMock } from './config.mock';
export { configServiceMock } from './config_service.mock';
export { rawConfigServiceMock } from './raw/raw_config_service.mock';
export { getEnvOptions } from './__mocks__/env';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As these mocks are used in core, I had to expose them on the package's entrypoint. This feels wrong, but I think creating an additional @kbn/config-mocks package is overkill, wdyt?

I couldn't find a way to have something like import { rawConfigServiceMock } from '@kbn/config/mocks', as I was forced to do import { rawConfigServiceMock } from '@kbn/config/target/out/mocks'. Maybe someone has more knowledge than me on npm packages?

Copy link
Contributor

@mshustov mshustov Sep 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our nodejs version doesn't support exports https://nodejs.org/docs/latest-v12.x/api/esm.html#esm_main_entry_point_export
We could emit *.js files next to *.ts and ignore them in .gitignore.
@elastic/kibana-operations any other ideas?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we build in place and can't produce the JS at the root of the module, I don't see any other alternative. Sounds like the best thing right now would be to use target in the import until we upgrade to v12.

const pkg = require('../../../../package.json');
const pkg = require('../../../package.json');
Copy link
Contributor Author

@pgayvallet pgayvallet Sep 7, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that this is in a package, these hardcoded requires won't work anymore, as the compiled file in node_modules it not at the same place, or depth, than in the source. I think we don't have any other option than using the REPO_ROOT constant from @kbn/dev-utils (same lower in file)

Note that as REPO_ROOT is an absolute path, we won't be able to require it and we'll have to fallback to read and parse the file 'manually'.

The mocking (see packages/kbn-config/src/env.test.mocks.ts) will have to be adapted too.

EDIT: done. Fun fact, tests that are mocking the fs package are now exploding because REPO_ROOT is computed at module load.

while (true) {
if (isKibanaDir(cursor)) {
break;
}
const parent = Path.dirname(cursor);
if (parent === rootDir) {
throw new Error(`unable to find kibana directory from ${startDir}`);
}
cursor = parent;
}
export const REPO_ROOT = cursor;

It's quite bad because it's not only impacting core tests, some xpack tests are also failing because of that.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commented on this here: #76874 (comment)

Copy link
Contributor

@tylersmalley tylersmalley Sep 9, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#76518 is almost ready for review including resolving the tests mocking fs by being explicit about the actual files they wish to mock -

Comment on lines +35 to +38
import { ConfigDeprecation } from '@kbn/config';
import { ConfigDeprecationFactory } from '@kbn/config';
import { ConfigDeprecationLogger } from '@kbn/config';
import { ConfigDeprecationProvider } from '@kbn/config';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another issue moving these to a package: The doc files are no longer generated, as they are imported/exported from the package. See 545c867. Not sure if we have a solution for that

Copy link
Contributor

@mshustov mshustov Sep 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we do. @kbn/config becomes an external package for src/core, so api-extractor terminates traversing at this point. Investigation required to understand whether we can link types between packages. It's not supported microsoft/rushstack#1596

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So by extracting config, and logging outside of core, we basically are loosing the documentation for their types.

Would generating doc from these package solve this? I guess core and @kbn/xxx generated doc would not be able to link to each other...

Copy link
Contributor

@mshustov mshustov Sep 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess core and @kbn/xxx generated doc would not be able to link to each other...

Right, in the issue I attached discussed that this use-case is not supported out-of-the-box. We might have to contribute to api-extractor to support this. Even a link to @kbn/xxx package would be good start.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we create an issue to contribute to api-extractor ? @joshdover

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Created #77529 as a discussion issue

@pgayvallet pgayvallet mentioned this pull request Sep 10, 2020
7 tasks
Copy link
Contributor Author

@pgayvallet pgayvallet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only major downside from this PR is the impact on the api-extractor documentation that does not work with re-exports or references to types from another package. I still feel like it shouldn't be considered blocker, and I think the solution would be to fix the extractor instead at some point (see #76874 (comment)), as the 'move to package' approach is still, in my opinion, the only valid one if we want to start exposing services such as config and logging to code outside of the core platform.

Provider for the [ConfigDeprecation](./kibana-plugin-core-server.configdeprecation.md) to apply to the plugin configuration.
Provider for the to apply to the plugin configuration.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Links to types moved in the logging and config packages do no longer work. Not sure there is anything we can do unfortunately.

Comment on lines +43 to +44
import { Logger } from '@kbn/logging';
import { LogMeta } from '@kbn/logging';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@elastic/kibana-app-arch The additional imports in src/plugins/data/public/public.api.md and src/plugins/data/server/server.api.md should be the only changes impacting you

Comment on lines +1662 to 1663
// Warning: (ae-unresolved-link) The @link reference could not be resolved: Reexported declarations are not supported
readonly configPath: ConfigPath;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another downside of moving the types to a package regarding documentation

export const loggerMock = {
create: createLoggerMock,
};
export { loggerMock, MockedLogger } from '@kbn/logging/target/mocks';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kept this file and just re-exported the mock that got moved in the logging package to avoid adding 100+ import changes to the diff. Overall, I think it's going to be a good practice to have package-reexporting modules if we move things out of core.

Comment on lines 63 to 71
// `bootstrap` is exported from the `src/core/server/index` module,
// meaning that any test importing, implicitly or explicitly, anything concrete
// from `core/server` will load `dev-utils`. As some tests are mocking the `fs` package,
// and as `REPO_ROOT` is initialized on the fly when importing `dev-utils` and requires
// the `fs` package, it causes failures. This is why we use a dynamic `require` here.
// eslint-disable-next-line @typescript-eslint/no-var-requires
const { REPO_ROOT } = require('@kbn/dev-utils');

const env = Env.createDefault(REPO_ROOT, {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Self explanatory comment. May be resolved by #76518. See main issue description for more info.

packages/kbn-logging/src/utils/assert_never.ts Outdated Show resolved Hide resolved
Comment on lines 3 to 4
`@kbn/config-schema` is a TypeScript library inspired by Joi and designed to allow run-time validation of the
Kibana configuration entries providing developers with a fully typed model of the validated data.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This reference to @kbn/config-schema is rather confusing. Isn't it? Let's remove it


Base types for the kibana platform logging system.

Note that this package currently only contains logging types. The only concrete implementation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What prevents us from moving the implementation to the package? Should we create an issue to move the implementation to the package?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The base classes such as BaseLogger and LoggerAdapter could be moved without any issue.

The main issue is about the appenders, that are currently importing code from legacy, which are themselves importing a whole lot of dependencies that we can't extract to the new package.

import {
LegacyAppender,
LegacyAppenderConfig,
} from '../../legacy/logging/appenders/legacy_appender';

We would need to adapt the Appenders class to allow registration of appenders + their associated config schema. That way, we could have the base appenders in the package, and the legacy appender only defined and registered inside core. But this is not trivial, as the schema registration would have to be performed before validating the actual configuration file. This is why I'm keeping this for later.

packages/kbn-logging/README.md Outdated Show resolved Hide resolved
packages/kbn-logging/package.json Outdated Show resolved Hide resolved
packages/kbn-logging/package.json Outdated Show resolved Hide resolved
@@ -17,15 +17,16 @@
* under the License.
*/

// must be before mocks imports to avoid conflicting with `REPO_ROOT` accessor.
import { REPO_ROOT } from '@kbn/dev-utils';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The package is stateful and the wrong import order blows out the tests? That's not good 😞

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea. The package is stateful + it depends on fs.readFileSync for the REPO_ROOT initialization, so it's really awkward ina few testing scenarios. #76518 is supposed to adapt the tests mocking the whole fs package to only mock specific files to address this...

Comment on lines +35 to +38
import { ConfigDeprecation } from '@kbn/config';
import { ConfigDeprecationFactory } from '@kbn/config';
import { ConfigDeprecationLogger } from '@kbn/config';
import { ConfigDeprecationProvider } from '@kbn/config';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we create an issue to contribute to api-extractor ? @joshdover

packages/kbn-config/package.json Outdated Show resolved Hide resolved
packages/kbn-config/src/env.ts Outdated Show resolved Hide resolved
packages/kbn-logging/tsconfig.json Outdated Show resolved Hide resolved
@@ -0,0 +1,3 @@
# `@kbn/config` — Kibana configuration file loader

This package contains the configuration service used to load and read the kibana configuration file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you include some basic usage information here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea, in the follow-up, as there is currently no way to properly use the configuration service that has been extracted. (This is only step 1 of #76003, PR would have been too big otherwise)

@kibanamachine
Copy link
Contributor

💚 Build Succeeded

Build metrics

@kbn/optimizer bundle module count

id value diff baseline
core 562 -1 563

async chunks size

id value diff baseline
enterpriseSearch 430.2KB +45.0B 430.1KB

page load bundle size

id value diff baseline
core 1.2MB -51.0B 1.2MB
upgradeAssistant 64.8KB +45.0B 64.8KB
total -6.0B

distributable file count

id value diff baseline
default 45905 +301 45604
oss 27728 +468 27260
total +769

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@pgayvallet pgayvallet merged commit ab92bbb into elastic:master Sep 16, 2020
pgayvallet added a commit to pgayvallet/kibana that referenced this pull request Sep 16, 2020
* move deprecations and raw loader to package

* move config service to package

* start to adapt the usages

* adapt yet more usages

* update generated doc

* move logging types to `@kbn/logging`

* update generated doc

* add yarn.lock symlink

* merge @kbn-logging PR

* adapt Env.createDefault

* update generated doc

* remove mock exports from the main entrypoint to avoid importing it in production code

* use dynamic require to import `REPO_ROOT` from bootstrap file

* move logger mock to kbn-logging package

* address review comments

* import PublicMethodOf from kbn/utility-types

* fix import conflict

* update generated doc

* use the @kbn/std package

* update generated doc

* adapt plugin service mock
jloleysens added a commit to jloleysens/kibana that referenced this pull request Sep 16, 2020
…s-for-710

* 'master' of github.com:elastic/kibana: (95 commits)
  log request body in new ES client (elastic#77150)
  use `navigateToUrl` to navigate to recent nav links (elastic#77446)
  Move core config service to `kbn/config` package (elastic#76874)
  [UBI] Copy license to /licenses folder (elastic#77563)
  Skip flaky Events Viewer Cypress test
  [Lens] Remove dynamic names in telemetry fields (elastic#76988)
  [Maps] Add DynamicStyleProperty#getMbPropertyName and DynamicStyleProperty#getMbPropertyValue (elastic#77366)
  [Enterprise Search] Add flag to restrict width of layout (elastic#77539)
  [Security Solutions][Cases - Timeline] Fix bug when adding a timeline to a case (elastic#76967)
  [Security Solution][Detections] Integration test for Editing a Rule (elastic#77090)
  [Ingest pipelines] Polish pipeline debugging workflow (elastic#76058)
  [@kbn/utils] Adds missing dependency (elastic#77536)
  Add the Enterprise Search logo to the Overview search result (elastic#77514)
  [Logs UI] [Metrics UI] Remove saved object field mappings (elastic#75482)
  [Security Solution][Exceptions] Exception modal bulk close option only closes alerts generated by same rule (elastic#77402)
  Adds @kbn/utils package (elastic#76518)
  Map layout changes (elastic#77132)
  [Security Solution] [Detections] EQL Rule Creation (elastic#76831)
  Adding test user to maps tests under documents source folder  (elastic#77245)
  Suppress error logs when clients connect over HTTP instead of HTTPS (elastic#77397)
  ...

# Conflicts:
#	x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/components/index.ts
#	x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/phases/warm_phase.tsx
pgayvallet added a commit that referenced this pull request Sep 16, 2020
* move deprecations and raw loader to package

* move config service to package

* start to adapt the usages

* adapt yet more usages

* update generated doc

* move logging types to `@kbn/logging`

* update generated doc

* add yarn.lock symlink

* merge @kbn-logging PR

* adapt Env.createDefault

* update generated doc

* remove mock exports from the main entrypoint to avoid importing it in production code

* use dynamic require to import `REPO_ROOT` from bootstrap file

* move logger mock to kbn-logging package

* address review comments

* import PublicMethodOf from kbn/utility-types

* fix import conflict

* update generated doc

* use the @kbn/std package

* update generated doc

* adapt plugin service mock
gmmorris added a commit to gmmorris/kibana that referenced this pull request Sep 16, 2020
* master: (55 commits)
  [Grok] Fix missing error message in error toasts (elastic#77499)
  [Alerting] Exempt Alerts pre 7.10 from RBAC on their Action execution until updated (elastic#75563)
  [ML] fix type in apply_influencer_filters_action (elastic#77495)
  [Lens] create reusable component for filters and range aggregation (elastic#77453)
  fix eslint violations
  Collapse alert chart previews by default (elastic#77479)
  [ML] Fixing field caps wrapper endpoint (elastic#77546)
  showing service maps when filte by environment not defined (elastic#77483)
  [Lens] Settings panel redesign and separate settings per y axis (elastic#76373)
  log request body in new ES client (elastic#77150)
  use `navigateToUrl` to navigate to recent nav links (elastic#77446)
  Move core config service to `kbn/config` package (elastic#76874)
  [UBI] Copy license to /licenses folder (elastic#77563)
  Skip flaky Events Viewer Cypress test
  [Lens] Remove dynamic names in telemetry fields (elastic#76988)
  [Maps] Add DynamicStyleProperty#getMbPropertyName and DynamicStyleProperty#getMbPropertyValue (elastic#77366)
  [Enterprise Search] Add flag to restrict width of layout (elastic#77539)
  [Security Solutions][Cases - Timeline] Fix bug when adding a timeline to a case (elastic#76967)
  [Security Solution][Detections] Integration test for Editing a Rule (elastic#77090)
  [Ingest pipelines] Polish pipeline debugging workflow (elastic#76058)
  ...
gmmorris added a commit to gmmorris/kibana that referenced this pull request Sep 16, 2020
* master: (54 commits)
  [Grok] Fix missing error message in error toasts (elastic#77499)
  [Alerting] Exempt Alerts pre 7.10 from RBAC on their Action execution until updated (elastic#75563)
  [ML] fix type in apply_influencer_filters_action (elastic#77495)
  [Lens] create reusable component for filters and range aggregation (elastic#77453)
  fix eslint violations
  Collapse alert chart previews by default (elastic#77479)
  [ML] Fixing field caps wrapper endpoint (elastic#77546)
  showing service maps when filte by environment not defined (elastic#77483)
  [Lens] Settings panel redesign and separate settings per y axis (elastic#76373)
  log request body in new ES client (elastic#77150)
  use `navigateToUrl` to navigate to recent nav links (elastic#77446)
  Move core config service to `kbn/config` package (elastic#76874)
  [UBI] Copy license to /licenses folder (elastic#77563)
  Skip flaky Events Viewer Cypress test
  [Lens] Remove dynamic names in telemetry fields (elastic#76988)
  [Maps] Add DynamicStyleProperty#getMbPropertyName and DynamicStyleProperty#getMbPropertyValue (elastic#77366)
  [Enterprise Search] Add flag to restrict width of layout (elastic#77539)
  [Security Solutions][Cases - Timeline] Fix bug when adding a timeline to a case (elastic#76967)
  [Security Solution][Detections] Integration test for Editing a Rule (elastic#77090)
  [Ingest pipelines] Polish pipeline debugging workflow (elastic#76058)
  ...
gmmorris added a commit to gmmorris/kibana that referenced this pull request Sep 16, 2020
* master: (76 commits)
  Fixing service maps API test (elastic#77586)
  [Grok] Fix missing error message in error toasts (elastic#77499)
  [Alerting] Exempt Alerts pre 7.10 from RBAC on their Action execution until updated (elastic#75563)
  [ML] fix type in apply_influencer_filters_action (elastic#77495)
  [Lens] create reusable component for filters and range aggregation (elastic#77453)
  fix eslint violations
  Collapse alert chart previews by default (elastic#77479)
  [ML] Fixing field caps wrapper endpoint (elastic#77546)
  showing service maps when filte by environment not defined (elastic#77483)
  [Lens] Settings panel redesign and separate settings per y axis (elastic#76373)
  log request body in new ES client (elastic#77150)
  use `navigateToUrl` to navigate to recent nav links (elastic#77446)
  Move core config service to `kbn/config` package (elastic#76874)
  [UBI] Copy license to /licenses folder (elastic#77563)
  Skip flaky Events Viewer Cypress test
  [Lens] Remove dynamic names in telemetry fields (elastic#76988)
  [Maps] Add DynamicStyleProperty#getMbPropertyName and DynamicStyleProperty#getMbPropertyValue (elastic#77366)
  [Enterprise Search] Add flag to restrict width of layout (elastic#77539)
  [Security Solutions][Cases - Timeline] Fix bug when adding a timeline to a case (elastic#76967)
  [Security Solution][Detections] Integration test for Editing a Rule (elastic#77090)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore release_note:skip Skip the PR/issue when compiling release notes Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc v7.10.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants