Commit graph

4634 commits

Author SHA1 Message Date
Tim Sullivan
10292a427a
[Reporting/Docs] Add CSV Download breaking changes to release notes. (#192310)
This PR retrospectively adds breaking change items to the release notes:

* 8.10: path change for Download CSV from saved search panel. 
* 8.14: requirement to add a yml setting to enable the deprecated
Download CSV functionality, rather than generating a CSV report

---------

Co-authored-by: Lisa Cawley <lcawley@elastic.co>
2024-09-09 16:20:18 +00:00
Jon
37dff6429e
Revert "[Docs] Refresh dashboards docs (#191129)" (#192295)
This reverts commit 6d87f5f5e7.


https://buildkite.com/elastic/docs-build-pr/builds/139739#0191c867-8422-4698-a8a5-d800f6abac8d
2024-09-06 13:31:51 -05:00
Tim Sullivan
d3c3b28c6f
[Reporting/Docs] Add caveats of configuring reporting for screenshotting capabilities. (#192141)
## Summary

This PR echos verbiage that belongs as a footnote on the Kibana Support
Matrix web page: https://www.elastic.co/support/matrix/#matrix_os


## Checklist
- [x] Include text from the footnote of the Kibana Support Matrix
- [x] Guide users to test reporting features in a pre-production
environment
2024-09-06 09:56:40 -07:00
florent-leborgne
6d87f5f5e7
[Docs] Refresh dashboards docs (#191129)
## Summary

This PR updates the structure of the Dashboards docs and refreshes some
outdated parts of the content.
More updates will be made in future PRs to refresh screenshots and to
refresh the content more in depth.

This new structure and edits:
- distribute the pages in more user-oriented identified themes, for
better findability, scanning, and to ease possible integration of some
of these pages into in-app documentation.
- are more future proof to evolve along with upcoming features.

~I'll leave this PR as a draft until I resolve some link dependencies
coming from other docs sources and check some additional bits of
content.~

Preview available on demand on Slack.

Closes: https://github.com/elastic/platform-docs-team/issues/408 (I'll
create separate issues for remaining items)
Closes: https://github.com/elastic/platform-docs-team/issues/413
Closes: https://github.com/elastic/platform-docs-team/issues/418
2024-09-06 17:18:46 +02:00
wajihaparvez
3e312c3e3c
[Docs] Update troubleshooting with remote monitoring info - redo (#192223)
## Summary

Updated troubleshooting docs about remote monitoring

Rel: #184606
2024-09-05 17:20:37 -04:00
Marta Bondyra
9e8244f470
[Lens] Chart switch redesign (#187475)
## Summary

1. The main change is chart switch redesign:

<img width="401" alt="Screenshot 2024-08-26 at 15 08 50"
src="https://github.com/user-attachments/assets/a2da17d5-b068-4eeb-9723-0b64cc6cbcf0">

2. Toolbar changes for most of the visualization (refer to design files)

<img width="930" alt="Screenshot 2024-08-26 at 15 09 14"
src="https://github.com/user-attachments/assets/7f76aed3-99d8-438b-b304-91042c99381d">

<img width="942" alt="Screenshot 2024-08-26 at 15 08 56"
src="https://github.com/user-attachments/assets/5bed1916-8723-42b5-8f7d-4b363c5736c9">



#### Subtasks
- reorders the elements in the charts switch
- redesigns chart switch visually
- adds deprecated group (metric)
- changes the add subtype layer menu
- adds description to chart switch
- subselect for bar/gauge visualizations
- adds border to workspace panel
- changes `boxesHorizontal` icon to `boxesVertical`

Resolves https://github.com/elastic/kibana/issues/179260 also fixes
https://github.com/elastic/kibana/issues/182677
switching between chart types
2024-09-05 12:32:45 +02:00
Tre
69665cecd0
[FTR] Refactor test/common/services/* -> packages/kbn-ftr-common-functional-[ui-]services/* (#191805)
## Summary

Moving common services to respective new homes.

This PR is revived from a previously
[merged](09a365850e)
and [reverted PR](https://github.com/elastic/kibana/pull/191765) as
[detailed
here](https://github.com/elastic/kibana/pull/189051#issuecomment-2318999361).
- This was due to "extra" tests being applied to
https://github.com/elastic/kibana/pull/191708
- These "extra" tests were applied as
https://github.com/elastic/kibana/pull/191708 changes files within
`x-pack/plugins/observability_solution/` as configured
[here](https://github.com/elastic/kibana/blob/main/.buildkite/scripts/pipelines/pull_request/pipeline.ts#L129)

### Why these failures were not caught in the original
[PR](https://github.com/elastic/kibana/pull/189051)
The pipeline is generated at runtime, and the original
[PR](https://github.com/elastic/kibana/pull/189051) had zero changes
under `x-pack/plugins/observability_solution/`
 
 ## Changes on top of original PR
 - Add `ci:all-cypress-suites` label to run extra tests
- Add `services` stanza to which contains the missing references by
spreading the services from `@kbn/ftr-common-functional-services` &&
`@kbn/ftr-common-functional-ui-services` into the stanza, for the
following:
   - `x-pack/plugins/observability_solution/synthetics/e2e/config.ts`
   - `x-pack/plugins/observability_solution/apm/ftr_e2e/ftr_config.ts` 
-
`x-pack/plugins/observability_solution/observability_onboarding/e2e/ftr_config.ts`
   - `x-pack/plugins/observability_solution/profiling/e2e/ftr_config.ts`
   - `x-pack/plugins/observability_solution/synthetics/e2e/config.ts`
   - `x-pack/plugins/observability_solution/uptime/e2e/config.ts`
 

 
 
Blocked by: https://github.com/elastic/kibana/issues/191961
Resolves: https://github.com/elastic/kibana/issues/188541

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-09-05 10:00:55 +01:00
Sander Philipse
d21d3987e8
Add publicBaseUrl to Elasticsearch config (#191837)
## Summary

This adds a publicBaseUrl to the Elasticsearch plugin config so users
can set a publicly accessible URL for Elasticsearch.

---------

Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>
2024-09-04 13:45:27 +02:00
Christiane (Tina) Heiligers
37d6545699
[docs] Document internal API restriction in 9.0 (#191943)
fix: https://github.com/elastic/kibana/issues/191941

Adds note that access to internal APIs will be restricted as of 9.0:


![document-restricted-internal-API-access](https://github.com/user-attachments/assets/56b5c43d-ff6f-4b5b-8c18-2cbe1a1de7c3)

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: lcawl <lcawley@elastic.co>
2024-09-03 17:59:50 -05:00
Lisa Cawley
19dd65c244
[ResponseOps][DOCS] SSL for Cases Webhook connector (#191690) 2024-09-03 11:52:48 -05:00
Tim Sullivan
88626a77ac
[Reporting] Clean ups for deprecated export types (#188270)
Epic link: https://github.com/elastic/kibana-team/issues/720 

## Summary

This PR solves a problem in Reporting code, in that most functional
tests and API integration tests that cover PDF functionality were
referencing the deprecated `printable_pdf` export type. As of this PR,
the tests now use the `printable_pdf_v2` export type.

List of clean up changes:
* Fully remove PNGV1 (leftovers from #162517)
* Update tests and documentation to use PDFV2
* Allow users to see removed types in the listing and download reports
for removed types. This makes it possible to see `csv` and `png` job
types in the current version, even though it's not possible to create
new jobs of those types.

Context: the reporting plugin has two deprecated export types which are
still active in the code:
* `printable_pdf` - this is actively replaced with `printable_pdf_v2'
* `csv_searchsource` - this is replaced with `csv_v2' for certain
applications such as ES|QL export. For general CSV export, `csv_v2' is
currently only offered as an API`.

### Checklist

Delete any items that are not applicable to this PR.

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [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

### For maintainers

- [x] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-08-30 14:17:37 -05:00
Lisa Cawley
9f4c185b11
[DOCS] Kibana 8.15.1 release notes (#191871) 2024-08-30 11:30:01 -07:00
Lisa Cawley
22d23ffd29
[DOCS] Clarify xpack.actions.enabledActionTypes (#191772) 2024-08-30 08:21:54 -07:00
Jon
9f70009d89
Revert "[FTR] Refactor test/common/services/* -> packages/kbn-ftr-com… (#191765)
Build failure


https://buildkite.com/elastic/kibana-pull-request/builds/230868#01919ed7-15d5-425c-9b8e-146ed5fe9daf
2024-08-29 16:05:53 -05:00
Christiane (Tina) Heiligers
dd221a7be1
[Docs] Add details to SO APIs landing page (#191693)
Fix https://github.com/elastic/kibana/issues/191534
The deprecation warning in the Kibana Saved Objects API main page was
removed in https://github.com/elastic/kibana/pull/190654.

This PR adds a section about when the APIs will be removed and what to
use instead.

The PR also includes updates to other API main pages that mention the SO
APIs.

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials

VIew the [html
diff](https://kibana_bk_191693.docs-preview.app.elstc.co/diff) for these
changes:

![Short URLs API landing
page](https://github.com/user-attachments/assets/3716f33e-0d00-4ff7-b29d-7a5ba0a0f1f2)

![Data views API landing
page](https://github.com/user-attachments/assets/81c8a843-27ca-4510-a181-7ec9b20f86d6)

The updated OpenAPI document looks like this in a Bump.sh preview:


![image](https://github.com/user-attachments/assets/a8b58142-5082-4b75-8b3f-339b8a6b57e4)

---------

Co-authored-by: lcawl <lcawley@elastic.co>
2024-08-29 15:04:00 -05:00
Lisa Cawley
6a25a50dc3
[DOCS] Refresh Webhook - Case Management connector screenshots for GA (#189589) 2024-08-29 08:36:24 -07:00
Tre
09a365850e
[FTR] Refactor test/common/services/* -> packages/kbn-ftr-common-functional-[ui-]services/* (#189051)
## Summary

Moving common services to respective new homes.

Resolves: https://github.com/elastic/kibana/issues/188541

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-08-29 14:46:35 +01:00
Jorge Sanz
96a35044d0
[Docs][Maps] Update EMS docs to point to the chainguard docker image (#191663)
## Summary

Change in our
[documentation](https://www.elastic.co/guide/en/kibana/current/maps-connect-to-ems.html#elastic-maps-server)
on how to set up Elastic Maps Server locally to move from the `-ubi8`
docker image to the new one based in the `chainguard-base` docker image.
2024-08-29 09:49:11 +02:00
Tim Sullivan
ac4a786c38
[Reporting/Docs] update mention of Japanese font package requirement (#191561)
## Summary

Closes https://github.com/elastic/kibana/issues/68823

`vlgothic-fonts` is a package which is listed in the default package
repositories for CentOS/RHEL.
* [Github](https://github.com/daisukesuzuki/VLGothic)
* [Home page](https://vlgothic.dicey.org/)
2024-08-28 08:38:29 -07:00
Pius
874f5ac3cb
Clarify macOS support (#191329)
Clarifying macOS support is limited to development environments only.

Please back-port accordingly.  Thx!
2024-08-28 07:55:38 -05:00
Liam Thompson
dda6cd9d9e
[DOCS] Add known issue for 8.15.0 (fixed in 8.15.1) (#191533)
Adds known issue fixed by https://github.com/elastic/kibana/pull/189283
2024-08-28 11:33:36 +02:00
Lisa Cawley
bb7466e443
[DOCS] Microsoft Teams connector known issue (#191143) 2024-08-23 10:15:05 -07:00
Rodney Norris
e6e75ef6fa
[Search] search_indices: scaffold empty plugin (#190748)
## Summary

Scaffolding empty plugin for development of day 0 onboarding work. This
plugin is currently disabled by default and will be enabled for ES3 when
it's ready for users.
2024-08-23 17:13:52 +02:00
Lisa Cawley
b6ce155bb5
[DOCS] Clarify access to alerting system indices (#191114) 2024-08-22 12:43:59 -07:00
Saarika Bhasi
a524e27bed
[Search] Search assistant plugin setup (#190633)
## Summary

Introducing new plugin for search assistant. in the future this will be
extension of Observability AI solution solution
[plugin](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/observability_ai_assistant)

### Checklist

Delete any items that are not applicable to this PR.

- [ ] 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/main/packages/kbn-i18n/README.md)

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Sander Philipse <sander.philipse@elastic.co>
2024-08-22 06:27:33 -05:00
Gergely Kalapos
5c0991b03e
Add otel datastream patterns to APM indices (#190533)
## Summary

Part of the OTel effort. This PR adds otel datastream patterns into the
default indices that are used by the APM UI.


### Checklist

Delete any items that are not applicable to this PR.

- [x] [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
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))


### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Caue Marcondes <caue.marcondes@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-08-22 04:07:24 -05:00
florent-leborgne
2d44619f07
[Docs] Reorder What's new (#190976)
## Summary

This PR updates the structure and ordering of the What's new document
for 8.15 and deletes some duplicate entries

![Whats New
Guide](https://github.com/user-attachments/assets/34b76d60-467f-44cb-b0d6-b6408872dddf)
<img width="636" alt="image"
src="https://github.com/user-attachments/assets/518d0316-640d-4e35-aa0c-c3bbb222a264">
<img width="654" alt="image"
src="https://github.com/user-attachments/assets/a3e3cf90-5fc1-4dd4-9cfe-b3922e60812c">
<img width="657" alt="image"
src="https://github.com/user-attachments/assets/35f6fcdb-5eae-47d0-a8d2-28b186f3c155">
2024-08-22 08:28:39 +00:00
Lisa Cawley
385281b2a6
[DOCS] Improve connector privateKey and certificateAuthoritiesData setting examples (#190932) 2024-08-21 12:24:14 -07:00
Tim Sullivan
c1e751d9ff
[Reporting] small documentation updates (#190930)
## Summary

This PR offers small updates to documentation on:
* Calling Kibana APIs to automate report generation
* Using Elasticsearch APIs directly to export data
2024-08-21 09:36:22 -07:00
Lisa Cawley
cf43ba2f27
[DOCS] Remove saved object and data view API pages (#190654)
Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
2024-08-20 17:29:06 +00:00
Lisa Cawley
cd1d64569a
[DOCS] Remove machine learning, alerting, cases, and connector API pages (#190747) 2024-08-20 14:43:59 +00:00
Lisa Cawley
bb6077a209
[DOCS] Update Microsoft Teams connector (#190568) 2024-08-20 07:19:25 -07:00
Rudolf Meijering
befa09285b
[docs] Resolve migration failures: allow copying as curl and remove outdated 7.12 known issue (#190677)
## Summary

This allows users to copy the documented console commands as curl
commands. Useful since users don't have access to console when there's a
migration failure. I also removed a known 7.12 issue that's no longer
relevant for 8.x users.

Example:
<img width="815" alt="Screenshot 2024-08-19 at 12 48 36"
src="https://github.com/user-attachments/assets/973fe626-7593-4d65-91d3-3c7aab5e9c63">

clicking "copy as curl" produces:
```
curl -X PUT "localhost:9200/_security/role/grant_kibana_system_indices?pretty" -H 'Content-Type: application/json' -d'
{
  "indices": [
    {
      "names": [
        ".kibana*"
      ],
      "privileges": [
        "all"
      ],
      "allow_restricted_indices": true
    }
  ]
}
'
```

### Checklist

Delete any items that are not applicable to this PR.

- [ ] 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/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [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
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)


### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces&mdash;unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes&mdash;Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |


### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2024-08-20 16:07:52 +02:00
elena-shostak
1053ec6c7b
[Docs] Fixed endpoint in the example (#190699)
## Summary

Fixed bulk role endpoint in the example.


### Checklist
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials

__Fixes: https://github.com/elastic/kibana/issues/190697__
2024-08-20 14:14:29 +02:00
Ahmad Bamieh
69a842eab7
[Docs] add known issue (#190762)
## Summary

Add known issue in `8.15.0` to the _docs/changelog_ file and link its
corrisponding PR fix for `8.15.1`+
2024-08-20 11:37:07 +03:00
Tom Myers
e9c913dcb0
Add OpenAPI specs for EEM APIs (#190203) 2024-08-19 20:05:25 +02:00
Lisa Cawley
06f1681cc6
[DOCS] Link to new API pages (#190569) 2024-08-15 16:42:59 -07:00
Shahzad
69f6687af9
[Synthetics] Delete monitor API via id param !! (#190210)
## Summary

Allow deletion of monitor via id param !!

User can now delete monitor via passing id as url param

`DELETE <kibana host>:<port>/api/synthetics/monitors/<config_id>`

Previous bulk delete via list of ids via API body still works as well !!

Docs are updated !!
2024-08-12 21:13:33 +02:00
Julia Rechkunova
625e89e144
[Discover][DocViewer] Limit the height of long field values by default (#183736)
- Closes https://github.com/elastic/kibana/issues/181568

## Summary

This PR adds a default height limit for values in DocViewer. If the
value is too long, we visually truncate it and add "View more" button
which allows to expand to view the entire value. This way all fields in
the flyout are easily accessible (less scrolling required) even if they
contain long values. ~The height can be configured via the existing
`truncate:maxHeight` Advanced Setting.~ If user expands a value, closes
the flyout and opens it again, the value will be shown as expanded again
for that field.

![Aug-02-2024
10-24-58](https://github.com/user-attachments/assets/d3a898ce-dc92-4f5e-bc63-f1761a100e0d)


Related: https://github.com/elastic/kibana/pull/164236

## Testing

Some cases to check while testing:
- varios value formats
- legacy table vs data grid
- doc viewer flyout vs Single Document page

Sample long value:
<details>

<pre>
POST test_this/_doc/
{
  "message": """javax.servlet.ServletException: Something bad happened
at
com.example.myproject.OpenSessionInViewFilter.doFilter(OpenSessionInViewFilter.java:60)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at
com.example.myproject.ExceptionHandlerFilter.doFilter(ExceptionHandlerFilter.java:28)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at
com.example.myproject.OutputBufferFilter.doFilter(OutputBufferFilter.java:33)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: com.example.myproject.MyProjectServletException
    at com.example.myproject.MyServlet.doPost(MyServlet.java:169)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at
com.example.myproject.OpenSessionInViewFilter.doFilter(OpenSessionInViewFilter.java:30)
    ... 27 more
Caused by: org.hibernate.exception.ConstraintViolationException: could
not insert: [com.example.myproject.MyEntity]
at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96)
at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at
org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:64)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2329)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2822)
at
org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268)
at
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)
at
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
at
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at
org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at
org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:705)
    at org.hibernate.impl.SessionImpl.save(SessionImpl.java:693)
    at org.hibernate.impl.SessionImpl.save(SessionImpl.java:689)
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
at
org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:344)
    at $Proxy19.save(Unknown Source)
at com.example.myproject.MyEntityService.save(MyEntityService.java:59)
<-- relevant call (see notes below)
    at com.example.myproject.MyServlet.doPost(MyServlet.java:164)
    ... 32 more
Caused by: java.sql.SQLException: Violation of unique constraint
MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement
[...]
    at org.hsqldb.jdbc.Util.throwError(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source)
at
com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at
org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:57)
    ... 54 more"""
}
</pre>
</details>

### Checklist

- [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/main/packages/kbn-i18n/README.md)
- [x] [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
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: Davis McPhee <davismcphee@hotmail.com>
2024-08-10 04:06:10 -05:00
Stef Nestor
f69bb024b1
(Doc-) duplicate sections to SIEM docs (#188376)
Removes duplicated content in Kibana's [Elastic Security
overview](https://www.elastic.co/guide/en/security/current/es-overview.html)
page, refreshes the Security app description, and adds a reference to
the Security docset so we don't need to maintain the Kibana page.

Preview:
https://kibana_bk_188376.docs-preview.app.elstc.co/guide/en/kibana/master/xpack-siem.html

---------

Co-authored-by: nastasha.solomon <nastasha.solomon@elastic.co>
Co-authored-by: Nastasha Solomon <79124755+nastasha-solomon@users.noreply.github.com>
2024-08-08 16:45:22 -04:00
Lisa Cawley
a1dd9f8f21
[DOCS] Add 8.15.0 release notes (#189985)
Co-authored-by: Florent Le Borgne <florent.leborgne@elastic.co>
2024-08-08 09:04:52 -07:00
Milton Hultgren
c45e2d4252
[EEM] Rename assets data access to entities data access (#190072) 2024-08-08 09:00:08 -05:00
elena-shostak
c8608461ae
Bulk Role Endpoint (#189173)
## Summary

This PR adds a new `POST security/roles` API that can be used to bulk
create or update roles.

## How to test
1. Create empty roles
```
POST kbn:/api/security/roles
{
  "roles": {
    "bulk_role_1": {},
    "bulk_role_2": {}
  }
}
```
<details>
  <summary>2. Create roles with Kibana and ES privileges</summary>
  
    POST kbn:/api/security/roles
    {
      "roles": {
        "bulk_role_with_privilege_1": {
          "elasticsearch": {
            "cluster": ["manage"],
            "indices": [
              {
                "names": ["logstash-*"],
                "privileges": ["read", "view_index_metadata"]
              }
            ],
            "run_as": ["watcher_user"]
          },
          "kibana": [
            {
              "base": ["read"]
            },
            {
              "feature": {
                "dashboard": ["read"],
                "discover": ["all"],
                "ml": ["all"]
              },
              "spaces": ["marketing", "sales"]
            }
          ]
        },
        "bulk_role_with_privilege_2": {
          "elasticsearch": {
            "cluster": ["manage"],
            "indices": [
              {
                "names": ["logstash-*"],
                "privileges": ["read", "view_index_metadata"]
              }
            ],
            "run_as": ["watcher_user"]
          },
          "kibana": [
            {
              "base": ["read"]
            },
            {
              "feature": {
                "dashboard": ["read"],
                "discover": ["all"],
                "ml": ["all"]
              },
              "spaces": ["marketing", "sales"]
            }
          ]
        }
      }
    }
</details>
<details>
  <summary>3. Create roles failing validation </summary>
  
    POST kbn:/api/security/roles
    {
      "roles": {
        "bulk_role_es_invalid": {
          "elasticsearch": {
            "cluster": ["bla"]
          }
        },
        "bulk_role_kibana_invalid": {
          "kibana": [
            {
              "spaces": ["bar-space"],
              "base": [],
              "feature": {
                "fleetv2": ["all", "read"]
              }
            }
          ]
        },
        "bulk_role_valid": {
          "elasticsearch": {
            "cluster": ["all"]
          }
        }
      }
    }
</details>
<details>
<summary>4. Check validation for license (under basic license should
return security_exception) </summary>
  
  
    POST kbn:/api/security/roles
    {
      "roles": {
        "role_with_privileges_dls_fls": {
          "metadata": {
            "foo": "test-metadata"
          },
          "elasticsearch": {
            "cluster": ["manage"],
            "indices": [
              {
                "field_security": {
                  "grant": ["*"],
                  "except": ["geo.*"]
                },
                "names": ["logstash-*"],
                "privileges": ["read", "view_index_metadata"],
                "query": "{ \"match\": { \"geo.src\": \"CN\" } }"
              }
            ],
            "run_as": ["watcher_user"]
          }
        }
      }
    }

</details>

### Checklist

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [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
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

__Fixes: https://github.com/elastic/kibana/issues/187427__

## Release Notes
Added API endpoint `POST security/roles` that can be used to bulk create
or update roles.

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-08-08 14:33:25 +02:00
Colleen McGinnis
5bce919cf1
[DOCS] Add more APM UI redirects to the Observability guide (#190061)
## Summary

In https://github.com/elastic/kibana/pull/179981 we moved the APM UI
content to the Observability guide. When [backporting to the `8.14`
branch](https://github.com/elastic/kibana/pull/190009) (which is the
`current` branch at the time I'm writing this) the docs build failed
because there are some links in the APM agent docs that are hard-coded
to go to the `current` version of the docs, and those links were not
properly redirected. When [`8.15` becomes the `current`
branch](https://github.com/elastic/docs/pull/3036), I believe the docs
build will fail unless we implement the AsciiDoc redirects in this PR.

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2024-08-07 16:42:45 +00:00
Brandon Morelli
91b80ff338
Remove APM documentation from Kibana repo and Guide (#179981)
### Summary

Related to https://github.com/elastic/observability-docs/pull/3723.

---------

Co-authored-by: Colleen McGinnis <colleen.mcginnis@elastic.co>
2024-08-06 20:08:07 +00:00
Tim Sullivan
83f6fa4872
[Reporting] Update documentation to distinguish Screenshotting and CSV features (#189761)
## Summary

Documentation updates to distinguish the main parts of Reporting:
 * service framework
 * CSV export
 * Screenshot export (PNG/PDF)

Additionally, this PR attempts to consistently apply the admonitions
regarding limitations of the different export types.

Part of https://github.com/elastic/kibana-team/issues/720

---------

Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
2024-08-06 18:49:36 +00:00
Dario Gieselaar
769fb994df
[Inference] Inference plugin + chatComplete API (#188280)
This PR introduces an Inference plugin.

## Goals

- Provide a single place for all interactions with large language models
and other generative AI adjacent tasks.
- Abstract away differences between different LLM providers like OpenAI,
Bedrock and Gemini
- Host commonly used LLM-based tasks like generating ES|QL from natural
language and knowledge base recall.
- Allow us to move gradually to the _inference endpoint without
disrupting engineers.

## Architecture and examples

![CleanShot 2024-07-14 at 14 45
27@2x](https://github.com/user-attachments/assets/e65a3e47-bce1-4dcf-bbed-4f8ac12a104f)

## Terminology

The following concepts are referenced throughout this POC:

- **chat completion**: the process in which the LLM generates the next
message in the conversation. This is sometimes referred to as inference,
text completion, text generation or content generation.
- **tasks**: higher level tasks that, based on its input, use the LLM in
conjunction with other services like Elasticsearch to achieve a result.
The example in this POC is natural language to ES|QL.
- **tools**: a set of tools that the LLM can choose to use when
generating the next message. In essence, it allows the consumer of the
API to define a schema for structured output instead of plain text, and
having the LLM select the most appropriate one.
- **tool call**: when the LLM has chosen a tool (schema) to use for its
output, and returns a document that matches the schema, this is referred
to as a tool call.

## Usage examples

```ts

class MyPlugin {
  setup(coreSetup, pluginsSetup) {
    const router = coreSetup.http.createRouter();

    router.post(
      {
        path: '/internal/my_plugin/do_something',
        validate: {
          body: schema.object({
            connectorId: schema.string(),
          }),
        },
      },
      async (context, request, response) => {
        const [coreStart, pluginsStart] = await coreSetup.getStartServices();

        const inferenceClient = pluginsSetup.inference.getClient({ request });

        const chatComplete$ = inferenceClient.chatComplete({
          connectorId: request.body.connectorId,
          system: `Here is my system message`,
          messages: [
            {
              role: MessageRole.User,
              content: 'Do something',
            },
          ],
        });

        const message = await lastValueFrom(
          chatComplete$.pipe(withoutTokenCountEvents(), withoutChunkEvents())
        );

        return response.ok({
          body: {
            message,
          },
        });
      }
    );
  }
}
```

## Implementation

The bulk of the work here is implementing a `chatComplete` API. Here's
what it does:

- Formats the request for the specific LLM that is being called (all
have different API specifications).
- Executes the specified connector with the formatted request.
- Creates and returns an Observable, and starts reading from the stream.
- Every event in the stream is normalized to a format that is close to
(but not exactly the same) as OpenAI's format, and emitted as a value
from the Observable.
- When the stream ends, the individual events (chunks) are concatenated
into a single message.
- If the LLM has called any tools, the tool call is validated according
to its schema.
- After emitting the message, the Observable completes

There's also a thin wrapper around this API, which is called the
`output` API. It simplifies a few things:

- It doesn't require a conversation (list of messages), a simple `input`
string suffices.
- You can define a schema for the output of the LLM. 
- It drops the token count events that are emitted
- It simplifies the event format (update & complete)

### Observable event streams

These APIs, both on the client and the server, return Observables that
emit events. When converting the Observable into a stream, the following
things happen:

- Errors are caught and serialized as events sent over the stream (after
an error, the stream ends).
- The response stream outputs data as [server-sent
events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
- The client that reads the stream, parses the event source as an
Observable, and if it encounters a serialized error, it deserializes it
and throws an error in the Observable.

### Errors

All known errors are instances, and not extensions, from the
`InferenceTaskError` base class, which has a `code`, a `message`, and
`meta` information about the error. This allows us to serialize and
deserialize errors over the wire without a complicated factory pattern.

### Tools

Tools are defined as a record, with a `description` and optionally a
`schema`. The reason why it's a record is because of type-safety. This
allows us to have fully typed tool calls (e.g. when the name of the tool
being called is `x`, its arguments are typed as the schema of `x`).

## Notes for reviewers

- I've only added one reference implementation for a connector adapter,
which is OpenAI. Adding more would create noise in the PR, but I can add
them as well. Bedrock would need simulated function calling, which I
would also expect to be handled by this plugin.
- Similarly, the natural language to ES|QL task just creates dummy
steps, as moving the entire implementation would mean 1000s of
additional LOC due to it needing the documentation, for instance.
- Observables over promises/iterators: Observables are a well-defined
and widely-adopted solution for async programming. Promises are not
suitable for streamed/chunked responses because there are no
intermediate values. Async iterators are not widely adopted for Kibana
engineers.
- JSON Schema over Zod: I've tried using Zod, because I like its
ergonomics over plain JSON Schema, but we need to convert it to JSON
Schema at some point, which is a lossy conversion, creating a risk of
using features that we cannot convert to JSON Schema. Additionally,
tools for converting Zod to and [from JSON Schema are not always
suitable
](https://github.com/StefanTerdell/json-schema-to-zod#use-at-runtime).
I've implemented my own JSON Schema to type definition, as
[json-schema-to-ts](https://github.com/ThomasAribart/json-schema-to-ts)
is very slow.
- There's no option for raw input or output. There could be, but it
would defeat the purpose of the normalization that the `chatComplete`
API handles. At that point it might be better to use the connector
directly.
- That also means that for LangChain, something would be needed to
convert the Observable into an async iterator that returns
OpenAI-compatible output. This is doable, although it would be nice if
we could just use the output from the OpenAI API in that case.
- I have not made room for any vendor-specific parameters in the
`chatComplete` API. We might need it, but hopefully not.
- I think type safety is critical here, so there is some TypeScript
voodoo in some places to make that happen.
- `system` is not a message in the conversation, but a separate
property. Given the semantics of a system message (there can only be
one, and only at the beginning of the conversation), I think it's easier
to make it a top-level property than a message type.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-08-06 04:07:33 -05:00
István Zoltán Szabó
99ba4d8ad3
[DOCS] Updates log pattern analysis docs in Discover (#189876)
## Summary

This PR updates the Log pattern analysis in Discover documentation to
reflect the latest changes in the feature. It also removes the technical
preview admonition at the top of the page.
2024-08-05 16:05:02 +02:00
Lisa Cawley
a726ef64bf
[DOCS] Add known issue to 8.14 release notes (#189583) 2024-08-01 12:05:50 -07:00
Tim Sullivan
4e0910a166
[Spaces] UX improvements to spaces grid (#188261)
## Summary

This PR offers UX improvements to the Spaces Management listing page
which are part of epic:
https://github.com/elastic/kibana-team/issues/785

* Use a badge to denote the current space
* Update wording of the "features visible" column header
* Truncate Space description text
* Add an action to switch to the space identified by the table row.

In the Roles & Spaces UX Improvements project, our roll out plan is work
in https://github.com/elastic/kibana/pull/184697 and to pull small
mergeable changes a little at a time, to release the changes as separate
PRs.

### Screenshot

**Before:**
<img width="1513" alt="image"
src="https://github.com/user-attachments/assets/2b6017f6-2395-464b-a176-3e8fbf51a2a4">

**After:**
<img width="1511" alt="image"
src="https://github.com/user-attachments/assets/b550a186-7b32-4c52-a3fb-bf285452a597">

### Release Note

Added minor user experience improvements to Spaces Management in Stack
Management.

### 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/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [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
- [X] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [X] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [X] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [X] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: elena-shostak <165678770+elena-shostak@users.noreply.github.com>
2024-08-01 13:34:40 -05:00