Skip to content

Commit

Permalink
Merge branch 'main' into seanstory/1204-add-rcf-for-user-fetch-strategy
Browse files Browse the repository at this point in the history
  • Loading branch information
seanstory authored Jul 10, 2023
2 parents 9e06479 + 4439121 commit ec1c546
Show file tree
Hide file tree
Showing 182 changed files with 4,400 additions and 3,091 deletions.
11 changes: 0 additions & 11 deletions .buildkite/scripts/steps/artifacts/docker_image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -92,17 +92,6 @@ steps:
SERVICE_COMMIT_HASH: $GIT_ABBREV_COMMIT
REMOTE_SERVICE_CONFIG: https://raw.githubusercontent.com/elastic/serverless-gitops/main/gen/gpctl/kibana/config.yaml
- trigger: serverless-gitops-update-stack-image-tag
async: true
label: ":argo: Update image tag for Kibana using the legacy script (used in QA/Staging)"
branches: main
build:
env:
IMAGE_TAG: "git-$GIT_ABBREV_COMMIT"
SERVICE: kibana-controller
NAMESPACE: kibana-ci
IMAGE_NAME: kibana-serverless
COMMIT_MESSAGE: "gitops: update kibana tag to elastic/kibana@$GIT_ABBREV_COMMIT"
EOF

else
Expand Down
11 changes: 9 additions & 2 deletions .buildkite/scripts/steps/functional/apm_cypress.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,16 @@ APM_CYPRESS_RECORD_KEY="$(retry 5 5 vault read -field=CYPRESS_RECORD_KEY secret/

export JOB=kibana-apm-cypress
IS_FLAKY_TEST_RUNNER=${CLI_COUNT:-0}
GH_APM_TEAM_LABEL="Team:APM"

#Enabling cypress dashboard recording when PR is labeled with `apm:cypress-record` and we are not using the flaky test runner
if [[ "$IS_FLAKY_TEST_RUNNER" -ne 1 ]] && is_pr_with_label "apm:cypress-record"; then
if (! is_pr); then
echo "--- Add GH labels to buildkite metadata"
ts-node .buildkite/scripts/steps/add_gh_labels_to_bk_metadata.ts BUILDKITE_MESSAGE true
GH_ON_MERGE_LABELS="$(buildkite-agent meta-data get gh_labels)"
fi

# Enabling cypress dashboard recording when PR is labeled with `apm:cypress-record` and we are not using the flaky test runner OR on merge with Team:APM label applied
if ([[ "$IS_FLAKY_TEST_RUNNER" -ne 1 ]] && is_pr_with_label "apm:cypress-record") || ([[ $GH_ON_MERGE_LABELS == *"$GH_APM_TEAM_LABEL"* ]]); then
CYPRESS_ARGS="--record --key "$APM_CYPRESS_RECORD_KEY" --parallel --ci-build-id "${BUILDKITE_BUILD_ID}""
else
CYPRESS_ARGS=""
Expand Down
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -1138,6 +1138,8 @@ x-pack/plugins/cloud_integrations/cloud_full_story/server/config.ts @elastic/kib
/x-pack/plugins/security_solution/public/detections/mitre @elastic/security-detection-rule-management
/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules @elastic/security-detection-rule-management
/x-pack/plugins/security_solution/public/rules @elastic/security-detection-rule-management
/x-pack/plugins/security_solution/public/entity_analytics @elastic/security-detection-engine


/x-pack/plugins/security_solution/server/lib/detection_engine/fleet_integrations @elastic/security-detection-rule-management
/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules @elastic/security-detection-rule-management
Expand All @@ -1164,6 +1166,7 @@ x-pack/plugins/cloud_integrations/cloud_full_story/server/config.ts @elastic/kib
/x-pack/plugins/security_solution/cypress/e2e/data_sources @elastic/security-detection-engine
/x-pack/plugins/security_solution/cypress/e2e/exceptions @elastic/security-detection-engine
/x-pack/plugins/security_solution/cypress/e2e/value_lists @elastic/security-detection-engine
/x-pack/plugins/security_solution/cypress/e2e/entity_analytics @elastic/security-detection-engine

/x-pack/plugins/security_solution/common/detection_engine/rule_exceptions @elastic/security-detection-engine

Expand Down
21 changes: 10 additions & 11 deletions examples/embeddable_explorer/public/app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, withRouter, RouteComponentProps } from 'react-router-dom';
import { Route } from '@kbn/shared-ux-router';
import { EuiPage, EuiPageSideBar_Deprecated as EuiPageSideBar, EuiSideNav } from '@elastic/eui';
import { EuiPageTemplate, EuiSideNav } from '@elastic/eui';

import { EmbeddableStart } from '@kbn/embeddable-plugin/public';
import { UiActionsStart } from '@kbn/ui-actions-plugin/public';
Expand Down Expand Up @@ -51,7 +51,7 @@ const Nav = withRouter(({ history, navigateToApp, pages }: NavProps) => {
<EuiSideNav
items={[
{
name: 'Embeddable explorer',
name: 'Embeddable examples',
id: 'home',
items: [...navItems],
},
Expand Down Expand Up @@ -81,7 +81,7 @@ const EmbeddableExplorerApp = ({
}: Props) => {
const pages: PageDef[] = [
{
title: 'Hello world embeddable',
title: 'Render embeddable',
id: 'helloWorldEmbeddableSection',
component: (
<HelloWorldEmbeddableExample
Expand All @@ -90,7 +90,7 @@ const EmbeddableExplorerApp = ({
),
},
{
title: 'Todo embeddable',
title: 'Update embeddable state',
id: 'todoEmbeddableSection',
component: (
<TodoEmbeddableExample
Expand All @@ -99,17 +99,16 @@ const EmbeddableExplorerApp = ({
),
},
{
title: 'List container embeddable',
title: 'Groups of embeddables',
id: 'listContainerSection',
component: (
<ListContainerExample
listContainerEmbeddableFactory={embeddableExamples.factories.getListContainerEmbeddableFactory()}
searchableListContainerEmbeddableFactory={embeddableExamples.factories.getSearchableListContainerEmbeddableFactory()}
/>
),
},
{
title: 'Dynamically adding children to a container',
title: 'Context menu',
id: 'embeddablePanelExample',
component: (
<EmbeddablePanelExample
Expand All @@ -126,12 +125,12 @@ const EmbeddableExplorerApp = ({

return (
<Router basename={basename}>
<EuiPage>
<EuiPageSideBar>
<EuiPageTemplate offset={0}>
<EuiPageTemplate.Sidebar>
<Nav navigateToApp={navigateToApp} pages={pages} />
</EuiPageSideBar>
</EuiPageTemplate.Sidebar>
{routes}
</EuiPage>
</EuiPageTemplate>
</Router>
);
};
Expand Down
31 changes: 8 additions & 23 deletions examples/embeddable_explorer/public/embeddable_panel_example.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,7 @@
*/

import React, { useState, useEffect, useRef } from 'react';
import {
EuiPanel,
EuiPageBody,
EuiPageContent_Deprecated as EuiPageContent,
EuiPageContentBody_Deprecated as EuiPageContentBody,
EuiPageHeader,
EuiPageHeaderSection,
EuiTitle,
EuiText,
} from '@elastic/eui';
import { EuiPanel, EuiText, EuiPageTemplate } from '@elastic/eui';
import { EuiSpacer } from '@elastic/eui';
import { EmbeddableStart, IEmbeddable } from '@kbn/embeddable-plugin/public';
import {
Expand Down Expand Up @@ -116,16 +107,10 @@ export function EmbeddablePanelExample({ embeddableServices, searchListContainer
});

return (
<EuiPageBody>
<EuiPageHeader>
<EuiPageHeaderSection>
<EuiTitle size="l">
<h1>The embeddable panel component</h1>
</EuiTitle>
</EuiPageHeaderSection>
</EuiPageHeader>
<EuiPageContent>
<EuiPageContentBody>
<>
<EuiPageTemplate.Header pageTitle="Context menu" />
<EuiPageTemplate.Section grow={false}>
<>
<EuiText>
You can render your embeddable inside the EmbeddablePanel component. This adds some
extra rendering and offers a context menu with pluggable actions. Using EmbeddablePanel
Expand All @@ -142,8 +127,8 @@ export function EmbeddablePanelExample({ embeddableServices, searchListContainer
</EuiPanel>

<EuiSpacer />
</EuiPageContentBody>
</EuiPageContent>
</EuiPageBody>
</>
</EuiPageTemplate.Section>
</>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,12 @@

import React from 'react';
import {
EuiPageBody,
EuiPageContent_Deprecated as EuiPageContent,
EuiPageContentBody_Deprecated as EuiPageContentBody,
EuiPageHeader,
EuiPageHeaderSection,
EuiPageTemplate,
EuiPanel,
EuiText,
EuiTitle,
EuiCodeBlock,
EuiSpacer,
} from '@elastic/eui';
import { EmbeddableRenderer } from '@kbn/embeddable-plugin/public';
import {
Expand All @@ -29,40 +27,46 @@ interface Props {

export function HelloWorldEmbeddableExample({ helloWorldEmbeddableFactory }: Props) {
return (
<EuiPageBody>
<EuiPageHeader>
<EuiPageHeaderSection>
<EuiTitle size="l">
<h1>Hello world example</h1>
<>
<EuiPageTemplate.Header pageTitle="Render embeddable" />
<EuiPageTemplate.Section grow={false} bottomBorder="extended">
<>
<EuiTitle size="xs">
<h2>Embeddable prop</h2>
</EuiTitle>
</EuiPageHeaderSection>
</EuiPageHeader>
<EuiPageContent>
<EuiPageContentBody>
<EuiText>
Here the embeddable is rendered without the factory. A developer may use this method if
they want to statically embed a single embeddable into their application or page. Also
`input` prop may be used to declaratively update current embeddable input
Use embeddable constructor to pass embeddable directly to{' '}
<strong>EmbeddableRenderer</strong>. Use <strong>input</strong> prop to declaratively
update embeddable input.
</EuiText>
<EuiPanel data-test-subj="helloWorldEmbeddablePanel" paddingSize="none" role="figure">
<EuiSpacer />
<EuiPanel data-test-subj="helloWorldEmbeddablePanel" role="figure">
<EmbeddableRenderer embeddable={new HelloWorldEmbeddable({ id: 'hello' })} />
</EuiPanel>

<EuiSpacer />
<EuiCodeBlock language="jsx" fontSize="m" paddingSize="m">
{`<EmbeddableRenderer embeddable={new HelloWorldEmbeddable({ id: 'hello' })} />`}
</EuiCodeBlock>
</>
</EuiPageTemplate.Section>
<EuiPageTemplate.Section grow={false}>
<>
<EuiTitle size="xs">
<h2>Factory prop</h2>
</EuiTitle>
<EuiText>
Here the embeddable is rendered using the factory. Internally it creates embeddable
using factory.create(). This method is used programatically when a container embeddable
attempts to initialize it&#39;s children embeddables. This method can be used when you
only have a access to a factory.
Use <strong>factory</strong> prop to programatically instantiate embeddable.
</EuiText>
<EuiPanel
data-test-subj="helloWorldEmbeddableFromFactory"
paddingSize="none"
role="figure"
>
<EuiSpacer />
<EuiPanel data-test-subj="helloWorldEmbeddableFromFactory" role="figure">
<EmbeddableRenderer factory={helloWorldEmbeddableFactory} input={{ id: '1234' }} />
</EuiPanel>
</EuiPageContentBody>
</EuiPageContent>
</EuiPageBody>
<EuiSpacer />
<EuiCodeBlock language="jsx" fontSize="m" paddingSize="m">
{`<EmbeddableRenderer factory={helloWorldEmbeddableFactory} input={{ id: '1234' }} />`}
</EuiCodeBlock>
</>
</EuiPageTemplate.Section>
</>
);
}
Loading

0 comments on commit ec1c546

Please sign in to comment.