Skip to content

Commit e16bfb2

Browse files
committed
Run SO migration after plugins setup phase. (#55012)
* change setClientFactory api to setClientFactoryProvider * cleanup and add test for service * change the signatures of SO start/setup * fix registerCoreContext by accessing stored start contract reference * move migration inside `start` * adapt and add service tests * add doc and export new types * adapt plugins code * update generated doc * better core access * address some review comments * remove parametrized type from SavedObjectsClientFactory, use KibanaRequest instead * add logs when starting and ending so migration * fix KibanaRequest imports * NITs and review comments * fix alerting FTR test * review comments
1 parent 4bdb59a commit e16bfb2

48 files changed

Lines changed: 913 additions & 661 deletions

File tree

Some content is hidden

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

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

Lines changed: 226 additions & 224 deletions
Large diffs are not rendered by default.
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2-
3-
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsClientFactory](./kibana-plugin-server.savedobjectsclientfactory.md)
4-
5-
## SavedObjectsClientFactory type
6-
7-
Describes the factory used to create instances of the Saved Objects Client.
8-
9-
<b>Signature:</b>
10-
11-
```typescript
12-
export declare type SavedObjectsClientFactory<Request = unknown> = ({ request, }: {
13-
request: Request;
14-
}) => SavedObjectsClientContract;
15-
```
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsClientFactory](./kibana-plugin-server.savedobjectsclientfactory.md)
4+
5+
## SavedObjectsClientFactory type
6+
7+
Describes the factory used to create instances of the Saved Objects Client.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare type SavedObjectsClientFactory = ({ request, }: {
13+
request: KibanaRequest;
14+
}) => SavedObjectsClientContract;
15+
```
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsClientFactoryProvider](./kibana-plugin-server.savedobjectsclientfactoryprovider.md)
4+
5+
## SavedObjectsClientFactoryProvider type
6+
7+
Provider to invoke to retrieve a [SavedObjectsClientFactory](./kibana-plugin-server.savedobjectsclientfactory.md)<!-- -->.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare type SavedObjectsClientFactoryProvider = (repositoryFactory: SavedObjectsRepositoryFactory) => SavedObjectsClientFactory;
13+
```
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2-
3-
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsClientWrapperFactory](./kibana-plugin-server.savedobjectsclientwrapperfactory.md)
4-
5-
## SavedObjectsClientWrapperFactory type
6-
7-
Describes the factory used to create instances of Saved Objects Client Wrappers.
8-
9-
<b>Signature:</b>
10-
11-
```typescript
12-
export declare type SavedObjectsClientWrapperFactory<Request = unknown> = (options: SavedObjectsClientWrapperOptions<Request>) => SavedObjectsClientContract;
13-
```
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsClientWrapperFactory](./kibana-plugin-server.savedobjectsclientwrapperfactory.md)
4+
5+
## SavedObjectsClientWrapperFactory type
6+
7+
Describes the factory used to create instances of Saved Objects Client Wrappers.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare type SavedObjectsClientWrapperFactory = (options: SavedObjectsClientWrapperOptions) => SavedObjectsClientContract;
13+
```
Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2-
3-
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsClientWrapperOptions](./kibana-plugin-server.savedobjectsclientwrapperoptions.md)
4-
5-
## SavedObjectsClientWrapperOptions interface
6-
7-
Options passed to each SavedObjectsClientWrapperFactory to aid in creating the wrapper instance.
8-
9-
<b>Signature:</b>
10-
11-
```typescript
12-
export interface SavedObjectsClientWrapperOptions<Request = unknown>
13-
```
14-
15-
## Properties
16-
17-
| Property | Type | Description |
18-
| --- | --- | --- |
19-
| [client](./kibana-plugin-server.savedobjectsclientwrapperoptions.client.md) | <code>SavedObjectsClientContract</code> | |
20-
| [request](./kibana-plugin-server.savedobjectsclientwrapperoptions.request.md) | <code>Request</code> | |
21-
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsClientWrapperOptions](./kibana-plugin-server.savedobjectsclientwrapperoptions.md)
4+
5+
## SavedObjectsClientWrapperOptions interface
6+
7+
Options passed to each SavedObjectsClientWrapperFactory to aid in creating the wrapper instance.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export interface SavedObjectsClientWrapperOptions
13+
```
14+
15+
## Properties
16+
17+
| Property | Type | Description |
18+
| --- | --- | --- |
19+
| [client](./kibana-plugin-server.savedobjectsclientwrapperoptions.client.md) | <code>SavedObjectsClientContract</code> | |
20+
| [request](./kibana-plugin-server.savedobjectsclientwrapperoptions.request.md) | <code>KibanaRequest</code> | |
21+
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2-
3-
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsClientWrapperOptions](./kibana-plugin-server.savedobjectsclientwrapperoptions.md) &gt; [request](./kibana-plugin-server.savedobjectsclientwrapperoptions.request.md)
4-
5-
## SavedObjectsClientWrapperOptions.request property
6-
7-
<b>Signature:</b>
8-
9-
```typescript
10-
request: Request;
11-
```
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsClientWrapperOptions](./kibana-plugin-server.savedobjectsclientwrapperoptions.md) &gt; [request](./kibana-plugin-server.savedobjectsclientwrapperoptions.request.md)
4+
5+
## SavedObjectsClientWrapperOptions.request property
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
request: KibanaRequest;
11+
```
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsRepositoryFactory](./kibana-plugin-server.savedobjectsrepositoryfactory.md) &gt; [createInternalRepository](./kibana-plugin-server.savedobjectsrepositoryfactory.createinternalrepository.md)
4+
5+
## SavedObjectsRepositoryFactory.createInternalRepository property
6+
7+
Creates a [Saved Objects repository](./kibana-plugin-server.isavedobjectsrepository.md) that uses the internal Kibana user for authenticating with Elasticsearch.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
createInternalRepository: (extraTypes?: string[]) => ISavedObjectsRepository;
13+
```
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsRepositoryFactory](./kibana-plugin-server.savedobjectsrepositoryfactory.md) &gt; [createScopedRepository](./kibana-plugin-server.savedobjectsrepositoryfactory.createscopedrepository.md)
4+
5+
## SavedObjectsRepositoryFactory.createScopedRepository property
6+
7+
Creates a [Saved Objects repository](./kibana-plugin-server.isavedobjectsrepository.md) that uses the credentials from the passed in request to authenticate with Elasticsearch.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
createScopedRepository: (req: KibanaRequest, extraTypes?: string[]) => ISavedObjectsRepository;
13+
```
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsRepositoryFactory](./kibana-plugin-server.savedobjectsrepositoryfactory.md)
4+
5+
## SavedObjectsRepositoryFactory interface
6+
7+
Factory provided when invoking a [client factory provider](./kibana-plugin-server.savedobjectsclientfactoryprovider.md) See [SavedObjectsServiceSetup.setClientFactoryProvider](./kibana-plugin-server.savedobjectsservicesetup.setclientfactoryprovider.md)
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export interface SavedObjectsRepositoryFactory
13+
```
14+
15+
## Properties
16+
17+
| Property | Type | Description |
18+
| --- | --- | --- |
19+
| [createInternalRepository](./kibana-plugin-server.savedobjectsrepositoryfactory.createinternalrepository.md) | <code>(extraTypes?: string[]) =&gt; ISavedObjectsRepository</code> | Creates a [Saved Objects repository](./kibana-plugin-server.isavedobjectsrepository.md) that uses the internal Kibana user for authenticating with Elasticsearch. |
20+
| [createScopedRepository](./kibana-plugin-server.savedobjectsrepositoryfactory.createscopedrepository.md) | <code>(req: KibanaRequest, extraTypes?: string[]) =&gt; ISavedObjectsRepository</code> | Creates a [Saved Objects repository](./kibana-plugin-server.isavedobjectsrepository.md) that uses the credentials from the passed in request to authenticate with Elasticsearch. |
21+
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2-
3-
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsServiceSetup](./kibana-plugin-server.savedobjectsservicesetup.md) &gt; [addClientWrapper](./kibana-plugin-server.savedobjectsservicesetup.addclientwrapper.md)
4-
5-
## SavedObjectsServiceSetup.addClientWrapper property
6-
7-
Add a client wrapper with the given priority.
8-
9-
<b>Signature:</b>
10-
11-
```typescript
12-
addClientWrapper: (priority: number, id: string, factory: SavedObjectsClientWrapperFactory<KibanaRequest>) => void;
13-
```
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-server](./kibana-plugin-server.md) &gt; [SavedObjectsServiceSetup](./kibana-plugin-server.savedobjectsservicesetup.md) &gt; [addClientWrapper](./kibana-plugin-server.savedobjectsservicesetup.addclientwrapper.md)
4+
5+
## SavedObjectsServiceSetup.addClientWrapper property
6+
7+
Add a [client wrapper factory](./kibana-plugin-server.savedobjectsclientwrapperfactory.md) with the given priority.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
addClientWrapper: (priority: number, id: string, factory: SavedObjectsClientWrapperFactory) => void;
13+
```

0 commit comments

Comments
 (0)