This adds a notification service to Kibana that can be used to send
asynchronous notifications, such as sending email and Slack messages,
which are intended to be configured via a combination of the
`kibana.yml` and Kibana keystore.
Once configured, the actions are automatically added to the notification
service and can be invoked via the server using the `notificationService`
singleton or HTTP to send it directly. See the included README for more
details.
Restructure testing with kbn-test package
- Run with multiple configs, move cli options to config
- Package-ify kbn-test
- Eventually we'll have functional_test_runner live in a package
of its own, and then this kbn-test will use that as a dependency,
probably still as a devDependency.
- Implement functional_tests_server
- Collapse single and multiple config apis into one command
Use kbn-es
Replace es_test_cluster + es_test_config with kbn/test utils
Implement new createEsTestCluster
Improve scripts, jsdocs, cli top-level tools
Lift error handling to the top level
* [mocha] run tests with mocha script, remove grunt-simple-mocha
* [ci] force colored output
* [ci] disable color when reading the yarn bin
* [dev/build/exec] support tooling log having its own chalk
* [dev/mocha] avoid changing the cwd of the process
* [dev/mocha] only match files, speed up negative matches
* [cli/serve/test] strip ansi control characters from logs
* [ci] disable color in all `yarn bin` invocations
* [dev/mocha] cleanup old runInBand check
* [dev/mocha] enable gloabl leak checks
Restructure testing with kbn-test package
- Run with multiple configs, move cli options to config
- Package-ify kbn-test
- Eventually we'll have functional_test_runner live in a package
of its own, and then this kbn-test will use that as a dependency,
probably still as a devDependency.
- Implement functional_tests_server
- Collapse single and multiple config apis into one command
Use kbn-es
Replace es_test_cluster + es_test_config with kbn/test utils
Implement new createEsTestCluster
Improve scripts, jsdocs, cli top-level tools
Lift error handling to the top level
* [kuery] Remove `byName` dependency
* Remove $http from kuery
* Fix test
* Add request headers
* Replace byName with getFieldByName; add isFilterable
* Replace Angular mock with static mock
* Update index pattern for query bar
* manually attach format.convert method to field
* Use KBN_FIELD_TYPES to determine isFilterable
* Bump yarn.lock file
* Add kfetch (Kibana fetch)
* Moved `getFromLegacyIndexPattern` to static index pattern functions
* Fix tests
* Mock out kfetch
* Move value formatting from getRangeScript to buildRangeFilter
* Remove getFieldByName (over abstraction)
* Split kfetch options into two
* [uiExports] migrate uiApp "uses" to explicit imports in apps
* [uiApp] update tests for getModules() method
* [optimize/uiExports] improve naming and comments
* [uiExports] sort imports so they load in the same order as before
* [testHarness] load hacks when testing in the browser
* [x-pack/uiExports] use new uiExports modules
* [testHarness] describe why we import uiExports/hacks
* [optimize] remove needless [].concat()
* [optimize/createUiExportsModule] string.includes > string.indexOf
* [uiExports/createUiExportsModule] remove needless capture of module exports
(cherry picked from commit e1a2fcbd96)
Implement support for the richer style Vega tooltips, per https://github.com/elastic/kibana/issues/17215 request. Uses [Vega tooltip plugin](https://github.com/vega/vega-tooltip) for formatting. Always enabled unless user sets `tooltips=false` flag in the `config.kibana` section of the spec.
![image](https://user-images.githubusercontent.com/1641515/39344487-7abc9eb0-49eb-11e8-89dd-bf562563ae1c.png)
## Test code
```js
{
$schema: https://vega.github.io/schema/vega/v3.json
config: {
kibana: {
tooltips: {
// always center on the mark, not mouse x,y
centerOnMark: true
position: top
padding: 20
}
}
}
data: [
{
name: table
values: [
{
title: This is a long title
fieldA: value of fld1
fld2: 42
}
]
}
]
marks: [
{
from: {data: "table"}
type: rect
encode: {
enter: {
fill: {value: "#060"}
x: {signal: "40"}
y: {signal: "40"}
width: {signal: "40"}
height: {signal: "40"}
tooltip: {signal: "datum || null"}
}
}
}
]
}
```
* update to eui 0.0.44
* keep eui dependency in x-pack
* wrap EuiBasic table column in span to avoid className prop from getting overridden
* remove brittle functional tests that are no longer needed with EUI components
* filter field list instead of chaning table size
* update x-pack snapshots
Turns out there is a significant problem with how Vega library manages its dependencies. Instead of using a fairly common "^1.2.3" form, it used "1" (major only) almost everywhere. While this works fine if node_modules and yarn.lock are deleted and rebuilt, bumping Vega lib's primary version in our package.json and using yarn install would not touch other subcomponents. This resulted in several 6.2 and 6.3 shipping with the outdated vega dependencies while we thought that we included the latest vega versions The problem has been reported vega/vega#1259 and will hopefully be solved with the next version.
In the mean time, this patch updates all vega-related dependencies in the yarn.lock file.
* Revert "Remove MathJS Feature (#15652)"
This reverts commit 43bf1dbf4a.
* replacing math with tinymath
* pining version
* updating yarn.lock
* Fixing Prettier mis formatting
* fixing tests
* Adding unsupported agg back
* Adding functional test for math aggregation
- Fixing bad tests
- Resetting page for every test suite (why donesn't beforeEach work?)
- Adding test for Math agg
* Trying to fix values (due to inconsistencies in env)
* [dev/notice] add scripts for generating NOTICE.txt file
* [notice] react-resize-detector@0.6.0 was removed in b445389b79
* [notice] move notice text into relevant source
* [dev/notice] Generate NOTICE.txt file
* [jenkins] verify that notice.txt is up to date in CI
* [tasks/notice] update test to use new NOTICE.txt file
* [dev/notice] update company name in NOTICE.txt
* [notice/cli] exit with 0 when --help requested
* [notice/cli] add helpful logging
* [notice/cli] use --validate flag name instead
* [notice/cli] simplify NEWLINE_RE, ignore obscure line endings
* [utils/decode_geo_hash] fixup comment
* [utils/decode_geo_hash] remove useless comment
* [npm] upgrade elasticsearch/elasticsearch-browser packages
* [es/patchKibanaIndex] update tests to expect indices.getMapping
* [npm] use ^ version range for elasticsearch(-browser) packages
* [es/patchKibanaIndex/tests] expand assertion
* upgrade EUI to 0.0.25
* remove last reference to TooltipTrigger
* upgraded to EUI 0.0.26
* fix warning, EuiKeyboardAccessible child must have onClick defined
* kbn history
* put Add Data section in panel and move to seperate component
* RecentlyAccessed component
* complete circle with recently accessed dashboards
* record visualizations in recent accessed history
* render recently accessed
* do not show recently accessed panel when no recently accessed history
* add test cases for home feature panels
* render dropdown when more than 5 items
* only add saved search when id is provided
* remove border around add data cards, move set up index patterns to under cards
* add dot icon to seperate recently accessed items
* fix white space issues
* add timelion sheet to recently accessed
* fix spelling errors, better name space styles, enhance dropdown label
* avoid cutting off bottom of letters, do not display separators with small screen
* wrap separator (EuiIcon) in EuiText component so it is even link text
* track history by object id to avoid duplicate entries when saved object is renamed
* align link dropdown on right side
* shift popover placement for small screens
* update recently_accessed tests to look for nodes insted of using snapshots
* move id to variable
* change 'Recently accessed' to 'Recently viewed'
* change more dropdown label
* add max-width to flex item
* include /app in link path, use arrow functions to remove bind in react props
* add to recently accessed when saved object is saved
* address cjcenizal's comments on test assertion order and react imports
* Add test-subj-selector module to packages dir.
* Rename to @kbn/test-subj-selector.
* Simplify rejectRejFiles Grunt task and ignore nested node_modules.
* Update jenkins_unit script to use yarn kbn CLI.
* [kbn-plugin-generator] add plugin generator to the repo
* [plugin-generator] use snake_case plugin name for directory name
* [plugin-generator] fix typo
* [plugin-generator] remove translation support until we resume i18n efforts
* [yarn] update lockfile
* [mocha] remove plugin-generator selector from mocha tests
* [plugin-generator] update generated readme to recommend yarn
* [plugin-generator] add readme to generator pacakge
* [plugin-generator] link from plugin-resource docs
* [plugin-generator] mention very important `kbn bootstrap` script
* [plugin-generator] rework some parts of the README
* [plugin-generator] log actual directory name with system separators
* [plugin-generator] include bootstrap/yarn preinstall check script
* lint for innerHTML and family
Browser apis like innerHTML and document.write are dangerous when used
incorrectly, so we should not be using them unless we explicitly opt-out
of the linting rule on a case by case basis.
* add no-unsanitized to eslint peerDependencies
* Build packages before running ESLint on CI
* Add production task to kbn-build
* Ensure packages are bootstrapped before running the build
* Run ESLint on kbn-build
* Introduce `kbn`, the Kibana build tool
* yarn kbn
* Make all deps devDeps
* Exclude __fixtures__ folder from Jest to avoid warnings
* Review fixes
* Update readme
* Use 'yarn kbn'
* Consistent rootPath
* Link to kbn tool
* Unsupported URL 'debug help' in contributing guide
* Upgrading the datemath.parse syntax to version 4.0
* [@elastic/datemath] bump to version 4
* Updating yarn.lock for datemath-js@4.0
* Updating to dateamath-js@4.0.1
* [yarn] upgrade react deps
* [yarn] reinstall pivotal-ui so that react dep is deduped
* [yarn] remove unused deps
* [react-ace] update snapshots to include new aria props
* [react-input-range] update snapshot with new allowSameValues prop, default is still false
* [react-select] update snapshots with new default from features added since 1.0.0-rc5
* Kibana Home page - phase two (#14749)
* add tutorial directory and home promo section
* tutorial components
* use KuiCodeEditor for displaying instruction code
* move spec files to server so joi can be used. Fetch via rest API
* Adding more tutorials (#4)
* More edits on the Apache logs tutorial
* Added nginx, mysql, and sytem modules for FB
* Moved apache to apacheLogs and added an apacheMetrics tutorial
* Added mysqlMetrics, nginxMetrics, systemMetrics tutorials
* Reduce duplication in the tutorials
This uses common objects for the install and start steps for Filebeat.
Same can be done for MB.
* fix windows path for config file
* add markdown parsing
* use mustache to replace config.kibana.version with kibana version
* add image preview to tutorial introduction
* fix css class name
* add param types constants
* add docs variables
* [WIP] Logstash Netflow module tutorial (#5)
* First draft of Logstash Netflow module tutorial
* Incorporated writing style suggestions
* pass params to template replace logic
* parameter inputs
* use isReadOnly flag from ui-framework for KuiCodeEditor
* dedemorton commits on netflow
* remove trailing slash from base links
* add config.docs.logstash and fix vertical spacing between Content component and commands
* Use logstash docs config variable
* Starting to add Deb instructions
* Fix Logstash documentation link
* Make commands optional
* Refactor: extract common LS instructions
* Edits for the existing tutorials
* change schema to support three instruction types
* [Netflow tutorial] Simplify OSX instructions
* replace axios with fetch
* pass credentials to tutorial fetch
* display cloud instructions when cloud set
* RadioButtonGroup component
* update copy
* add tutorial component jest tests
* content component test
* load isCloudEnabled in home_app
* add functional test ensuring add data tutorials are fetch and displayed
* rename card btns to 'Add data', fix type in tutorial directory tab, remove 'Set up index pattern from tutorial directory'
* move parameters form to right of instruction set title
* add copy snippet button, remove line numbers from command block
* add breadcrumb to tutorial view
* update tutorial jest snapshot
* use componentDidMount and ignore async results if componenent has been unmounted
* define shape of prop for instructionVariants and params. Create NumberParameter and StringParameter components
* add bread crumb to add data directory page
* Add cloud version of the apache_logs tutorial (#16)
* Add cloud version of the apache_logs tutorial
* Added onprem-cloud version as well
* fix styling broken by EUI rebase
* add artifacts to tutorial schema
* fix styling for code block
* [Tutorials] Netflow: instructions for onPremCloud (#18)
* Extract common on-prem cloud instructions so LS and Beats can share them
* Extracting common instructions; adding onPremCloud instructions
* fix copy bug where copy would only contain previously selected text
* make string parameter input type be text
* Implementing Elastic Cloud tutorial for Netflow module (#19)
* More tutorial edits (#20)
* More tutorial edits
This updates the on prem instructions with a step that installs the GeoIP and
UA plugins in ES. It also makes the on-prem steps more consistent with the cloud
instructions which results in less redundancy in the code.
* Show config step for all variants
* More DRY in the tutorial content
* Updated screenshot for apache_logs
* wrap markdown content in markdown-body class
* use EuiFlexGroup to remove wasted space with 'copy snippet' button and instruction text
* change OSX to macOS, use Computed property names for instruction_variant DISPLAY_MAP, replace /app/kibana with kbnBaseUrl, remove unneeded if check in copy_to_clippboard, put getTutorials mixin on server instead of request
* capitilize 'C' in Elastic Cloud
* remove try/catch from copy_to_clipboard
* Removing unrelated instructions
* Copy editing fixes
* Multiply edits to the Beats tutorials (#21)
* Updated Nginx module
* Updated MySQL logs module
* Updated system logs module
* Correct the on_prem_cloud enable steps
* Updated the Nginx metrics tutorial and added screenshot
* Updated the Apache metrics module + screenshot
* Updated the MySQL metrics module + screenshot
* Updated the system metrics module + screenshot
* prevent 'Copy snippet' button text from wrapping
* [Netflow tutorial] Windows instructions (#22)
* [Netflow tutorial] Adding onPrem instructions for Windows
* Removing unrelated/superfluous instructions
* Adding Windows instructions for onPremElasticCloud and elasticCloud
* use EuiImage so tutorial images are clickable to view in full screen
* fix jest tests
* set fullScreenIconColor and alt options for EuiImage, add space between command block and instruction text
* fix broken depenencies (#15960)
* update yarn.lock
* Switch to Yarn (#15485)
* switch to yarn
* cleanup misc references to npm
* [yarn] loosen dependency ranges so yarn will merge more deps
* fix linting error now that moment uses ESM
* [licenses] font-awesome changed the format of its license id
* Use local yarn
* Misc fixes
* eslintignore built yarn file
* Remove mkdir which doesn't do what it should do
* Check build without upgrading lots of versions
* Fix license check
* too many moments
* Better description
* Review fixes
* Lock to angular@1.6.5
* More specific version locks
* Revert "More specific version locks"
This reverts commit 11ef81102e.
* Revert "Lock to angular@1.6.5"
This reverts commit 3ade68c14c.
* rm yarn.lock; yarn
* Forcing a specific version of React, Angular, Moment
* Using vendored version of yarn in ci
* Use --frozen-lockfile
* fixes
* Update lockfile