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

Add Ingest Manager plugin to master #56567

Merged
merged 386 commits into from
Feb 19, 2020
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
386 commits
Select commit Hold shift + click to select a range
fb77f20
[Fleet] Add permissions checks (#48143)
Oct 16, 2019
1a4375c
Agent enrollment flyout (#48173)
jen-huang Oct 16, 2019
caad062
[Fleet] unenroll agent from the details page (#48286)
nchaulet Oct 16, 2019
42616bf
[Fleet] Filter inactive agent from the listing (#48466)
nchaulet Oct 17, 2019
4fe8bcf
Merge branch 'master' of github.com:elastic/kibana into feature-integ…
Oct 17, 2019
fc506b0
[Fleet] Expose policy change method from fleet plugins (#48562)
nchaulet Oct 18, 2019
eba8e45
[IM] add screenshot detail view and image endpoint (#48149)
neptunian Oct 18, 2019
363d3bf
[IM] Use EPM in variables & types (#48453)
Oct 18, 2019
62e0a5f
[Fleet] Allow to edit metadata (#48682)
nchaulet Oct 21, 2019
13c7f00
[Fleet] Add a toggle to show Inactive users (#48917)
nchaulet Oct 22, 2019
d8ef9b2
Merge remote-tracking branch 'upstream/master' into feature-make-it-i…
jen-huang Oct 22, 2019
c07a025
Multiselect to unenroll agents (#48852)
jen-huang Oct 23, 2019
86cf462
Merge branch 'master' of github.com:elastic/kibana into feature-make-…
nchaulet Oct 23, 2019
601b21d
Merge branch 'master' of github.com:elastic/kibana into feature-make-…
nchaulet Oct 25, 2019
3cd59c4
[Fleet] Fix privilege tests after merge of master (#49118)
nchaulet Oct 25, 2019
81b19fc
[Fleet] Temporary use the elastic user as kibana user to be able to c…
nchaulet Oct 25, 2019
fff8002
[EPM] Fix package version requirement structure (#49172)
ruflin Oct 24, 2019
283a39f
[EPM] 48799 markdown into readme (#49180)
neptunian Oct 25, 2019
08c3381
Add command to spin up a mock server for ingest endpoints (#49259)
jen-huang Oct 28, 2019
f3e36f5
Merge branch 'master' of github.com:elastic/kibana into merge-upstrea…
Oct 28, 2019
6e7e86a
48654 files from registry (#49580)
Oct 29, 2019
3c58273
[EPM] Make screenshot image captions optional (#48912)
neptunian Oct 29, 2019
15faaa7
[EPM] update to layout and and spacing (#49413)
neptunian Oct 29, 2019
45f4252
[EPM] Rename registry url to new path (#49598)
ruflin Oct 30, 2019
ab13440
Merge branch 'master' of github.com:elastic/kibana into feature-make-…
nchaulet Oct 30, 2019
c6b9b7e
[EPM] rewrite relative image paths (#49637)
neptunian Oct 30, 2019
3b3eca1
[EPM] Use NP registerFeature (#49625)
Oct 30, 2019
92b677e
[Fleet] Filter agents list table by policy name (#49968)
jen-huang Nov 4, 2019
94b313f
Merge branch 'master' of github.com:elastic/kibana into feature-integ…
Nov 8, 2019
1c25109
Fix react-related eslint errors
Nov 11, 2019
f118b81
Merge branch 'master' of github.com:elastic/kibana into feature-make-…
nchaulet Nov 11, 2019
5bcca8c
Merge branch 'master' of github.com:elastic/kibana into feature-make-…
nchaulet Nov 11, 2019
e49f9ac
Merge branch 'master' of github.com:elastic/kibana into feature-integ…
Nov 11, 2019
9398fa0
Remove ui/* imports (#50094)
Nov 11, 2019
3612b98
[Fleet] Use ES api keys for agent authentication (#49639)
nchaulet Nov 11, 2019
c4529ac
Merge branch 'feature-integrations-manager' of github.com:elastic/kib…
Nov 12, 2019
773a4db
Merge branch 'master' of github.com:elastic/kibana into feature-integ…
Nov 12, 2019
71ba3db
Merge branch 'master' of github.com:elastic/kibana into feature-integ…
Nov 12, 2019
1b83907
add collapsible read me component (#49990)
neptunian Nov 12, 2019
5e217fb
[EPM] Make API consistent for package installation and removal (#48745)
skh Nov 13, 2019
a4b2ae7
[EPM] Add unit tests for pathParts (#50279)
ruflin Nov 13, 2019
f0eafde
Merge remote-tracking branch 'upstream' into feature-integrations-man…
Nov 13, 2019
4d0e47e
Merge branch 'feature-integrations-manager' of github.com:elastic/kib…
Nov 13, 2019
ac60ae4
Update docs for merging master into feature branch (#50396)
Nov 13, 2019
d3b1941
[Fleet] Remove in memory repository (#50431)
nchaulet Nov 13, 2019
e4284b4
[EPM] Documentation of HTTP routes & TS types for Ingest (#48798)
Nov 13, 2019
e8ca16b
[EPM] Add directory structure for server/lib. (#50469)
skh Nov 14, 2019
ee2ecf4
[EPM] Add basic documentation directory (#50478)
ruflin Nov 14, 2019
dc9f781
[EPM] Add basic index template (#50471)
ruflin Nov 14, 2019
19a5746
40752 rewrite ingest pipeline (#50627)
skh Nov 14, 2019
c522886
Replace AssetType enum with union type (#50696)
Nov 14, 2019
1f6b520
Remove unnecessary await if we can return the promise (#50329)
Nov 14, 2019
4cbd647
Fix whitespace per figma comments. Closes #47348 (#47350)
Nov 14, 2019
505ef0d
Merge branch 'master' of github.com:elastic/kibana into feature-integ…
Nov 15, 2019
fc5daa3
Add fix & comment for TS 3.7.2 regression
Nov 15, 2019
14c7655
Merge branch 'master' of github.com:elastic/kibana into feature-integ…
Nov 15, 2019
435b6b9
[EPM] cleanup assets, filter assets for those currently supported (#5…
neptunian Nov 15, 2019
f4fe3ec
Merge branch 'feature-integrations-manager' of github.com:elastic/kib…
Nov 15, 2019
7b8e7f5
hardcode image width for ie11 (#49796)
neptunian Nov 15, 2019
d470bb9
[EPM] useKibana hook & render in plugin.start (#50110)
Nov 15, 2019
1d8b931
Fix broken app due to bad hooks usage
Nov 15, 2019
e7a7f74
[EPM] Install package from detail view on button click (#50735)
Nov 15, 2019
232347f
[EPM] Use NP feature_catalogue.register (#50108)
Nov 15, 2019
570c1c7
Merge branch 'feature-make-it-ingest' of github.com:elastic/kibana in…
mattapperson Nov 16, 2019
c7aa2ed
Merge branch 'feature-integrations-manager' of github.com:elastic/kib…
mattapperson Nov 16, 2019
536d9f1
fix linting
mattapperson Nov 17, 2019
0831ef0
fix types
mattapperson Nov 17, 2019
9447054
fix headers in Fleet
mattapperson Nov 17, 2019
d05f20d
skipping test due to ES param change
mattapperson Nov 18, 2019
9fc2f1c
Revert "skipping test due to ES param change"
mattapperson Nov 18, 2019
0571584
remove type field
mattapperson Nov 18, 2019
8aa89d7
remove unused import
mattapperson Nov 18, 2019
be9ca17
[EPM] Final(?) update from integrations_manager -> EPM (#50976)
Nov 19, 2019
ece3570
[EPM] update compatibility section (#50975)
neptunian Nov 19, 2019
646b340
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
Nov 19, 2019
590ccbe
Restore RequirementVersionRange type
Nov 19, 2019
f1020e4
Disable test for elasticsearch username.
Nov 19, 2019
ef97a13
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
Nov 19, 2019
4720fd9
Revert "Disable test for elasticsearch username."
Nov 19, 2019
37dad5c
Disable test for elasticsearch username.
Nov 19, 2019
098c220
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
nchaulet Nov 20, 2019
9c158e5
Fix EPM typing issues in register feature
nchaulet Nov 20, 2019
229745f
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
nchaulet Nov 20, 2019
9f68a23
Fix typings after master merge
nchaulet Nov 20, 2019
c1512f8
[EPM] CI fixes (#51284)
skh Nov 21, 2019
e373cba
[EPM] add confirmation modal (#51172)
neptunian Nov 21, 2019
0493795
Restore prior response vaulues for install & delete package (#51252)
Nov 21, 2019
a081bf4
[EPM] /package API only lists installable assets. Restore enums. (#51…
Nov 22, 2019
d47ab5d
[Fleet] Enrollment api key UI (#51495)
nchaulet Nov 25, 2019
ef39895
Make button pretty in dark mode as well. (#51610)
skh Nov 26, 2019
14bbe8e
[EPM] Add docs entry about registryUrl config (#51697)
ruflin Nov 26, 2019
399bbd3
[EPM] Remove encoding of Kibana objects as not needed anymore
ruflin Nov 26, 2019
a860bbd
[Fleet] Move agent status server side and API to get aggregated statu…
nchaulet Nov 26, 2019
99ead3d
[EPM] Add basic docs around install/delete API endpoint (#51728)
ruflin Nov 26, 2019
1a05deb
Ingest/policy (#51741)
nchaulet Nov 26, 2019
2e3fc27
Merge branch 'master' into feature-ingest
ruflin Nov 27, 2019
d8a1b22
run es-lint to fix fleet
ruflin Nov 27, 2019
d726419
Merge branch 'master' of github.com:elastic/kibana into merge-master
nchaulet Nov 27, 2019
171749e
Fix typescript issues
nchaulet Nov 27, 2019
ce760f0
[EPM] Track package install state and add toast notification (#51734)
neptunian Nov 27, 2019
ef9bc47
[Ingest] Adds support for a working default output (#51841)
Nov 27, 2019
74d984d
[EPM] Add basics for creating the ILM setup (#50474)
ruflin Nov 28, 2019
38e2e14
[EPM] Add datasource (ingest pipeline) from package (#51851)
Nov 28, 2019
756f4cc
[EPM] Add basic processing of fields.yml file (#51148)
ruflin Nov 28, 2019
729488f
[EPM] Create basic implementation to merge input template and dataset…
ruflin Nov 28, 2019
7771ec2
[EPM] Refactoring of lib structure (#51885)
ruflin Dec 2, 2019
9a4e9d8
[EPM] Allow to read files from fields directory (#51958)
ruflin Dec 2, 2019
dd7473a
[EPM] Install Elasticsearch Index Template for data source (#51878)
ruflin Dec 2, 2019
979d2b6
[Fleet] Policy list, details, create, edit UIs (#51950)
jen-huang Dec 3, 2019
0eca4db
[EPM] Add datasource saved object type (#51871)
skh Dec 3, 2019
677f9ce
[Fleet] Expose policy during agent checkin (#51968)
nchaulet Dec 3, 2019
006aeaf
[EPM] Add /epr prefix to the tar.gz download path (#51881)
ruflin Dec 4, 2019
0c162bc
[EPM] Move template installation to lib and add asset helper (#52049)
ruflin Dec 4, 2019
00d55fb
[EPM] Reduce data source to one type (#52061)
ruflin Dec 4, 2019
dc088b1
Run VSCode's organize imports on EPM files (#52234)
Dec 5, 2019
fde70ff
[EPM] More realistic datasource SO. Error if package not installed. (…
Dec 5, 2019
2e230bf
[EPM] Move golden files generation over to jest snapshot (#52203)
ruflin Dec 5, 2019
4c5b038
[EPM] Create metrics-* and logs-* Kibana index pattern (#52277)
ruflin Dec 5, 2019
329fff2
[EPM] Create helper for elasticsearch asset names (#52265)
ruflin Dec 6, 2019
af4d6a0
[EPM] Update Registry types. Prevent errors installing certain dataso…
Dec 7, 2019
40c4df8
[EPM] Add setup of default ILM policies (#52272)
ruflin Dec 9, 2019
6f91887
[EPM] 52075 add data source first page (#52320)
neptunian Dec 9, 2019
f6239e7
Update TS type names for EPR search results (#52512)
Dec 9, 2019
71ab5a0
Restore import sort order from #52234 (#52548)
Dec 9, 2019
d2c126f
[EPM] Replace wildcard export (#52554)
Dec 10, 2019
5b1f7f6
[EPM] Reduce usage of epm-package SavedObject (#52576)
Dec 10, 2019
328474a
[EPM] Fix missing export link (#52628)
ruflin Dec 10, 2019
786e4db
[EPM] Cleanup ILM loading (#52632)
ruflin Dec 11, 2019
00b36c4
[EPM] Switch to staging URL for registry (#52626)
ruflin Dec 11, 2019
189d375
[EPM] Use Dataset interface to generate template (#52255)
ruflin Dec 11, 2019
654bc21
[Fleet] Use agent events to compute agent health (#52513)
nchaulet Dec 11, 2019
fce4f82
[EPM] Data source integration tests (#52542)
skh Dec 11, 2019
b26ba26
Use EPR staging URL with CDN. (#52776)
Dec 11, 2019
7bb19c5
[EPM] Add Data Source page updates (#52705)
neptunian Dec 11, 2019
ecedffb
Merge master
brianseeders Jan 2, 2020
12a2534
[EPM] redirect after package install (#52771)
neptunian Dec 12, 2019
f8e0cc1
Merge commit 'ba2e2588a31c06f6b36b1a7671be4d121b719258' into feature-…
brianseeders Jan 2, 2020
e4211a7
Use ingest datasource api (#52964)
Dec 13, 2019
0710ed8
[Ingest] Data source APIs (#52448)
jen-huang Dec 11, 2019
5b2aca7
modify epm createDatasource endpoint to use user data (#52971)
neptunian Dec 14, 2019
39878ff
[EPM] Don't share CreateFakeDatasource type (#53068)
Dec 16, 2019
96ff0ed
[EPM] Index template generation fixes (#53104)
skh Dec 16, 2019
a78aaa4
[Fleet] Assign/Unassign data source from policy UI (#53058)
jen-huang Dec 17, 2019
9ad1e54
[EPM] Implement getConfig for dataset (#53261)
ruflin Dec 18, 2019
be9f0c0
[EPM] Fix template installation (#53272)
ruflin Dec 18, 2019
dd8846d
[EM] Refactor ingest pipeline installation (#53309)
skh Dec 18, 2019
20af911
change POST create datasources path (#53165)
neptunian Dec 18, 2019
8474491
Fix creation of a data source with a custom ID (#53537)
jen-huang Dec 19, 2019
fedfaa9
[Ingest] Return associated policy IDs in data source info (#53350)
jen-huang Dec 20, 2019
1a55633
[EPM]: Assign data source to policy in UI (#53597)
Dec 23, 2019
6bbf5ac
Add commands to run API tests to README (#53847)
Dec 30, 2019
054c311
Limit functions to 3 params max. Update those which used more (#53848)
Dec 30, 2019
0f0d7ca
[EPM] Code in 'common' directories shouldn't import server code (#53854)
Dec 31, 2019
1a35843
[Fleet] Code in 'common' directories shouldn't import server code (#5…
nchaulet Jan 3, 2020
cda20be
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
nchaulet Jan 3, 2020
b852594
Fix eslint issues
nchaulet Jan 3, 2020
ed44d98
Fix typescript issues after merge
nchaulet Jan 3, 2020
b7da72c
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
nchaulet Jan 6, 2020
becd154
Fix merge master missing line
nchaulet Jan 6, 2020
bb42f9c
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
nchaulet Jan 6, 2020
17c8e99
Fix merge conflict
nchaulet Jan 6, 2020
19fb164
[Fleet] Fix registration of Ingest management section (#54065)
jen-huang Jan 7, 2020
c154afc
[Fleet] Remove server code from common folder in ingest (#53969)
nchaulet Jan 7, 2020
50fde69
[Fleet] Connect fleet to policy change update (#53201)
nchaulet Jan 7, 2020
cb3ce1c
[Fleet] Rename output.url => output.hosts (#54258)
nchaulet Jan 9, 2020
38ca8c1
[Ingest] Remove policies UI (#54308)
jen-huang Jan 9, 2020
54fa272
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
Jan 9, 2020
11bbd8c
Commit updated kbn-pm artifact.
Jan 9, 2020
c8f3fa8
Update kbn/pm package
Jan 9, 2020
1ecace7
Merge branch 'feature-ingest' into feature-ingest
elasticmachine Jan 9, 2020
5791fbc
[EPM] create logs metrics index patterns (#54037)
neptunian Jan 9, 2020
a50b11a
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
Jan 10, 2020
eccf88e
Merge branch 'feature-ingest' of github.com:elastic/kibana into featu…
Jan 10, 2020
0393fea
Use dataset.package from registry
Jan 10, 2020
08d1df5
Form validation on add datasource page. (#53920)
Jan 10, 2020
43d9cca
[Ingest] Add support for policy `label` field (#54413)
jen-huang Jan 10, 2020
c69724d
[Fleet] Fix api key creation (#54498)
nchaulet Jan 13, 2020
1bbbfec
[Fleet] Move agent acks to his own endpoint (#54401)
nchaulet Jan 14, 2020
8452df6
[Ingest] Fix MaxListenersExceededWarning during kibana boot (#54745)
nchaulet Jan 14, 2020
8fc063f
[Fleet] Create a default api key for the default output (#54658)
nchaulet Jan 14, 2020
3f87c31
[EPM] update index pattern fields (#54862)
neptunian Jan 16, 2020
71c3f46
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
Jan 16, 2020
f93e4f8
Fix typing issues
nchaulet Jan 17, 2020
7018ac9
[Fleet] Support agent event subtype STOPPING (#55231)
nchaulet Jan 20, 2020
60cc144
[EPM] Prevent double submit when creating data sources
Jan 21, 2020
7d24bfd
[EPM] handle alias fields when creating kibana index pattern (#55254)
neptunian Jan 22, 2020
439b740
[EPM] handle multi fields when creating index patterns (#55554)
neptunian Jan 22, 2020
bc98087
[Fleet] Fleet/spec docs (#55619)
nchaulet Jan 22, 2020
8acca30
[EPM] Start to document definitions (#55361)
ruflin Jan 23, 2020
3f0bd56
[EPM] Indexing strategy docs (#55301)
ruflin Jan 23, 2020
7599709
skip fields that are disabled (#55735)
neptunian Jan 24, 2020
0e4b13d
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
nchaulet Jan 24, 2020
c0d496a
[Fleet] Fix fleet typing issues after merging master
nchaulet Jan 24, 2020
1f78f61
[EPM] Create fieldFormatMap in kibana index pattern (#55892)
neptunian Jan 27, 2020
c0e3f31
[Fleet] Use user from saved object to create apiKeys (#55458)
nchaulet Jan 28, 2020
5f4baeb
[EPM] Document package upgrade behaviour (#56138)
ruflin Jan 28, 2020
b589070
Merge branch 'master' of github.com:elastic/kibana into feature-ingest
Jan 30, 2020
b318bea
Remove some explicit typing to pass type checks.
Jan 30, 2020
8e11bad
remove readFromDocValues (#56227)
neptunian Jan 30, 2020
441d9ed
Add symlink to yarn.lock to fix(?) CI
Jan 30, 2020
9200ac2
Like 441d9ed, but correct
Jan 30, 2020
9925179
Merge branch 'feature-ingest' of github.com:elastic/kibana into featu…
Jan 31, 2020
c66e5ee
[Ingest] Convert `ingest` plugin to new platform `ingest_manager` plu…
jen-huang Jan 31, 2020
9c663d8
First pass at deleting everything related to EPM & Fleet plugins
Jan 31, 2020
b4253f3
Merge branch 'master' into feature-ingest-manager
elasticmachine Feb 1, 2020
b813fbd
Remove EPM-specific react-markdown
Feb 3, 2020
2dc8d48
Merge branch 'master' into feature-ingest-manager
Feb 3, 2020
abdbd92
Remove some unwanted differences from master.
Feb 3, 2020
5fae890
React.FC -> React.FunctionComponent to match the pattern in master
Feb 3, 2020
e5559f4
Selectively enable features based on config values
Feb 3, 2020
4ce3484
Fix typing and(?) CI
Feb 3, 2020
a004270
Enable xpack.ingestManger during tests
Feb 4, 2020
87a1784
Don't create BASE_URL value based on PLUGIN_ID
Feb 4, 2020
243ecc3
Don't add optional routes. Use config for registry url
Feb 5, 2020
610d19d
Add README with some skeleton docs on tests, etc
Feb 5, 2020
e9cda51
Merge branch 'master' of github.com:elastic/kibana into feature-inges…
Feb 6, 2020
3f31cb8
Undo changes to some files based on PR feedback
Feb 6, 2020
76e710d
Merge branch 'master' into feature-ingest-manager
Feb 6, 2020
0c6f8c0
Commit the result of 'yarn kbn run build -i @kbn/pm'
Feb 6, 2020
9a31b48
Commit the result of 'yarn kbn run build -i @kbn/pm'
Feb 6, 2020
47b68f7
WIP. But add some passing api integration tests
Feb 6, 2020
8c2b424
WIP
Feb 7, 2020
61fd5d8
Fix TS type errors.
Feb 7, 2020
d3b7b7f
Add route to delete datasources (mirrors agent_configs api)
Feb 7, 2020
a637ce0
Remove old ESArchiver files
Feb 7, 2020
0fa1fca
Add integration tests for each /agent_config & /datasources route
Feb 7, 2020
215b8a8
Merge branch 'master' into feature-ingest-manager
elasticmachine Feb 7, 2020
bffb45b
Update README
Feb 7, 2020
59b78e7
More updates to README
Feb 7, 2020
b59c81c
Remove xpack.kueryAutocomplete from x-pack/.i18n.json
Feb 7, 2020
52508a9
Merge branch 'master' into feature-ingest-manager
elasticmachine Feb 11, 2020
c5ab054
Merge branch 'master' into feature-ingest-manager
Feb 11, 2020
a411d26
Use default appRoute. We can't use /app/ingest (at least for now).
Feb 11, 2020
e9d44a7
Use appBasePath from app mount params for React Router basename
Feb 11, 2020
79131b3
Remove out-of-date comments
Feb 11, 2020
3f5371f
Use the ES client from core
Feb 11, 2020
71220c9
Move License & Config services WIP. Pushing to share
Feb 11, 2020
80077ae
Move config & license services into App Context service.
Feb 11, 2020
4375f6f
Remove FTR tests for Ingest Manager
Feb 12, 2020
1e7b054
Remove license-related propperties
Feb 12, 2020
6bd1ff5
Remove clusterClient properties
Feb 12, 2020
f73b54e
Don't set this.security if not in dependencies
Feb 12, 2020
1ca1823
WIP (failing) integration_test
Feb 13, 2020
25124c6
No more unknown key errors. Timeouts now
Feb 13, 2020
27defb2
Test routes with default (disabled) and manager-only flags
Feb 13, 2020
3fb86a1
Add tests to cover all permutations of flags (A, AB, AC, ABC)
Feb 13, 2020
cba5ee2
Merge branch 'master' into feature-ingest-manager
elasticmachine Feb 14, 2020
b907ff8
Merge branch 'master' into nfeature-ingest-manager
Feb 18, 2020
64fc710
Use TS types vs config-schema in common & public
Feb 18, 2020
ac021fa
Merge branch 'master' into feature-ingest-manager
Feb 18, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@
# Observability UIs
/x-pack/legacy/plugins/infra/ @elastic/logs-metrics-ui
/x-pack/plugins/infra/ @elastic/logs-metrics-ui
/x-pack/legacy/plugins/integrations_manager/ @elastic/epm
/x-pack/plugins/ingest_manager/ @elastic/ingest
jfsiii marked this conversation as resolved.
Show resolved Hide resolved
/x-pack/legacy/plugins/ingest_manager/ @elastic/ingest
/x-pack/plugins/observability/ @elastic/logs-metrics-ui @elastic/apm-ui @elastic/uptime @elastic/ingest

# Machine Learning
Expand Down
1 change: 0 additions & 1 deletion src/dev/typescript/projects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

import glob from 'glob';
import { resolve } from 'path';

import { REPO_ROOT } from '../constants';
import { Project } from './project';

Expand Down
9 changes: 9 additions & 0 deletions src/plugins/es_ui_shared/public/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,12 @@
*/

export * from './components/json_editor';
jfsiii marked this conversation as resolved.
Show resolved Hide resolved

export {
jfsiii marked this conversation as resolved.
Show resolved Hide resolved
SendRequestConfig,
SendRequestResponse,
UseRequestConfig,
UseRequestResponse,
sendRequest,
useRequest,
} from './request/np_ready_request';
20 changes: 10 additions & 10 deletions src/plugins/es_ui_shared/public/request/np_ready_request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ export interface SendRequestConfig {
body?: any;
}

export interface SendRequestResponse {
data: any;
export interface SendRequestResponse<D = any> {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can this be defaulted to something other than any, maybe unknown, or an object, or undefined, or no default?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@alisonelizabeth How would you like to proceed? Should we replace the anys? I notice that there are several other anys in that file so this change seems consistent if not ideal.

Can we leave it as-is and follow up on this in a later discussion/PR?

data: D | null;
error: Error | null;
}

Expand All @@ -39,18 +39,18 @@ export interface UseRequestConfig extends SendRequestConfig {
deserializer?: (data: any) => any;
}

export interface UseRequestResponse {
export interface UseRequestResponse<D = any> {
isInitialRequest: boolean;
isLoading: boolean;
error: null | unknown;
data: any;
sendRequest: (...args: any[]) => Promise<SendRequestResponse>;
error: Error | null;
data: D | null;
sendRequest: (...args: any[]) => Promise<SendRequestResponse<D>>;
}

export const sendRequest = async (
export const sendRequest = async <D = any>(
httpClient: HttpSetup,
{ path, method, body, query }: SendRequestConfig
): Promise<SendRequestResponse> => {
): Promise<SendRequestResponse<D>> => {
try {
const response = await httpClient[method](path, { body, query });

Expand All @@ -66,7 +66,7 @@ export const sendRequest = async (
}
};

export const useRequest = (
export const useRequest = <D = any>(
httpClient: HttpSetup,
{
path,
Expand All @@ -77,7 +77,7 @@ export const useRequest = (
initialData,
deserializer = (data: any): any => data,
}: UseRequestConfig
): UseRequestResponse => {
): UseRequestResponse<D> => {
// Main states for tracking request status and data
const [error, setError] = useState<null | any>(null);
const [isLoading, setIsLoading] = useState<boolean>(true);
Expand Down
1 change: 1 addition & 0 deletions x-pack/.i18nrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"xpack.idxMgmt": "legacy/plugins/index_management",
"xpack.indexLifecycleMgmt": "legacy/plugins/index_lifecycle_management",
"xpack.infra": "legacy/plugins/infra",
"xpack.ingestManager": "plugins/ingest_manager",
"xpack.data": "plugins/data_enhanced",
"xpack.lens": "legacy/plugins/lens",
"xpack.licenseMgmt": "legacy/plugins/license_management",
Expand Down
2 changes: 2 additions & 0 deletions x-pack/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import { transform } from './legacy/plugins/transform';
import { actions } from './legacy/plugins/actions';
import { alerting } from './legacy/plugins/alerting';
import { lens } from './legacy/plugins/lens';
import { ingestManager } from './legacy/plugins/ingest_manager';
import { triggersActionsUI } from './legacy/plugins/triggers_actions_ui';

module.exports = function(kibana) {
Expand Down Expand Up @@ -78,6 +79,7 @@ module.exports = function(kibana) {
snapshotRestore(kibana),
actions(kibana),
alerting(kibana),
ingestManager(kibana),
triggersActionsUI(kibana),
];
};
39 changes: 39 additions & 0 deletions x-pack/legacy/plugins/ingest_manager/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import {
savedObjectMappings,
OUTPUT_SAVED_OBJECT_TYPE,
AGENT_CONFIG_SAVED_OBJECT_TYPE,
DATASOURCE_SAVED_OBJECT_TYPE,
} from '../../../plugins/ingest_manager/server';

// TODO https://github.com/elastic/kibana/issues/46373
// const INDEX_NAMES = {
// INGEST: '.kibana',
// };

export function ingestManager(kibana: any) {
return new kibana.Plugin({
id: 'ingestManager',
uiExports: {
savedObjectSchemas: {
[AGENT_CONFIG_SAVED_OBJECT_TYPE]: {
isNamespaceAgnostic: true,
// indexPattern: INDEX_NAMES.INGEST,
},
[OUTPUT_SAVED_OBJECT_TYPE]: {
isNamespaceAgnostic: true,
// indexPattern: INDEX_NAMES.INGEST,
},
[DATASOURCE_SAVED_OBJECT_TYPE]: {
isNamespaceAgnostic: true,
// indexPattern: INDEX_NAMES.INGEST,
},
},
mappings: savedObjectMappings,
},
});
}
20 changes: 20 additions & 0 deletions x-pack/plugins/ingest_manager/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Ingest Manager

## Getting started
See the Kibana docs for [how to set up your dev environment](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#setting-up-your-development-environment), [run Elasticsearch](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#running-elasticsearch), and [start Kibana](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#running-kibana).

One common workflow is:

1. `yarn es snapshot`
1. In another shell: `yarn start --xpack.ingestManager.enabled=true` (or set in `config.yml`)

## HTTP API
1. Nothing by default. If `xpack.ingestManager.enabled=true`, it adds the `DATASOURCE_API_ROUTES` and `AGENT_CONFIG_API_ROUTES` values in [`common/constants/routes.ts`](./common/constants/routes.ts)
1. [Integration tests](../../test/api_integration/apis/ingest_manager/endpoints.ts)
1. In later versions the EPM and Fleet routes will be added when their flags are enabled. See the [currently disabled logic to add those routes](https://github.com/jfsiii/kibana/blob/feature-ingest-manager/x-pack/plugins/ingest_manager/server/plugin.ts#L86-L90).

## Plugin architecture
Follows the `common`, `server`, `public` structure from the [Architecture Style Guide
](https://github.com/elastic/kibana/blob/master/style_guides/architecture_style_guide.md#file-and-folder-structure).

We use New Platform approach (structure, APIs, etc) where possible. There's a `kibana.json` manifest, and the server uses the `server/{index,plugin}.ts` approach from [`MIGRATION.md`](https://github.com/elastic/kibana/blob/master/src/core/MIGRATION.md#architecture).
18 changes: 18 additions & 0 deletions x-pack/plugins/ingest_manager/common/constants/agent_config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import { AgentConfigStatus } from '../types';

export const AGENT_CONFIG_SAVED_OBJECT_TYPE = 'agent_configs';

export const DEFAULT_AGENT_CONFIG_ID = 'default';

export const DEFAULT_AGENT_CONFIG = {
name: 'Default config',
namespace: 'default',
description: 'Default agent configuration created by Kibana',
status: AgentConfigStatus.Active,
datasources: [],
};
7 changes: 7 additions & 0 deletions x-pack/plugins/ingest_manager/common/constants/datasource.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

export const DATASOURCE_SAVED_OBJECT_TYPE = 'datasources';
11 changes: 11 additions & 0 deletions x-pack/plugins/ingest_manager/common/constants/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
export * from './plugin';
export * from './routes';

export * from './agent_config';
export * from './datasource';
export * from './output';
18 changes: 18 additions & 0 deletions x-pack/plugins/ingest_manager/common/constants/output.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import { OutputType } from '../types';

export const OUTPUT_SAVED_OBJECT_TYPE = 'outputs';

export const DEFAULT_OUTPUT_ID = 'default';

export const DEFAULT_OUTPUT = {
name: DEFAULT_OUTPUT_ID,
type: OutputType.Elasticsearch,
hosts: [''],
ingest_pipeline: DEFAULT_OUTPUT_ID,
api_key: '',
};
26 changes: 26 additions & 0 deletions x-pack/plugins/ingest_manager/common/constants/plugin.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import { schema } from '@kbn/config-schema';

export const PLUGIN_ID = 'ingestManager';

export const config = {
exposeToBrowser: {
epm: true,
fleet: true,
},
schema: schema.object({
enabled: schema.boolean({ defaultValue: false }),
epm: schema.object({
enabled: schema.boolean({ defaultValue: false }),
registryUrl: schema.uri({ defaultValue: 'https://epr-staging.elastic.co' }),
}),
fleet: schema.object({
enabled: schema.boolean({ defaultValue: false }),
defaultOutputHost: schema.string({ defaultValue: 'http://localhost:9200' }),
}),
}),
};
44 changes: 44 additions & 0 deletions x-pack/plugins/ingest_manager/common/constants/routes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
// Base API paths
export const API_ROOT = `/api/ingest_manager`;
export const DATASOURCE_API_ROOT = `${API_ROOT}/datasources`;
export const AGENT_CONFIG_API_ROOT = `${API_ROOT}/agent_configs`;
export const EPM_API_ROOT = `${API_ROOT}/epm`;
export const FLEET_API_ROOT = `${API_ROOT}/fleet`;

// EPM API routes
export const EPM_API_ROUTES = {
LIST_PATTERN: `${EPM_API_ROOT}/list`,
INFO_PATTERN: `${EPM_API_ROOT}/package/{pkgkey}`,
INSTALL_PATTERN: `${EPM_API_ROOT}/install/{pkgkey}`,
DELETE_PATTERN: `${EPM_API_ROOT}/delete/{pkgkey}`,
CATEGORIES_PATTERN: `${EPM_API_ROOT}/categories`,
};

// Datasource API routes
export const DATASOURCE_API_ROUTES = {
LIST_PATTERN: `${DATASOURCE_API_ROOT}`,
INFO_PATTERN: `${DATASOURCE_API_ROOT}/{datasourceId}`,
CREATE_PATTERN: `${DATASOURCE_API_ROOT}`,
UPDATE_PATTERN: `${DATASOURCE_API_ROOT}/{datasourceId}`,
DELETE_PATTERN: `${DATASOURCE_API_ROOT}/delete`,
};

// Agent config API routes
export const AGENT_CONFIG_API_ROUTES = {
LIST_PATTERN: `${AGENT_CONFIG_API_ROOT}`,
INFO_PATTERN: `${AGENT_CONFIG_API_ROOT}/{agentConfigId}`,
CREATE_PATTERN: `${AGENT_CONFIG_API_ROOT}`,
UPDATE_PATTERN: `${AGENT_CONFIG_API_ROOT}/{agentConfigId}`,
DELETE_PATTERN: `${AGENT_CONFIG_API_ROOT}/delete`,
};

// Fleet setup API routes
export const FLEET_SETUP_API_ROUTES = {
INFO_PATTERN: `${FLEET_API_ROOT}/setup`,
CREATE_PATTERN: `${FLEET_API_ROOT}/setup`,
};
8 changes: 8 additions & 0 deletions x-pack/plugins/ingest_manager/common/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
export * from './constants';
export * from './services';
export * from './types';
6 changes: 6 additions & 0 deletions x-pack/plugins/ingest_manager/common/services/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
export * from './routes';
77 changes: 77 additions & 0 deletions x-pack/plugins/ingest_manager/common/services/routes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import {
EPM_API_ROOT,
EPM_API_ROUTES,
DATASOURCE_API_ROUTES,
AGENT_CONFIG_API_ROUTES,
} from '../constants';

export const epmRouteService = {
getCategoriesPath: () => {
return EPM_API_ROUTES.CATEGORIES_PATTERN;
},

getListPath: () => {
return EPM_API_ROUTES.LIST_PATTERN;
},

getInfoPath: (pkgkey: string) => {
return EPM_API_ROUTES.INFO_PATTERN.replace('{pkgkey}', pkgkey);
},

getFilePath: (filePath: string) => {
return `${EPM_API_ROOT}${filePath}`;
},

getInstallPath: (pkgkey: string) => {
return EPM_API_ROUTES.INSTALL_PATTERN.replace('{pkgkey}', pkgkey).replace(/\/$/, ''); // trim trailing slash
},

getRemovePath: (pkgkey: string) => {
return EPM_API_ROUTES.DELETE_PATTERN.replace('{pkgkey}', pkgkey).replace(/\/$/, ''); // trim trailing slash
},
};

export const datasourceRouteService = {
getListPath: () => {
return DATASOURCE_API_ROUTES.LIST_PATTERN;
},

getInfoPath: (datasourceId: string) => {
return DATASOURCE_API_ROUTES.INFO_PATTERN.replace('{datasourceId}', datasourceId);
},

getCreatePath: () => {
return DATASOURCE_API_ROUTES.CREATE_PATTERN;
},

getUpdatePath: (datasourceId: string) => {
return DATASOURCE_API_ROUTES.UPDATE_PATTERN.replace('{datasourceId}', datasourceId);
},
};

export const agentConfigRouteService = {
getListPath: () => {
return AGENT_CONFIG_API_ROUTES.LIST_PATTERN;
},

getInfoPath: (agentConfigId: string) => {
return AGENT_CONFIG_API_ROUTES.INFO_PATTERN.replace('{agentConfigId}', agentConfigId);
},

getCreatePath: () => {
return AGENT_CONFIG_API_ROUTES.CREATE_PATTERN;
},

getUpdatePath: (agentConfigId: string) => {
return AGENT_CONFIG_API_ROUTES.UPDATE_PATTERN.replace('{agentConfigId}', agentConfigId);
},

getDeletePath: () => {
return AGENT_CONFIG_API_ROUTES.DELETE_PATTERN;
},
};
Loading