No description
Find a file
Byron Hulcher ea8c92b353
[App Search] Allow user to manage source engines through Kibana UX (#98866)
* New bulk create route for meta engine source engines

* New delete route for meta engine source engines

* Add removeSourceEngine and onSourceEngineRemove to SourceEnginesLogicActions

* New SourceEnginesTable component

* Use new SourceEnginesTable component in SourceEngines view

* Added closeAddSourceEnginesModal and openAddSourceEnginesModal to SourceEnginesLogic

* New AddSourceEnginesModal component

* New AddSourceEnginesButton component

* Add AddSourceEnginesButton and AddSourceEnginesModal to SourceEngines view

* Allow user to select source engines to add

* Add addSourceEngines and onSourceEnginesAdd to SourceEnginesLogic

* Submit new source engines when user saves from inside AddSourceEnginesModal

* Fix failing tests

* fix i18n

* Fix imports

* Use body instead of query params for source engines bulk create endpoint

* Tests for SouceEnginesLogic actions setIndexedEngines and fetchIndexedEngines

* Re-enabling two skipped tests

* Feedback: move source engine APIs to own file

- We generally organize routes/logic etc. by view, and since this is its own view, it can get its own file

* Misc UI polish

Table:
- Add EuiPageContent bordered panel (matches Curations & API logs which is a table in a panel)
- Remove bolding on engine name (matches rest of Kibana UI)
- Remove responsive false (we do want responsive tables in Kibana)

Modal:
- Remove EuiOverlayMask - per recent EUI changes, this now comes baked in with EuiModal
- Change description text to subdued to match other modals (e.g. Curations queries) in Kibana

* Misc i18n/copy tweaks

Modal:
- Add combobox placeholder text
- i18n cancel/save buttons
- inline i18n and change title casing to sentence casing

* Table refactors

- DRY out table columns shared with the main engines tables (title & formatting change slightly from the standalone UI, but this is fine / we should prefer Kibana standardization moving forward)
- Actions column changes
  - Give it a name - axe will throw issues for table column missing headings
  - Do not make actions a conditional empty array - we should opt to remove the column totally if there is no content present, otherwise screen readers will read out blank cells unnecessarily
  - Switch to icons w/ description tooltips to match the other Kibana tables
- Remove unnecessary sorting props (we don't have sorting enabled on any columns)

Tests
- Add describe block for organization
- Add missing coverage for window confirm branch and canManageMetaEngineSourceEngines branch

* Modal test fixes

- Remove unnecessary type casting
- Remove commented out line
- Fix missing onChange function coverage

* Modal: move unmemoized array iterations to Kea selectors

- more performant: kea selectors are memoized
- cleaner/less logic in views
- easier to write unit tests for

+ rename setSelectedEngineNamesToAdd to onAddEnginesSelection
+ remove unused selectors test code

* Modal: Add isLoading UX to submit button + value renames

- isLoading prevents double clicks/dupe events, and also provides a responsive UX hint that something is happening

- Var renames: there's only one modal on the page, being extra specific with the name isn't really necessary. If we ever add more than one to this view it would probably make sense to split up the logic files or do something else. Verbose modal names/states shouldn't necessarily be the answer

* Source Engines view test fixes

- Remove unused mock values/actions
- Move constants to within main describe
- Remove unhappy vs happy path describes - there aren't enough of either scenario to warrant the distinction
- add page actions describe block and fix skipped/mounted test by shallow diving into EuiPageHeader

* [Misc] Single components/index.ts export

For easier group importing

* Move all copy consts/strings to their own i18n constants file

* Refactor recursive fetchEngines fn to shared util

+ update MetaEnginesTableLogic to use new helper/DRY out code
+ write unit tests for just that helper
+ simplify other previous logic checks to just check that the fn was called + add mock

* Tests cleanup

- Move consts into top of describe blocks to match rest of codebase
- Remove logic comments for files that are only sourcing 1 logic file
- Modal:
  - shallow is fairly cheap and it's easier / more consistent w/ other tests to start a new wrapper every test
- Logic:
  - Remove unnecessarily EnginesLogic mocks
  - Remove mount() in beforeEach - it doesn't save us that many extra lines / better to be more consistent when starting tests that mount with values vs not
  - mock clearing in beforeEach to match rest of codebase
  - describe blocks: split up actions vs listeners, move selectors between the two
  - actions: fix tests that are in a describe() but not an it() (incorrect syntax)
  - Reducer/value checks: check against entire values obj to check for regressions or untested reducers & be consistent rest of codebase
  - listeners - DRY out beforeEach of success vs error paths, combine some tests that are a bit repetitive vs just having multiple assertions
- Logic comments:
  - Remove unnecessary comments (if we're not setting a response, it seems clear we're not using it)
  - Add extra business logic context explanation as to why we call re-initialize the engine

Co-authored-by: Constance Chen <constance.chen.3@gmail.com>
2021-05-15 01:10:53 -04:00
.ci [FTR][CI] Use default distribution for all tests (#94968) 2021-05-12 15:24:25 -04:00
.github [status_page test] use navigateToApp (#100146) 2021-05-15 00:17:10 +02:00
api_docs Sharing saved objects phase 3 (#94383) 2021-05-14 14:46:17 -04:00
config Add config properties for HTTP security headers (#97158) 2021-04-19 13:12:45 -04:00
dev_docs [Docs] fixing KibanaPageTemplate docs (#100104) 2021-05-14 13:59:33 -04:00
docs [index patterns] deprecate IIndexPattern and IFieldType interfaces (#100013) 2021-05-14 15:38:20 -05:00
examples Add partial results to search examples demo (#96366) 2021-05-11 12:41:21 -07:00
licenses
packages chore(NA): moving @kbn/server-http-tools into bazel (#100153) 2021-05-14 16:14:45 -04:00
plugins
rfcs [RFC][Maps] Adding a timeslider to Maps (#98355) 2021-05-13 10:39:37 -04:00
scripts Remove the no longer used release-notes script (#97806) 2021-04-21 20:58:39 +02:00
src [index patterns] deprecate IIndexPattern and IFieldType interfaces (#100013) 2021-05-14 15:38:20 -05:00
tasks/config
test Sharing saved objects phase 3 (#94383) 2021-05-14 14:46:17 -04:00
typings [RAC] Decouple registry from alerts-as-data client (#98935) 2021-05-13 17:12:47 +02:00
utilities
vars [FTR][CI] Use default distribution for all tests (#94968) 2021-05-12 15:24:25 -04:00
x-pack [App Search] Allow user to manage source engines through Kibana UX (#98866) 2021-05-15 01:10:53 -04:00
.backportrc.json chore(NA): adds 7.13 branch and bumps 7.x on backportrc (#97804) 2021-04-21 19:08:28 +01:00
.bazelignore chore(NA): stop grouping bazel out symlink folders (#96066) 2021-04-01 14:16:14 -05:00
.bazeliskversion
.bazelrc
.bazelrc.common chore(NA): @kbn/pm new commands to support development on Bazel packages (#96465) 2021-04-12 20:24:19 -04:00
.bazelversion
.browserslistrc
.editorconfig .editorconfig MDX files should follow the same rules as MD (#96942) 2021-04-13 11:40:42 -04:00
.eslintignore Remove the no longer used release-notes script (#97806) 2021-04-21 20:58:39 +02:00
.eslintrc.js Add more strict eslint rules for discover (#99241) 2021-05-05 10:54:15 +02:00
.fossa.yml
.gitattributes
.gitignore add bazel directory back to .gitignore so it doesn't end up committed 2021-04-01 13:17:56 -07:00
.i18nrc.json
.node-version Bump Node.js from version 14.16.0 to 14.16.1 (#96382) 2021-04-07 14:31:10 -04:00
.npmrc
.nvmrc Bump Node.js from version 14.16.0 to 14.16.1 (#96382) 2021-04-07 14:31:10 -04:00
.prettierignore
.prettierrc
.stylelintignore chore(NA): stop grouping bazel out symlink folders (#96066) 2021-04-01 14:16:14 -05:00
.stylelintrc
.telemetryrc.json [Usage collection] Collect non-default kibana configs (#97368) 2021-04-20 11:02:27 -04:00
.yarnrc
api-documenter.json
BUILD.bazel chore(NA): moving @kbn/analytics into bazel (#98917) 2021-05-03 22:34:53 +01:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
FAQ.md
github_checks_reporter.json
Gruntfile.js
Jenkinsfile [CI] Don't do CI stats reporting/failures for feature branch PRs (#99668) 2021-05-10 16:38:32 -04:00
jest.config.integration.js
jest.config.js Remove /src/legacy (#95510) 2021-04-06 09:25:36 +02:00
kibana.d.ts Remove /src/legacy (#95510) 2021-04-06 09:25:36 +02:00
LICENSE.txt
NOTICE.txt [kbn-ui-shared-deps] Remove outdated polyfills (#96339) 2021-04-08 08:49:13 -05:00
package.json chore(NA): moving @kbn/server-http-tools into bazel (#100153) 2021-05-14 16:14:45 -04:00
preinstall_check.js
README.md
renovate.json5 bump version label in elastic/charts section of renovate config 2021-04-21 15:39:41 -07:00
SECURITY.md
STYLEGUIDE.mdx Syntax in styleguide.mdx is breaking docs build (#99840) 2021-05-11 18:06:42 -04:00
tsconfig.base.json Revert "TS Incremental build exclude test files (#95610)" (#96223) 2021-04-05 11:59:26 -07:00
tsconfig.browser.json
tsconfig.json [Security Solutions] (Phase 1) Adds an application cache called metrics entities and integrates it within Security Solutions behind a feature flag (#96446) 2021-04-30 12:36:06 -06:00
tsconfig.refs.json [Security Solutions] (Phase 1) Adds an application cache called metrics entities and integrates it within Security Solutions behind a feature flag (#96446) 2021-04-30 12:36:06 -06:00
tsconfig.types.json
TYPESCRIPT.md
WORKSPACE.bazel chore(NA): upgrade bazel rules nodejs to v3.5.0 (#99932) 2021-05-12 12:50:03 -04:00
yarn.lock chore(NA): moving @kbn/server-http-tools into bazel (#100153) 2021-05-14 16:14:45 -04:00

Kibana

Kibana is your window into the Elastic Stack. Specifically, it's a browser-based analytics and search dashboard for Elasticsearch.

Getting Started

If you just want to try Kibana out, check out the Elastic Stack Getting Started Page to give it a whirl.

If you're interested in diving a bit deeper and getting a taste of Kibana's capabilities, head over to the Kibana Getting Started Page.

Using a Kibana Release

If you want to use a Kibana release in production, give it a test run, or just play around:

Building and Running Kibana, and/or Contributing Code

You might want to build Kibana locally to contribute some code, test out the latest features, or try out an open PR:

Documentation

Visit Elastic.co for the full Kibana documentation.

For information about building the documentation, see the README in elastic/docs.

Version Compatibility with Elasticsearch

Ideally, you should be running Elasticsearch and Kibana with matching version numbers. If your Elasticsearch has an older version number or a newer major number than Kibana, then Kibana will fail to run. If Elasticsearch has a newer minor or patch number than Kibana, then the Kibana Server will log a warning.

Note: The version numbers below are only examples, meant to illustrate the relationships between different types of version numbers.

Situation Example Kibana version Example ES version Outcome
Versions are the same. 5.1.2 5.1.2 💚 OK
ES patch number is newer. 5.1.2 5.1.5 ⚠️ Logged warning
ES minor number is newer. 5.1.2 5.5.0 ⚠️ Logged warning
ES major number is newer. 5.1.2 6.0.0 🚫 Fatal error
ES patch number is older. 5.1.2 5.1.0 ⚠️ Logged warning
ES minor number is older. 5.1.2 5.0.0 🚫 Fatal error
ES major number is older. 5.1.2 4.0.0 🚫 Fatal error

Questions? Problems? Suggestions?

  • If you've found a bug or want to request a feature, please create a GitHub Issue. Please check to make sure someone else hasn't already created an issue for the same topic.
  • Need help using Kibana? Ask away on our Kibana Discuss Forum and a fellow community member or Elastic engineer will be glad to help you out.