Commit graph

4128 commits

Author SHA1 Message Date
James Rodewig
b7b198e2ba
[DOCS] Add TOC to landing page (#161411)
### Summary
- Adds the TOC to the Kibana docs landing page. Removes the right sidebar from the landing page.
- Removes the "View all Elastic docs" link from the bottom of the landing page
2023-07-07 12:03:32 -04:00
Brandon Morelli
3ced121be0
[APM] UX text review (#161400)
## Summary

@gchaps and I met to review text on some APM UI pages. Outcomes:

1. Service **m**ap or Service **M**ap — there is inconsistency in the
APM UI with how we refer to Service maps. In some cases, we use title
case (Service Map). In others, we use sentence case (Service map). As
per the [EUI writing
guidelines](https://eui.elastic.co/#/guidelines/writing/guidelines#capitalization),
we should use title case for product features.
2. Storage **e**xplorer or Storage **E**xplorer — same story here. We
use title case sometimes and sentence case others. We should use title
case as this is a product feature.
3. Various text enhancements and changes.
2023-07-07 07:41:46 -07:00
Felix Barnsteiner
5c0f034e75
Clarify documentation for the observability:enableComparisonByDefault setting (#161372)
The previous description
> Enables the comparison feature in the APM app.

makes it sound like the entire feature would be disabled when setting
the option to false.
2023-07-07 09:52:47 +02:00
Lisa Cawley
b7e9dc0e7e
[DOCS] Add "Category" field to cases (#161315) 2023-07-06 09:06:17 -07:00
Lisa Cawley
8afb9b086c
[DOCS] Remove deprecated action variables from rule APIs (#161216) 2023-07-06 07:49:49 -07:00
Sergi Massaneda
f2e773d435
[SecuritySolution] Rename security solution plugins (#161153)
## Summary

closes: https://github.com/elastic/kibana/issues/159685

- Renaming _x-pack/plugins_:
`serverless_security` -> `security_solution_serverless`
`ess_security` -> `security_solution_ess`

- All the related configurations and types have also been renamed.
- i18n translation prefixes updated
- relocation of internal `security_solution_serverless` directories to
be consistent with `security_solution_ess`

### Eslint
I also added the plugins in the `.eslintrc` configuration, defining the
same rules as the `security_solution` plugin.
All eslint errors have been addressed (mainly _type_ imports errors)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-07-05 13:51:49 +02:00
Antonio
f43601d294
[Cases] Validate page and perPage parameters in find APIs (#161111)
Connected to https://github.com/elastic/kibana/issues/146945

## Summary

| Description  | Limit | Done? | Documented?
| ------------- | ---- | :---: | ---- |
| Total number of cases/user actions/comments per page | 100 |
 | No | N/A |
| Maximum number of cases/user actions/comments returned from the API |
10.000 |  | No | N/A |

### 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

### Release Notes

Max value for perPage parameter in find Cases API is now 100.
Max value for perPage parameter in find User Actions API is now 100.
Max value for perPage parameter in find Comments API is now 100.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: lcawl <lcawley@elastic.co>
2023-07-05 13:33:09 +02:00
Marco Antonio Ghiani
abe58cb011
[Logs Shared] Move LogStream and LogView into new shared plugin (#161151)
## 📓 Summary

Closes #159128 

Due to a dependencies issue when disabling a plugin in serverless mode,
the LogStream feature and related logic were disabled for every
consumer.

We decided to split this shared component and endpoint into their own
plugin of shared logs utilities, reducing to the minimum the required
dependency that could disable the plugin.

What we moved can be summarized with:
- `infrastructure-monitoring-log-view` saved object definition and
registration
- LogViews server/client services (exposed with start contract) +
related endpoints
- LogEntries server service + related endpoints
- LogEntriesDomain logic (exposed with start contract)
- `<LogStream />` component
- `<ScrollableLogTextStreamView />` component and related logic
- LogView state machine
- Containers/Hooks to consume the moved APIs.
- Common types/utils definition, now exported and consumed as a
dependency from the `infra` plugin.

## 🤓 Review hints

Most of the changes are just renaming and moving stuff into the new
plugin, but for some operations was required to implement new logic,
which may deserve a more critical review:
- server/public `plugin.ts` files for the `infra` and `logs_shared`
plugins. The new plugin now registers the fallback actions to retrieve a
source configuration if there's no stored log view. It also set the
configuration for the message field and registers the log view saved
object.
- the `logEntriesDomain` has also been moved inside the new plugin, but
is also used by the logs-analysis endpoints, so it is exposed by the
logs_shared plugin and consumed by `infra`.

## 👣 Following steps

We currently are still using the `observability` plugin for consuming
the CoPilot feature on our LogsStream flyout.
The plugin dependency is marked as optional, so disabling the
`observability` plugin in a serverless environment won't disable also
the exposed features in this new plugin, but it'll affect only the
CoPilot feature, which won't be loaded.

In future, would be nice to extract the CoPilot feature into its own
package/plugin, so that also serverless projects can consume it without
depending on `observability.

---------

Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-07-05 10:30:28 +02:00
Stef Nestor
b340cb301b
[DOC+] License not available is KB-ES connection error (#161176)
👋🏼 howdy, team! When Kibana can't connect to Elasticsearch (past finding master /
network issue, just unhealthy cluster ballpark), its code logic cascades
into first tripping warn/error log `license is not available`.

This is a red-herring in that the license can not be determined and user
should investigate the network connection / Elasticsearch health rather
than investigating for lapsed licenses.

Adding this into the "Kibana not ready" docs since it raises at this
point in the flow to hopefully allow users to search-find it in our
official docs rather than e.g. top-goggle-results: [Elastic
Discuss](https://discuss.elastic.co/t/license-not-available/265931),
[external Github](https://github.com/spujadas/elk-docker/issues/349).
2023-07-04 09:26:43 -05:00
Giorgos Bamparopoulos
bfe6cf82e0
[DOCS] Update the 8.8.2 release notes (#161163) 2023-07-04 07:04:40 -04:00
Brandon Morelli
9efbd2243c
[APM] Documentation updates (#160951)
### Summary

This PR makes a handful of updates to the APM app documentation:

- [x] **Agent explorer**
- New page
[here](https://kibana_160951.docs-preview.app.elstc.co/guide/en/kibana/master/agent-explorer.html).
  - _Closes https://github.com/elastic/observability-docs/issues/2886_
- [x] **Trace explorer**
- New section
[here](https://kibana_160951.docs-preview.app.elstc.co/guide/en/kibana/master/traces.html#trace-explorer).
  - _Closes https://github.com/elastic/observability-docs/issues/2885_
- [x] **Dependency operations**
- New section
[here](https://kibana_160951.docs-preview.app.elstc.co/guide/en/kibana/master/dependencies.html#dependencies-operations).
  - _Closes https://github.com/elastic/observability-docs/issues/2889_
- [x] **Adds missing settings and APM Labs info**
- We didn't have documentation on how to enable APM Labs. We [do
now](https://kibana_160951.docs-preview.app.elstc.co/guide/en/kibana/master/apm-settings-in-kibana.html#apm-labs).
- I noticed Labs settings were missing from the documentation. Those
have now been added to the [Kibana advanced
settings](https://kibana_160951.docs-preview.app.elstc.co/guide/en/kibana/master/advanced-options.html#observability-advanced-settings).
2023-06-30 11:49:43 -07:00
Brandon Morelli
4ed60697e9
[APM] Documentation updates (#160568)
### Summary

This PR makes a handful of updates to the APM app documentation:

- [x] **Alerts tab, workflow, and grouping**
- Rewrote most of our [alerting
documentation](https://kibana_160568.docs-preview.app.elstc.co/guide/en/kibana/master/apm-alerts.html#apm-alert-view-active)
to explain the new granularity level of alerts, address new alert names,
and explain the different ways to view active alerts.
- Updated the
[Services](https://kibana_160568.docs-preview.app.elstc.co/guide/en/kibana/master/services.html)
documentation to describe the alert badge and link to alerting docs.
  - _Closes https://github.com/elastic/observability-docs/issues/2887_
  - _Closes https://github.com/elastic/observability-docs/issues/2888_
  - _Closes https://github.com/elastic/observability-docs/issues/2878_
- [x] **Infrastructure tab**
- Added a new [top-level
page](https://kibana_160568.docs-preview.app.elstc.co/guide/en/kibana/master/infrastructure.html)
explaining what this page is useful for.
  - _Closes https://github.com/elastic/observability-docs/issues/2892_
- [x] **Log views and correlation**
- Added a new [top-level page
](https://kibana_160568.docs-preview.app.elstc.co/guide/en/kibana/master/logs.html)that
links to our log correlation docs.
- Updated our [transaction
documentation](https://kibana_160568.docs-preview.app.elstc.co/guide/en/kibana/master/transactions.html#transaction-trace-sample)
with new information and a link to our log correlation docs.
  - _Closes https://github.com/elastic/observability-docs/issues/2891_
- [x] **New AWS Lambda metrics**
- Most of the new charts have tooltips explaining what the charts do. I
updated the screenshot and added some additional information to the
[overview](https://kibana_160568.docs-preview.app.elstc.co/guide/en/kibana/master/apm-lambda.html)
to highlight some of the new features of this page.
  - _Closes https://github.com/elastic/observability-docs/issues/2890_
- [x] **New screenshots**
- I updated any screenshots I noticed were outdated while working on the
above content. Screenshot updates are not necessarily related to the
changes described above.
2023-06-30 11:02:58 -07:00
James Rodewig
e7e1932854
Remove 8.8.2 coming tag (#160989) 2023-06-30 09:30:00 -04:00
Ignacio Rivas
ec620e7fb3
[Deployment Management] Add cards navigation in management landing page for serverless (#160096) 2023-06-30 11:27:56 +02:00
Lisa Cawley
8a1902c66e
[OAS] Add default spaces to case paths (#160831) 2023-06-29 08:41:58 -07:00
Pius
89b97a52ec
Add Fleet audit logging memory leak to 8.8.0-8.8.1 known issues (#160566)
This PR adds Fleet audit logging memory leak to 8.8.0-8.8.1 known issues.  

Ref: https://github.com/elastic/kibana/pull/159807

Co-authored-by: James Rodewig <james.rodewig@elastic.co>
Co-authored-by: David Kilfoyle <41695641+kilfoyle@users.noreply.github.com>
2023-06-29 08:51:02 -04:00
amyjtechwriter
2376129c78
[DOCS] Screenshot updated - Osquery (#160774)
## Summary

Updates a screenshot on the
[Osquery](https://www.elastic.co/guide/en/kibana/current/osquery.html)
page.

Closes: #154231
2023-06-29 11:05:07 +01:00
James Rodewig
9c2aaf5572
[DOCS] Adds the 8.8.2 release notes (#160211)
Co-authored-by: amyjtechwriter <61687663+amyjtechwriter@users.noreply.github.com>
2023-06-28 11:20:06 -04:00
Marco Antonio Ghiani
6a0d6deaa6
[Logs+] Implement Logs Dataset selector (#159907)
## 📓  Summary

Closes https://github.com/elastic/observability-dev/issues/2655

This PR introduces a customized log consumption experience in the
Discover plugin. By leveraging the new `discover_log_explorer` plugin
and utilizing the `discover.customize` functionality, we have curated a
more tailored user experience.

The key feature of this implementation is the `DatasetSelector`
component, which replaces the original Discover `DataViewPicker`. It
handles the retrieval, rendering, and navigation of integrations and
data streams related to logs, providing an improved user interface.

This PR involves significant development efforts, including the creation
of the `discover_log_explorer` plugin, implementation of services, state
machines, custom hooks, and enhancements to presentational components.
The following overview will help reviewers understand the
responsibilities of each component in this implementation.


d725b699-452e-4718-8189-8dc1fab4d044

## DatasetsService & DatasetsClient

The DatasetsService is introduced, a crucial component that mediates
access to the newly implemented DatasetsClient. During the plugin's
lifecycle, the DatasetsService exposes a client property through its
start() method, providing convenient access to a DatasetsClient
instance.

The DatasetsClient is responsible for abstracting the data fetching
process for two endpoints: the integrations endpoint and the data
streams listing endpoint. These endpoints are utilized to populate the
selector options in the user interface. To facilitate this, the
DatasetsClient exposes the findIntegrations and findDatasets methods,
which handle the respective data fetching.

## Discover Customization

The critical part of this work consists of where the customization is
applied.
Inside the `public/plugin.tsx`, we lazy load and create, injecting the
required dependencies, the `CustomDatasetSelector`, which already
encapsulates all the logic required to make the selector work with the
external APIs.
We kept separating the data fetching logic from how the selector works,
and all the data and events are passed into the UI component with
properties.

```ts
discover.customize(
  DISCOVER_LOG_EXPLORER_PROFILE_ID,
  ({ customizations, stateContainer }) => {

    customizations.set({
      id: 'search_bar',
      CustomDataViewPicker: createLazyCustomDatasetSelector({
        datasetsClient: datasetsService.client,
        stateContainer,
      }),
    });
    ...
```

## Data fetching state machines & custom hooks

To handle the data fetching of integrations and unmanaged data streams,
we created two different state machines to separately handle the related
action for each dataset, such as remote search, in-memory search, error
handling etc.

### Integration machine and useIntegrations

The integrations state machine handles automatic data fetching of the
resources and additionally provides transitions for loading more
integrations, searching integrations by HTTP request, searching locally
into integration streams, and all the related loading and error handling
states.

It is then interpreted inside the `useIntegrations` custom hook, which
exposes the fetched data and handlers for all the above-mentioned
actions.

<img width="1975" alt="Screenshot 2023-05-30 at 09 44 42"
src="6daeca9f-826d-4a0f-bd90-eb4826ed1bde">


### Datasets machine and useDatasets

Similar to the integrations state machine, but simplified since the data
streams search can only happen with HTTP requests and there is no
pagination that requires to handle the load of more entries.

It is interpreted inside the `useDatasets` custom hook, which also
exposes the fetched data and handlers for the available actions.

<img width="1692" alt="Screenshot 2023-05-30 at 09 45 11"
src="5f9690e2-4e8f-439e-9ffd-f3b34cf3eaf5">

## DatasetSelector

The `DatasetSelector` component contains all the logic that manages the
navigation and searches across the different panels that render
integrations, integrations' streams or unmanaged streams.
As the datasets come from different APIs or are performed in-memory, the
search work follow this logic:
- When listing the integrations list (first level of the
`EuiContextMenu`), the search is done with an HTTP request.
- When listing the data streams list for a specific integration (second
level of the `EuiContextMenu`), the search is done in-memory, filtering
and sorting directly in the client.
- When listing the unmanaged data streams list (second level of the
`EuiContextMenu`), the search is done again with an HTTP request.

To handle these possible user journeys correctly without side effects,
we created another state machine and exposed its actions with an
internal `useDatasetSelector` custom hook.

<img width="1978" alt="Screenshot 2023-05-30 at 09 46 04"
src="84aa4247-c65d-40de-9eb6-6117bee731f8">

## Next steps

This component will change quite a lot until we won't get to a final
design. As soon as a first solid mvp is defined for production, a
complete test for the component will be implemented, among with a more
generic functional test for the core customization features.

---------

Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
Co-authored-by: Felix Stürmer <weltenwort@users.noreply.github.com>
2023-06-28 15:20:44 +02:00
amyjtechwriter
45748f60ec
[DOCS] License level required (#160638)
## Summary

The pattern analysis feature is a Platinum subscription feature in
technical preview, which is now called out in the warning at the top of
the page. Otherwise users cannot follow the instructions on the page as
the options are not visible.

<img width="827" alt="Screenshot 2023-06-27 at 15 12 16"
src="9d9fc713-6640-4e41-9003-dd080f5fe746">

### Checklist

Relates to and closes: #159170
2023-06-28 09:48:25 +01:00
Lisa Cawley
418fbb1aa6
[Security solution] Generative AI Connector API specification (#158423)
Co-authored-by: Steph Milovic <stephanie.milovic@elastic.co>
2023-06-27 15:03:36 -07:00
Marta Bondyra
b87c05f3c3
[Time axis] Deprecate the legacy time axis (#160602)
## Summary

Fixes https://github.com/elastic/kibana/issues/159088
2023-06-27 14:22:59 +02:00
Shahzad
1ca19ce2c7
[Synthetics/Uptime] Better code separation (#160245)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-26 17:47:04 +02:00
Lisa Cawley
e38d08c91a
[DOCS] Fix create rule open API specification (#157950) 2023-06-26 07:39:11 -07:00
Julia Rechkunova
7f0d57d9fd
[UnifiedFieldList] Convert from a plugin into a package (#158718)
- Closes https://github.com/elastic/kibana/issues/149336

## Summary

This PR converts `unifiedFieldList` plugin into a new
`@kbn/unified-field-list` package.

Had to also move some deps:
- from `uiActions` plugin to the existing `@kbn/ui-actions-browser`
package
- from `data` plugin to a new `@kbn/data-service` package

Please test that Field Stats from the package are still working on your
pages.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-23 14:28:12 +02:00
Jonathan Buttner
2bf4ed4813
[Cases] Updating the audit log docs (#160335)
This PR updates the security audit logs with some cases values. We added
a new operation for retrieving the `categories` of a case and the users
associated with a case.
2023-06-23 08:20:32 -04:00
Jon
b8c36e11b1
Upgrade Node.js to 16.20.1 (#160177)
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md#16.20.1
2023-06-21 16:57:55 -05:00
Janki Salvi
de3f8fca00
[Cases] Limit perPage param in findComments API (#160042)
## Summary

This PR limits `perPage` param to 100 in `findComments`  API.

### 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

---------

Co-authored-by: lcawl <lcawley@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-21 15:00:25 +02:00
Antonio
599e2311a6
[Cases] Limit category filter in find cases API (#159989)
## Summary

This PR limits the number of categories by which we can filter calls to
the find cases API.

The limit is now 100.

---------

Co-authored-by: lcawl <lcawley@elastic.co>
2023-06-21 09:09:07 +02:00
Venkata Krishnan
2a355a7c10
ES cluster privileges for watcher removed in documentation (#159278) 2023-06-20 14:39:04 -04:00
Patrick Mueller
d9ca8aa48f
[ResponseOps] adds FormatNumber mustache lambda (#159644)
resolves https://github.com/elastic/kibana/issues/155869

Adds mustache lambda `{{#FormatNumber}}`, which uses
[Intl.NumberFormat][] to format the number.

[Intl.NumberFormat]:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
2023-06-20 09:34:55 -04:00
Cauê Marcondes
c87e4e983d
[Profiling] Making plugin Production ready (#159738)
This PR does:

- checks Kibana.spec file
- Checks server feature.ts
- Adds correct route access to APIs
- Removes unnecessary logs
- Removes collector and symbolized `secret_token` from config schema as
it won't be used
- Add README file

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-19 06:35:59 -07:00
Julian Gernun
53465943b0
[RAM] [Docs] Add rule type param references (#159186)
## Summary

Links param parameter OAS to alerting rules documentation

---------

Co-authored-by: lcawl <lcawley@elastic.co>
2023-06-19 12:37:01 +02:00
Rudolf Meijering
f745dddfb3
Fix link to known 8.8.0 data loss issue (#159860)
## Summary

Fixes incorrect link to 8.8.0 known issues.


### 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
- [ ] 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)
2023-06-16 10:29:20 +02:00
Lisa Cawley
64ab4fda32
[DOCS] Fix formatting in alerting settings (#159753) 2023-06-15 07:24:38 -07:00
Lisa Cawley
5792c2772e
[DOCS] Clarify Jira connector compatibility (#159757) 2023-06-15 07:22:27 -07:00
Lisa Cawley
29bffbece2
[DOCS] Remove broken links from email connector (#159759) 2023-06-15 07:21:02 -07:00
Nathan Reese
917deff3a4
Check lens support in editor comparisons table for tag cloud and significant terms (#159617)
Update editor tables to reflect that tag cloud and significant terms
aggregations are supported in lens
2023-06-14 07:27:31 -06:00
Thomas Watson
11bcdb7606
[docs] remove invalid arg from scripts/generate_plugin example (#159466) 2023-06-14 12:07:18 +02:00
Bryce Buchanan
ff58872368
Added sessionSampleRate to agent configs (#159061)
## Summary

Adds a Mobile specific setting, `SessionSampleRate`. This dictates the
sample rate of all signals (spans, metrics, & logs) on a per-session
basis.

### 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

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-13 07:30:56 -07:00
Carly Richmond
ad2593b7b4
Update tsvb.asciidoc to correct typo (#159551) 2023-06-13 08:53:16 -04:00
Anton Dosov
d082d78e60
[Drift] Add chat to management and home getting started (#159121)
## Summary

Partially address https://github.com/elastic/kibana/issues/158835, add
cloud chat (drift) to more places: all management pages and
home/getting_started page

I hit an issue that both management and home couldn't depend directly on
`cloudChat` plugin. Here is the issue with more details
https://github.com/elastic/kibana/issues/159008. I worked around with
creating an intermediate `cloudChatProvider` plugin.


![Screenshot 2023-06-05 at 15 46
44](a051be0c-b5f0-437d-9e52-507643c14aba)

![Screenshot 2023-06-05 at 16 03
06](b3b705da-c8c7-4bb6-9e85-b4adefa583a6)

How do I run drift locally? 

Add this to kibana.yml


```
xpack.cloud.id: "some-id"
xpack.cloud.trial_end_date: "2023-06-21T00:00:00.000Z"

xpack.cloud_integrations.chat.enabled: true
xpack.cloud_integrations.chat.chatURL: "https://elasticcloud-production-chat-us-east-1.s3.amazonaws.com/drift-iframe.html"
xpack.cloud_integrations.chat.chatIdentitySecret: "some-secret" (get it from drift console)
```

You need to have access to our drift account. But I tested with a custom
account. To change account id I had to point
`xpack.cloud_integrations.chat.chatURL` to a script with custom drift
id.
2023-06-13 14:10:49 +02:00
Thomas Watson
70472fd42a
[docs] improve external plugin documentation (#159431)
Co-authored-by: James Rodewig <james.rodewig@elastic.co>
2023-06-12 09:09:02 -04:00
Pierre Gayvallet
b08c322524
Allow exporting all SO types (#159289)
## Summary

Fix https://github.com/elastic/kibana/issues/150079

Add support for the `*` wildcard for by-type export, allowing to more
easily export all the exportable SO types

```
POST /api/saved_objects/_export
{
   types: '*',
}
```

## Release Note

The savedObjects export API now supports exporting all types using the
`*` wildcard. Please refer to the documentation
for more details and examples.

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-06-12 00:03:54 -07:00
Lisa Cawley
b6a2611361
[DOCS] Conditional actions in rule open API specifications (#157951) 2023-06-09 08:33:43 -07:00
James Rodewig
bdf2aded02
[DOCS] Removes tag from 8.8.1 release notes (#159312) 2023-06-09 07:30:08 -04:00
James Rodewig
006499c12e
[DOCS] Adds 8.8.1 release notes (#159159)
Adds the release notes for the 8.8.1 release.

Co-authored-by: Brandon Morelli <bmorelli25@gmail.com>
Co-authored-by: amyjtechwriter <61687663+amyjtechwriter@users.noreply.github.com>
2023-06-07 16:26:23 -04:00
Jeramy Soucy
dd3193c88e
Implements default Permissions-Policy header (#158514)
Closes #154252

## Summary

This PR implements a default [permissions policy
header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy)
for Kibana. It takes into consideration only the directives that are
_not_ still in development/pre-release. These directives are:
 - camera
 - display-capture
 - fullscreen
 - geolocation
 - microphone
 - web-share

All directives above are set to an empty or "none" allow list, with the
exception of `fullscreen`. The default permissions policy for Kibana
will be: `camera=(), display-capture=(), fullscreen=(self),
geolocation=(), microphone=(), web-share=()`.

The `display-capture` directive only affects access to the [Screen
capture
API](https://developer.mozilla.org/en-US/docs/Web/API/Screen_Capture_API),
whereas our reporting utilities rely on a headless Chrome feature.
FullyStory also does not appear to rely on capturing the screen, but
rather on [capturing the DOM and
CSS](3600206230-Does-FullStory-work-with-my-complex-site-)
to reproduce the screen and user stories. We have confirmed with
FullStory support that they do not use the Screen capture API
(`getDisplayMedia()`).

The `fullscreen` directive affects access to the
[element.requestFullscreen
API](https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen).
Our fullscreen view for Dashboards and visualizations appear to be
scoped to the Kibana application and not the browser or system, but
there is one use of `requestFullscreen` in the synthetics plugin's
`grid_group_item`, hence the default setting of 'self' here.

## Testing
Due to screen capture reports (PNG & PDF) and fullscreen modes working
with the configuration defined above, I wanted to double-check the
header was working, so I tested both camera and microphone access. I did
this by adding some code into our team's user management screen that
would attempt to access both the camera and microphone. I could confirm
that with the permissions policy header (as defined), no access prompts
would appear for either resource. When I removed the directives for the
camera and microphone from the permissions policy header, prompts
appeared in the browser (Chrome) to approve access to the camera and
microphone.

### Manual Test:
1. Start Elasticsearch and Kibana from this PR
2. Sign into Kibana and open your browser's dev tools
3. In the network tab, inspect one of the requests for localhost
4. In the Headers tab, verify the permissions-policy header is present
with the new default value defined above, `camera=(),
display-capture=(), fullscreen=(self), geolocation=(), microphone=(),
web-share=()`
5. Edit the kibana.yml file, add
`server.securityResponseHeaders.permissionsPolicy: camera=(self)`
6. Refresh Kibana in the browser, verify the permissions-policy header
is present with the value set in kibana.yml in step 5
7. Edit the kibana.yml file, add
`server.securityResponseHeaders.permissionsPolicy: null`
8. Refresh Kibana in the browser, verify the permissions-policy header
is no longer present

## Release Notes:
Security
Adds default Permissions-Policy header including all non-experimental
directives [#158514](https://github.com/elastic/kibana/pull/158514)

---------

Co-authored-by: James Rodewig <james.rodewig@elastic.co>
2023-06-07 19:48:44 +02:00
Lisa Cawley
ff3e69140f
[DOCS] Add cases known issue (#159228) 2023-06-07 09:24:27 -07:00
James Rodewig
0095c5745e
[main] [DOCS+] Add #158940 to the list of 8.8.0 known issues (#159197) (#159221)
# Backport

This will backport the following commits from `8.8` to `main`:
- [[DOCS+] Add #158940 to the list of 8.8.0 known issues
(#159197)](https://github.com/elastic/kibana/pull/159197)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Gerard
Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2023-06-07T13:16:53Z","message":"[DOCS+]
Add #158940 to the list of 8.8.0 known issues (#159197)\n\nThis PR adds
https://github.com/elastic/kibana/issues/158733 to the list\r\nof known
issues:\r\n* issue: https://github.com/elastic/kibana/issues/158733\r\n*
pull:
https://github.com/elastic/kibana/pull/158940\r\n\r\n---------\r\n\r\nCo-authored-by:
James Rodewig
<james.rodewig@elastic.co>","sha":"528671e3bdcf65856c52cb48bbfaec231bdbaca3","branchLabelMapping":{"^v8.8.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Docs","release_note:skip","docs","Feature:Migrations"],"number":159197,"url":"https://github.com/elastic/kibana/pull/159197","mergeCommit":{"message":"[DOCS+]
Add #158940 to the list of 8.8.0 known issues (#159197)\n\nThis PR adds
https://github.com/elastic/kibana/issues/158733 to the list\r\nof known
issues:\r\n* issue: https://github.com/elastic/kibana/issues/158733\r\n*
pull:
https://github.com/elastic/kibana/pull/158940\r\n\r\n---------\r\n\r\nCo-authored-by:
James Rodewig
<james.rodewig@elastic.co>","sha":"528671e3bdcf65856c52cb48bbfaec231bdbaca3"}},"sourceBranch":"8.8","suggestedTargetBranches":[],"targetPullRequestStates":[]}]
BACKPORT-->

Co-authored-by: Gerard Soldevila <gerard.soldevila@elastic.co>
2023-06-07 11:17:51 -04:00