Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PoC] Discover context #7

Closed

Conversation

davismcphee
Copy link
Owner

Summary

WIP

Checklist

For maintainers

@davismcphee davismcphee self-assigned this Mar 11, 2024
ElenaStoeva and others added 29 commits March 11, 2024 15:30
Closes elastic#176445

## Summary

This PR unskips the api integration tests for Advanced settings as they
are passing successfully on `main`. The two failures in
elastic#176445 might have been caused
by some fluctuations in the CI test environment.
Flaky test runner build:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/5429
This updates APM metrics collected by CI to a serverless project
endpoint.
…lastic#178250)

## Summary

This removes the filter manager from the timeline store
elastic#177736)

## Summary
We'd like to prevent container builds when forked to a
`deploy-fix@<timestamp>` branch, on commits that are already contained
in `main` (thus already built into an image).

This happens when forking off, the branch is created with the commit
from `main`'s `HEAD`, the pipeline picks up the first commit, and fails
on building a container that already exists.

Solution:
- check if the current commit is in `(upstream|origin)/main` - if it is,
we don't need to emit the trigger step.

Tests:
- [x] Test trigger: in [this
build](https://buildkite.com/elastic/kibana-serverless-emergency-release-branch-testing/builds/12#_),
I accidentally inverted the DRY_RUN functionality, at least we know the
trigger works if needed.
- [x] Test with a supplied commit sha (this
[build](https://buildkite.com/elastic/kibana-serverless-emergency-release-branch-testing/builds/14#018dd6fe-2d3d-4430-adf2-e8dd50c8f79c))

Bonus:
- Fixes an emoji (in a different trigger step) that's nonexistent in
Buildkite, but we just copied it over from other labels 🤷 (from elastic#176505
)

Closes: elastic/kibana-operations#68
…ic#176869)

part of elastic#175138

PR decouples `createMLADJobAction` action from Embeddable framework.
This means that instead of reading values from `embeddable.getInput()`,
values are read from presentation publishing interfaces. Existing
embeddables expose both `Embeddable` and `presentation publishing
interfaces` so they work with both. In the future, as embeddables get
refactored to the new embeddable system, then they will only expose
`presentation publishing interfaces`. Migrating away from old interfaces
so that refactoring embeddables can start.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary

This fixes attaching an index by:

- Checking whether an index already exists
- Showing the error for that
- Allowing editing an existing index
- Rerouting to the connector page after changing an index name so we
don't see weird index changes
- Showing the error for when an index name is already in use by a
connector (WIP)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
…t disabled (elastic#178336)

## Summary

Resolves elastic#178334.

We discovered that we were accidentally looking at the wrong field when
filtering monitors for the TLS page in Synthetics.

This patch switches to the right field.

### After

<img width="2160" alt="image"
src="https://github.com/elastic/kibana/assets/18429259/a2ab42cf-dc6c-42ba-892c-6a95187a7351">

### Before

<img width="2163" alt="image"
src="https://github.com/elastic/kibana/assets/18429259/964a0da3-fba8-4ce7-86cd-6d6c0df0dd59">


## Testing

There are detailed repro instructions on the linked issue. On `main`,
you can follow those instructions (create an http monitor with status
alerts disabled, navigate to TLS page, see no data). Then `checkout`
this PR and refresh the page, you should see your TLS data.
elastic#177727 updated the endpoint used
to collect APM metrics from CI to a project based deployment. As part of
the change we scaled back the sampling rate to monitor stability. This
reverts the sampling rate change.
## Summary

Add params to summary via ingest pipeline !!

We need params on summary document for Federated view !!

Also added `createdAt`, `updatedAt` and `kibanaUrl` info !!
…lates (elastic#178316)

## Summary

Fixes elastic#178021 

This PR adds the property "deprecated" to allowed parameters for the
routes to update index templates and component templates.

### How to test
1. Create a deprecated index template and a deprecated component
template
```
PUT _index_template/test
{
  "template": {},
  "index_patterns": [
    "test"
  ],
  "data_stream": {},
  "allow_auto_create": false,
  "deprecated": true
}


PUT _component_template/test
{
  "template": {},
  "deprecated": true
}
```
2. Navigate to Index Management -> Index/component templates
3. Open and save created index/component templates 
4. Make sure that both templates are saved and are still marked as
deprecated.


### 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)
…lastic#177026)

## Summary

Resolves [elastic#175003](elastic#175003)

This PR allows to test `closeIncident` subAction in ServiceNow connector
test tab.


https://github.com/elastic/kibana/assets/117571355/bbe04be3-ec91-4072-8bda-1e26423fe302

### 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] [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: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
…lastic#177525)

## Summary

Replaces the categorized table of links with a single link to the
observability alerting docs because this table is likely to get stale
over time (in fact, it already is stale).

The change looks like this when rendered in HTML:


![image](https://github.com/elastic/kibana/assets/14206422/a3f67a18-f227-435d-9b56-ddb221cdce7c)


Notes/open issues:
- [x] The [main alerting
page](https://www.elastic.co/guide/en/kibana/master/alerting-getting-started.html)
for Kibana now has links to related alerting documentation, but is it
clear that those links point to docs that describe how to manage alerts
from those apps? The link text seems maybe not descriptive enough and
might be causing confusion. _NO CHANGE REQUIRED: I'm going to leave this
as-is because I think the feedback we received initially about the lack
of links was before the links were added._
- [x] In the intro, I feel a thought might be missing from this
statement: "For information on creating security rules, refer to Create
a detection rule." Should this instead say something like: "Security
rules must be defined in the Security app. For more information, refer
to the security docs about creating a detection rule." _RESOLVED_
- [x] I think the descriptions about each app's alerting capabilities
should be more consistent, but I don't want to rewrite other folk's
sections. So I have aligned my description with the security section,
for better or worse. It's hard to make this info consistent when each
solution/app is doing its own thing with alerting. _DEFERRED: We will
fix inconsistencies later._
- [x] Is it correct to say "create alerts" rather than something like
"trigger alerts" or "generate alerts"? _RESOLVED: Will keep as "create"
for now since the UI is not using "trigger."_

### Checklist

n/a

cc @lcawl Can you help me sort through my list of open issues?

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary

This PR removes static services from Discover and adds them to
`DiscoverServices` or creates a scoped equivalent managed by the plugin.
The goal is to make it easier to reason about the Discover lifecycle and
service lifetimes in preparation of Discover extension work.

### Checklist

- [ ] 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
- [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
- [ ] [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)

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

**Fixes: elastic#164846

## Summary

This PR fixes MITRE ATT&CK® Coverage Overview dashboard console errors when the page loads or filter is changed.

## Details

An error message `Exception list is null when it never should be. This indicates potentially that saved object migrations did not run correctly. Returning empty exception list` appears each time MITRE ATT&CK® Coverage Overview dashboard is loaded or filter is changed (which lead to data reloading).

If one tried to find the source of the console error message it lead to [kibana/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/saved_object_references/inject_exceptions_list.ts](https://github.com/elastic/kibana/blob/6cb73aaec15b230a65d2e17a9d6ef970a1061709/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/saved_object_references/inject_exceptions_list.ts#L30-L33). It happens whenever there is an attempt to inject rule exceptions from SO references. This operations happens for every rule wrapped in `securityRuleTypeWrapper` and registered in `alerting` plugin. Whenever such rule if fetched via `rulesClient.find()` it invokes registered `useSavedObjectReferences.injectReferences` finally invoking mentioned above `inject_exceptions_list.ts`. Coverage Overview API endpoint fetches only necessary set of rule fields (`name`, `enabled`, `params.threat`) to reduce transferring unnecessary data. It's not hard to guess that `params.exceptionsList` is missed  and it ends up to be `undefined` (it's always an array in a SO) when the validation happens in `inject_exceptions_list.ts`. So it leads to the warning message appearing.

This PR removes redundant `exceptionsList` injection validation.
…elastic#178382)

## 🍒 Summary 

This PR renames `Attach to Dashboard` to `Add to Dashboard` in following
places
- SLO list page > SLO Card actions
- SLO detail page > Error budget burn down chart

<img width="352" alt="Screenshot 2024-03-11 at 13 38 50"
src="https://github.com/elastic/kibana/assets/2852703/6a903086-5015-481f-ad6c-199cf64ac23a">
<img width="1227" alt="Screenshot 2024-03-11 at 13 39 11"
src="https://github.com/elastic/kibana/assets/2852703/6ae49144-2ca8-4a65-b19d-41ce4e70c63d">

cc @ThomThomson
…empty (elastic#178399)

## Summary

Resolves elastic#175703.

If the user does not specify a body verification check, we should not
check the request's `Content-Type` header. This is too opinionated and
causes problems for some users. More details in the linked issue.

## Testing

Testing this is quite easy. Go to the Synthetics UI, start creating a
new HTTP monitor. Be sure to give a name, URL, and choose a location.

On `main`, if you click the _Inspect Configuration_ button at the top of
the create monitor form, you should see the `check.request.headers`
field no matter what you have specified.

<img width="225" alt="image"
src="https://github.com/elastic/kibana/assets/18429259/f3247fe6-de15-4fee-8b60-5bdbee681d5c">

<img width="407" alt="image"
src="https://github.com/elastic/kibana/assets/18429259/38346a9c-3287-404c-802a-271f7c88e16e">


Now checkout this PR branch and do the same. You should only see the
field if you expand _Advanced options_ and specify a **Request body** to
check.

### Without request body

<img width="387" alt="image"
src="https://github.com/elastic/kibana/assets/18429259/d6b31b54-5f72-42c6-9979-34d3ef0ddbcc">


### With request body

<img width="297" alt="image"
src="https://github.com/elastic/kibana/assets/18429259/572458c7-02b7-46d9-a360-5c85ef6c1175">

<img width="383" alt="image"
src="https://github.com/elastic/kibana/assets/18429259/0f32949b-1eb6-420b-a532-7c261f4e0bd6">

---------

Co-authored-by: Cauê Marcondes <55978943+cauemarcondes@users.noreply.github.com>
…ton (elastic#178402)

## Summary

Updating the Vector Search page to use the shared Try In Console button,
and then fixing the layout issues from using it.

This ensures that the code snippets can be used in the Persistent
console instead of opening a new tab.


![image](https://github.com/elastic/kibana/assets/1972968/6be12953-060f-47b6-a7b8-30896a35e112)
davismcphee pushed a commit that referenced this pull request Aug 30, 2024
fixes
[#8](elastic/observability-accessibility#8)
fixes
[#7](elastic/observability-accessibility#7)
 
## Summary

Fixes APM breadcrumbs on serverless

| Serverless  |  Stateful  |
|---|---|
| <img width="700px" alt="image"
src="https://github.com/user-attachments/assets/944a7d58-7de3-4a7f-be02-3c8c1110a0e2">
|<img width="800px" alt="image"
src="https://github.com/user-attachments/assets/450664b1-ddfc-4395-9fa3-a7b941affb3b">|
|<img width="500px" alt="image"
src="https://github.com/user-attachments/assets/944a7d58-7de3-4a7f-be02-3c8c1110a0e2">
|<img width="500px" alt="image"
src="https://github.com/user-attachments/assets/450664b1-ddfc-4395-9fa3-a7b941affb3b">|
| <img width="500px" alt="image"
src="https://github.com/user-attachments/assets/944a7d58-7de3-4a7f-be02-3c8c1110a0e2">
|<img width="500px" alt="image"
src="https://github.com/user-attachments/assets/cb8a39e2-ca33-4cf9-a8ac-4c84566d092d">|
|<img width="500px" alt="image"
src="https://github.com/user-attachments/assets/151a3a9c-c81e-4558-9d00-e695e3d1d79c">|<img
width="500px" alt="image"
src="https://github.com/user-attachments/assets/2562e96f-d5e4-4aa4-a221-6721f8995883">|
|<img width="500px" alt="image"
src="https://github.com/user-attachments/assets/8d877d11-8c3f-4ac5-8146-6a11125eae7c">|<img
width="500px" alt="image"
src="https://github.com/user-attachments/assets/36e588cb-4c18-4d66-a2c6-f0e66392f708">|
|<img width="500px" alt="image"
src="https://github.com/user-attachments/assets/14253196-06de-4343-811f-61aa31ea0d1e">|<img
width="500px" alt="image"
src="https://github.com/user-attachments/assets/0cdfc83f-6545-433f-8c14-5bbf2a581175">|
|<img width="500px" alt="image"
src="https://github.com/user-attachments/assets/89a58e2b-2cef-4188-b2be-f359ba6890db">|<img
width="500px" alt="image"
src="https://github.com/user-attachments/assets/f15e767f-5b60-4485-ac71-7b6fd850ec50">|
|<img width="500px" alt="image"
src="https://github.com/user-attachments/assets/a0f7bfae-bfda-4f49-b92a-e736d80fea4c">|<img
width="500px" alt="image"
src="https://github.com/user-attachments/assets/680db8ab-58b8-454b-a0d7-6e1681dbe616">|


### How to test
#### Serverless
- Start a local ES serverless instance: `yarn es serverless
--projectType=oblt --ssl -k/--insecure`
- Start a local Kibana serverless instance: ` yarn start
--serverless=oblt --no-ssl`
- Run some synthtrace scenarios
- `NODE_TLS_REJECT_UNAUTHORIZED=0 node scripts/synthtrace mobile.ts
--live --target=https://elastic_serverless:changeme@127.0.0.1:9200
--kibana=http://elastic_serverless:changeme@0.0.0.0:5601`
- `NODE_TLS_REJECT_UNAUTHORIZED=0 node scripts/synthtrace service_map.ts
--live --target=https://elastic_serverless:changeme@127.0.0.1:9200
--kibana=http://elastic_serverless:changeme@0.0.0.0:5601`
- Navigate to Applications and click through the links

### Stateful
- Start a local ES and Kibana instance
- Run the some synthtrace scenarios:
  -  `node scripts/synthtrace mobile.ts --live`
  -  `node scripts/synthtrace service_map.ts --live`
- Navigate to Applications and click through the links

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.