* wip file upload component
* early version of upload component, ui only
* compressed buttons
* retry button and restructure some more stuff about default args for the stories
* added first iteration of upload state with tests
* do not self-unsubscribe
* remove unused import
* added simple state store observable and ability to abort uploads
* rename file_upload => file_upload_ui
* rename fileupload -> uploadfile and created new upload_files.ts stateful component, wip
* move file kinds registry to common
* hook up files registry to public side, also delete server side implementation
* implemented upload file ui, changed files$ to be a list of objects, not an array of observables
* did a bunch of stuff hooking up state to component
* added public side mock for filesclient
* rather use existing state to derive values, some other stuff
* added comment
* added files context
* throw first error
* check max file size and added abort state tets
* use i18n
* check mime type too and handle retry state correctly
* handle immediate upload
* update error message
* actually give files back after done
* upload files => upload file and move some stuff around
* map instead of tap
* use form row for showing the error message
* minor refactor
* export everything
* move some files around
* added some react jest tests too
* actually add the test file (previous commit was for a fix
* added processing of file names
* try fix import path
* remove stories for UI component
* type lints
* added i18n.json
* reverse direction again
* kibana utils bundle added
* type lint
* remove unnecessary variable
* updated where route registration happens
* remove _
* removed an option (compressed) also enabled repeated uploads and updated how the error message is laid out
* put upload file component behind lazy laoding
* added export of component back in
* typo
* do not show messages while uploading
* added a test case for the display of error messages
* remove unused import
* expand comment
* use the correct file name parser!
* updated story name and how long error message is generated
* rename inner render method
* fix types
* upload_file_ui -> upload_file.component
* address a11y violation and use inline css only
* updated copy per feedback
* refactor state class per feedback
* refactor to use context per vadims recommendation
* added some more tests
* added a comment and allowed passing through of kind type
* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'
* removed props from .component since we now have context
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Adds the code for the dual brush component for users to be able select log rate spikes in histogram charts.
For this PR a new package @kbn/aiops-components was created that also includes ProgressControls from @kbn/aiops-utils now. The reason for this is: The brush component includes code from d3 that cannot be imported on the server side which aiops-utils was also used for.
Updates the API endpoint "/internal/aiops/explain_log_rate_spikes" to work with real data instead of the dummy example.
The analysis now includes identifying field candidates and statistically significant field value pairs. Because there is no UI in place yet to allow a user to select custom time ranges for baseline and deviation, for now we fetch a date histogram of the selected index pattern and identify the parameters to get passed as WindowParameters automatically by picking the part of the date histogram with the highest doc count.
This PR is more about getting the API endpoint into shape and updates integration tests too. The UI code should be considered temporary. At the moment it just outputs the returned analysis state as raw JSON in a EUI code block.
* Add kubernetes link on nav sidebar
* Create new plugin for k8s vis page
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Paulo Henrique <paulo.scape@gmail.com>
Sets up the boilerplate code for the aiops plugin and adds a demo page within the ML app to demonstrate single API request data streaming from Kibana server to UI client.
* [ML] Add index visualizer
* [ML] Readd support for global state
* [ML] Add time buckets & fix dependencies
* [ML] Working ver
* [ML] Add back and boolean support
* [ML] Remove old files inside ml
* [ML] Rename files
* [ML] Move field type icon
* [ML] Create new folder structure
* [ML] Organize index_data_visualizer
* [ML] Move types into index_data_visualizer folder
* [ML] Move more files into file_data_visualizer
* [ML] Move more files into index_data_visualizer
* [ML] Add new data visualizer model
* [ML] Remove getVisualizerFieldStats which is not used by dv
* [ML] Delete redundant folder
* [ML] Copy old data visualizer routes to new plugin
* [ML] Remove old routes
* [ML] Disable for ml job cards tests for now
* [ML] Remove todos
* [ML] Move the toast error to the UI component
* [ML] Fix map styling
* [ML] Add runtime_mappings for internal/file_upload/time_field_range
* [ML] Move routes into folder
* [ML] Update permissions
* [ML] Update texts
* [ML] Update schemas import and api get_field_stats
* [ML] Reorg folders into common
* [ML] Update types & tests
* [ML] Update internal/data_visualizer permissions and action panel tests
* [ML] Update imports after #100863
* [ML] Fix CI
* [ML] Rename folder from file_data_visualizer to data_visualizer
* [ML] Rename i18n ids
* [ML] Update fileDataVisualizer -> dataVisualizer dependency name in ml plugin
* [ML] Remove ml prefix in data test subjs
* [ML] Fix settings and docs
* [ML] Update plugin description
* [ML] Remove mlContext dependency completely
* [ML] Set query to optional
* Revert "[ML] Update plugin description"
This reverts commit 4ab1a25c
* [ML] Update plugins list docs
* [ML] Fix types and i18n
* [ML] Revert ml data test subj/class name changes
* [ML] Split up data visualizer model, remove Logger
* [ML] Remove empty file and indexPatternFieldEditor
* [ML] Move imports of file_upload
* [ML] Update plugin dependencies
* Re-add missing data_visualizer.json
* Remove capabilities in data_visualizer
* Fix test subjs
* Update ownership for data_visualizer and file_upload code to be ml
* Update estypes after 98266
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Phase 1 of a multi-phase cautious approach for adding an experimental application cache for Kibana solutions called `metric_entities` and integrates it within Security Solutions.
Phase 1 is putting experimental support into the application without breaking existing features. Lots of TODO's, conversations and a possible RFC from phase 1 to phase 2 approach. Some features are missing, but for phase 1 the general idea and code is all there.
To enable this first phase after checking out the branch add this to your `kibana.dev.yml`
```yml
xpack.metricsEntities.enabled: true
xpack.securitySolution.enableExperimental: ['metricsEntitiesEnabled']
```
Then go into Stack Management -> Advanced Settings (Under Security Solutions) and set the enabled to true like so:
<img width="1229" alt="Screen Shot 2021-04-08 at 2 21 02 PM" src="https://user-images.githubusercontent.com/1151048/114091276-b3cbb700-9875-11eb-9083-5c1d91dd20ed.png">
Next go to the security_solutions page and you will see it being activated and you will have these transforms running if you look under stack management:
<img width="1710" alt="Screen Shot 2021-04-29 at 2 00 27 PM" src="https://user-images.githubusercontent.com/1151048/116611174-4a2e4e00-a8f3-11eb-9e15-55cb504dfb2a.png">
On the hosts page, network, page, etc... You can see them being activated when you have no query/filter and you click on request:
<img width="1405" alt="Screen Shot 2021-04-29 at 2 01 28 PM" src="https://user-images.githubusercontent.com/1151048/116611274-6a5e0d00-a8f3-11eb-9998-9f5b3d1c5c63.png">
You will see in the request the index patterns all starting with `estc_xyz*`
### Checklist
Delete any items that are not applicable to this PR.
- [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)
We have lots of TODO's but no concrete docs with this just yet.
- [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials
Behind a feature flag and this isn't there yet.
- [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
* [ML] Moving file data vizualizer to file upload plugin
* removing maps plug dependency
* fixing imports
* small refactor
* adding missing endpoints
* fixing translations
* fxing table controls
* fixing types and disabling geo point test
* actually disabling geo point test
* making endpoints internal
* moving UI code to separate plugin
* enabling maps integration
* cleaning up dependencies
* fixing translation ids
* moving analyze file endpoint out of file upload plugin
* fixing transtations issues
* refactor for lazy loading of component
* updating limits
* updating plugin asciidoc
* code clean up
* further clean up
* adding comment
* fixing really obvious CI error
* removing commented out include
* reenabling geo point test
* fixing incorrectly changed import
* removing ml from labels and identifiers
* renaming function
* moving analyse file endpoint to file upload plugin
* reverting import path changes
* adding esUiShared back in
* fixing navigation tabs alignment in basic license
* adding key to tab wrapper
* reverting test label
* further removal of ml references
* removing ml label from more identifiers
* fixing tests
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
### Summary
In preparation for moving all the exceptions UI components into the lists plugin adds some linting, adds the lists plugin to the i18n config and adds storybook support. Tried to add a bit stricter linting than exists in the security solution right now, rules that we've talked about wanting to enable.
* Rename alerts plugin to alerting
* Deprecate old config values
* Few more renames
* Update plugin list
* Rename xpack.alerts -> xpack.alerting
* Fix some ESLint rules
* Fix typecheck
* Fix some test failures
* Some more renames
* Fix ESLint
* Fix some test failures
* Fix failing jest test
* Undo exclusive test
* Fix APM deps
* Fix docs
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* first draft
* update plugin list
* fix tsproject
* update bundle limits file
* remove unused start dep
* adapt imports
* POC of footer banner
* update styles, mostly
* plug banner to uiSettings
* adding some unit tests
* add tests on sort_fields
* cleanup sums in sass mixins
* some self review stuff
* update generated doc
* add tests for color field
* update chrome header test snapshots
* retrieve license info from the server
* switch from uiSettings to plugin config
* update plugin list description
* update default colors
* NIT
* add markdown support
* fix banner overlap in fullscreen mode
* change banner height to 32px
* change banner's font size to 14
* delete unused uiSettings
* Init connector
* Add test
* Improve comment type
* Add integration tests
* Fix i18n
* Improve tests
* Show unknown when username is null
* Improve comment type
* Pass connector to case client
* Improve type after PR #82125
* Add comment migration test
* Fix integration tests
* Fix reporter on table
* Create case connector ui
* Add connector to README
* Improve casting on executor
* Translate name
* Improve test
* Create comment type enum
* Fix type
* Fix i18n
* Move README to cases
* Filter out case connector from alerting
Co-authored-by: Mike Côté <mikecote@users.noreply.github.com>
Co-authored-by: Mike Côté <mikecote@users.noreply.github.com>
* create xpack plugin skeleton, start to implement management section
* add tag creation modal
* first implementation of the tags table
* use InMemoryTable
* add edit modal and delete action
* update plugin list
* add tag list, fix types
* add capabilities check on client-side
* add tag combo box component
* add missing i18n keys
* fix privilege FTR tests
* add base structure for FTR tests
* fix feature ftr test
* use string literals for i18n
* create savedObjectsTaggingOss plugin, move API types to oss plugin, start to wire to SO management page.
* update plugin list
* fix types
* allow to use `_find` with multiple references
* add FTR test for _find API on references fields
* add _find integration tests
* update generated doc
* start to implement tag filtering on SO management section
* update generated docs
* wire tagging API to dashboard listing page
* fix i18n namespace
* fix type & tests
* update dashboard listing snapshots
* adapt FTR listingTable service to search for parsable queries
* wite tagging API to visualize listing
* update tagging plugin limits
* add server-side and client-side validation for tag create/edit
* rename title field to name
* fix types
* fix types bis
* add removeReferencesTo API to SOR/SOC
* update generated doc
* add server-side unit test for `savedObjectsTagging` plugin
* move tagging API types to its own file
* add savedObjectsTaggingOss mock
* add tags_cache tests
* add tests for client-side tag client
* extract uiApi to distinct files
* various API improvements
* add more tests
* add link between tag and so management sections + add connection counts
* add base functional test suite for tagging
* add more FTR tests
* improve feature control func test
* update codeowners
* update generated doc
* fix access to proxy modal
* adapt SO save modal to allow to add tag field
* add SO decorator registry and tag implementation
* add unit tests for SO tag decorator
* add functional tests for visualize integration
* add tag SO read permission for vis/dash feature
* add RBAC api integ tests
* add API integration tests
* add test for getTagConnectionsUrl
* add SOM test suite
* add dashboard integration suite
* remove test line
* add missing unit tests
* improve API types doc
* fix create modal save button label
* remove console.log
* improve doc
* self review
* add refresh interval for tag cache
* improve page object doc
* minor cleanup
* address review comments
* small layout fixes
* add initial focus
* use lazy accessor for tag request handler context
* adapt SOM export and export route to handle references
* remove icon from feature config due to master changes
* fix SO table tests
* update generated docs
* sort tags by name in filter dropdown and listing component
* wire SO tagging to dashboard save modal
* fix types
* - add 'create tag' action in tag selector
- add notifications on update/create/delete from management
- delete modal wording
* add description max length validation
* remove real-time validation
* fix i18n bundle id
* update expected size of savedObjectsTagging plugin
* use own useIfMounted
* update limit again, contract components cannot be lazy loaded atm.
* math is hard
* remove single usage of lodash for bundle size
* add async imports for create/edit modal
* add FTR test for 'create tag' action from tag selector
* allow 'create new' option to prepopulate name field
* extract savedObjectToTag
* add advancedSettings read user for security api_integ suite
* add audit login for security client wrapper
* use import type when possible
* wire SO tagging to lens visualization
* fix lens jest test
* Fix `create tag` option being selected when closing the selector dropdown
* add sorting to tag column from getTableColumnDef
* address some of restrry comments
* rename tag selector's setSelected option to onTagsSelected
* fix audit logging even type for saved_object_remove_references
* update plugin size limit to current size
* adapt maxlength validation wording
* remove selection column until we have batch action menu
* remove connections link when user lack read privilege to savedObjectManagement
* forbid registering multiple SO decorators with the same priority
* add so decorator test
* extract getTagFindReferences and create API mock
* update audit-logging ascidoc
* doc nit
* throw conflict error if update returns any failure
* use refresh=true as default
* wording nits
* export: rename `references` to `hasReference`
* update generated doc
* set description max length to 100
* do not initialize tag cache on anonymous pages
* split fetchObjectsToExport into two distinct functions
* change tag client `delete` call order
* tsdoc nits
* more nits
* add README for oss plugin
* add oss plugin start tests
* SavedObject.find: rename `references` to `hasReference`
* change section description label
* remove url prefix constants
* last nits and comments
* update generated doc
Renames "Built-In Alerts" feature to "Stack Alerts" and "Actions" feature to "Actions and Connectors" as we've decided these names make more appropriate and better communicate what these features are.
This pr makes sure there is way to disable URL drilldown feature.
I decided to extract Url drilldown definition into a separate plugin to benefit from regular disabling a plugin feature.
Having it as a separate plugin also makes sense because we will start adding registries specific to URL drilldown implementation
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>