mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
[Connectors] Disable Elastic-managed connectors (#211178)
## Summary Disable Elastic-managed connectors in stack. Force user to convert to self-managed https://github.com/user-attachments/assets/90c477f0-a801-4a64-8177-dc4c687c5451 ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [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/src/platform/packages/shared/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 - [ ] 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) - [x] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations. - [x] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
parent
d3fd2ed770
commit
44ef445f8a
2 changed files with 67 additions and 109 deletions
|
@ -97,7 +97,7 @@ export const ConnectorDetail: React.FC = () => {
|
|||
},
|
||||
{
|
||||
content: <SearchIndexDocuments />,
|
||||
disabled: !index,
|
||||
disabled: !index || connector?.is_native,
|
||||
id: ConnectorDetailTabId.DOCUMENTS,
|
||||
isSelected: tabId === ConnectorDetailTabId.DOCUMENTS,
|
||||
label: i18n.translate(
|
||||
|
@ -116,7 +116,7 @@ export const ConnectorDetail: React.FC = () => {
|
|||
},
|
||||
{
|
||||
content: <SearchIndexIndexMappings />,
|
||||
disabled: !index,
|
||||
disabled: !index || connector?.is_native,
|
||||
id: ConnectorDetailTabId.INDEX_MAPPINGS,
|
||||
isSelected: tabId === ConnectorDetailTabId.INDEX_MAPPINGS,
|
||||
label: i18n.translate(
|
||||
|
@ -140,7 +140,7 @@ export const ConnectorDetail: React.FC = () => {
|
|||
? [
|
||||
{
|
||||
content: <ConnectorSyncRules />,
|
||||
disabled: !index,
|
||||
disabled: !index || connector?.is_native,
|
||||
id: ConnectorDetailTabId.SYNC_RULES,
|
||||
isSelected: tabId === ConnectorDetailTabId.SYNC_RULES,
|
||||
label: i18n.translate(
|
||||
|
@ -161,7 +161,7 @@ export const ConnectorDetail: React.FC = () => {
|
|||
: []),
|
||||
{
|
||||
content: <ConnectorScheduling />,
|
||||
disabled: !connector?.index_name,
|
||||
disabled: !connector?.index_name || connector?.is_native,
|
||||
id: ConnectorDetailTabId.SCHEDULING,
|
||||
isSelected: tabId === ConnectorDetailTabId.SCHEDULING,
|
||||
label: i18n.translate(
|
||||
|
@ -183,6 +183,7 @@ export const ConnectorDetail: React.FC = () => {
|
|||
const CONFIG_TAB = [
|
||||
{
|
||||
content: <ConnectorConfiguration />,
|
||||
disabled: connector?.is_native,
|
||||
id: ConnectorDetailTabId.CONFIGURATION,
|
||||
isSelected: tabId === ConnectorDetailTabId.CONFIGURATION,
|
||||
label: i18n.translate(
|
||||
|
@ -203,7 +204,7 @@ export const ConnectorDetail: React.FC = () => {
|
|||
|
||||
const PIPELINES_TAB = {
|
||||
content: <SearchIndexPipelines />,
|
||||
disabled: !index,
|
||||
disabled: !index || connector?.is_native,
|
||||
id: ConnectorDetailTabId.PIPELINES,
|
||||
isSelected: tabId === ConnectorDetailTabId.PIPELINES,
|
||||
label: i18n.translate(
|
||||
|
|
|
@ -9,17 +9,7 @@ import React from 'react';
|
|||
|
||||
import { useActions, useValues } from 'kea';
|
||||
|
||||
import {
|
||||
EuiButton,
|
||||
EuiCallOut,
|
||||
EuiCode,
|
||||
EuiFlexGroup,
|
||||
EuiFlexItem,
|
||||
EuiLink,
|
||||
EuiLoadingSpinner,
|
||||
EuiSpacer,
|
||||
EuiText,
|
||||
} from '@elastic/eui';
|
||||
import { EuiButton, EuiCallOut, EuiCode, EuiLink, EuiSpacer, EuiText } from '@elastic/eui';
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
|
@ -32,7 +22,6 @@ import {
|
|||
|
||||
import { docLinks } from '../../../shared/doc_links';
|
||||
import { generateEncodedPath } from '../../../shared/encode_path_params';
|
||||
import { KibanaLogic } from '../../../shared/kibana';
|
||||
|
||||
import { EuiButtonTo } from '../../../shared/react_router_helpers/eui_components';
|
||||
import { CONNECTOR_DETAIL_TAB_PATH } from '../../routes';
|
||||
|
@ -48,10 +37,8 @@ import { ConnectorViewLogic } from './connector_view_logic';
|
|||
|
||||
export const ConnectorDetailOverview: React.FC = () => {
|
||||
const { indexData } = useValues(IndexViewLogic);
|
||||
const { connector, error, isWaitingOnAgentlessDeployment, connectorAgentlessPolicy } =
|
||||
useValues(ConnectorViewLogic);
|
||||
const { connector, error, connectorAgentlessPolicy } = useValues(ConnectorViewLogic);
|
||||
|
||||
const { isCloud } = useValues(KibanaLogic);
|
||||
const { showModal } = useActions(ConvertConnectorLogic);
|
||||
const { isModalVisible } = useValues(ConvertConnectorLogic);
|
||||
|
||||
|
@ -85,35 +72,55 @@ export const ConnectorDetailOverview: React.FC = () => {
|
|||
</>
|
||||
)
|
||||
}
|
||||
{isWaitingOnAgentlessDeployment && (
|
||||
{connector?.is_native && (
|
||||
<>
|
||||
{isModalVisible && <ConvertConnectorModal />}
|
||||
<EuiCallOut
|
||||
iconType="warning"
|
||||
color="warning"
|
||||
title={
|
||||
<EuiFlexGroup alignItems="center">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiLoadingSpinner />
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.connectors.overview.agentlessDeploymentNotReadyCallOut.title',
|
||||
{
|
||||
defaultMessage: 'Provisioning infrastructure',
|
||||
}
|
||||
)}
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
}
|
||||
title={i18n.translate(
|
||||
'xpack.enterpriseSearch.content.connectors.overview.nativeCloudCallout.title',
|
||||
{
|
||||
defaultMessage: 'Elastic managed connectors are no longer supported',
|
||||
}
|
||||
)}
|
||||
>
|
||||
<EuiSpacer size="s" />
|
||||
<EuiText size="s">
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.connectors.overview.agentlessDeploymentNotReadyCallOut.description',
|
||||
{
|
||||
defaultMessage: 'Setting up the agentless infrastructure to run the connector.',
|
||||
}
|
||||
)}
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id="xpack.enterpriseSearch.content.connectors.overview.nativeCloudCallout.content"
|
||||
defaultMessage="Elastic managed connectors are no longer supported. Convert it to a {link} to continue using it."
|
||||
values={{
|
||||
link: (
|
||||
<EuiLink
|
||||
data-test-subj="entSearchContent-connectorDetailOverview-nativeCloudCallout-connectorClientLink"
|
||||
data-telemetry-id="entSearchContent-connectorDetailOverview-nativeCloudCallout-connectorClientLink"
|
||||
href={docLinks.buildConnector}
|
||||
target="_blank"
|
||||
>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.connectors.overview.nativeCloudCallout.connectorClient',
|
||||
{ defaultMessage: 'self-managed connector' }
|
||||
)}
|
||||
</EuiLink>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
</EuiText>
|
||||
<EuiSpacer size="s" />
|
||||
<EuiButton
|
||||
data-test-subj="entSearchContent-connectorDetailOverview-nativeCloudCallout-convertToSelfManagedClientButton"
|
||||
color="warning"
|
||||
fill
|
||||
onClick={() => showModal()}
|
||||
>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.indices.connectors.overview.convertConnector.buttonLabel',
|
||||
{ defaultMessage: 'Convert connector' }
|
||||
)}
|
||||
</EuiButton>
|
||||
</EuiCallOut>
|
||||
<EuiSpacer />
|
||||
</>
|
||||
|
@ -203,73 +210,23 @@ export const ConnectorDetailOverview: React.FC = () => {
|
|||
<EuiSpacer />
|
||||
</>
|
||||
)}
|
||||
{connector?.is_native && !isCloud && (
|
||||
<>
|
||||
{isModalVisible && <ConvertConnectorModal />}
|
||||
<EuiCallOut
|
||||
iconType="warning"
|
||||
color="warning"
|
||||
title={i18n.translate(
|
||||
'xpack.enterpriseSearch.content.connectors.overview.nativeCloudCallout.title',
|
||||
{
|
||||
defaultMessage:
|
||||
'Elastic managed connectors (formerly native connectors) are no longer supported outside Elastic Cloud',
|
||||
}
|
||||
)}
|
||||
>
|
||||
<EuiSpacer size="s" />
|
||||
<EuiText size="s">
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id="xpack.enterpriseSearch.content.connectors.overview.nativeCloudCallout.content"
|
||||
defaultMessage="Convert it to a {link}, to be self-hosted on your own infrastructure. Elastic managed connectors are available only in your Elastic Cloud deployment."
|
||||
values={{
|
||||
link: (
|
||||
<EuiLink
|
||||
data-test-subj="entSearchContent-connectorDetailOverview-nativeCloudCallout-connectorClientLink"
|
||||
data-telemetry-id="entSearchContent-connectorDetailOverview-nativeCloudCallout-connectorClientLink"
|
||||
href={docLinks.buildConnector}
|
||||
target="_blank"
|
||||
>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.connectors.overview.nativeCloudCallout.connectorClient',
|
||||
{ defaultMessage: 'self-managed connector' }
|
||||
)}
|
||||
</EuiLink>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
</EuiText>
|
||||
<EuiSpacer size="s" />
|
||||
<EuiButton
|
||||
data-test-subj="entSearchContent-connectorDetailOverview-nativeCloudCallout-convertToSelfManagedClientButton"
|
||||
color="warning"
|
||||
fill
|
||||
onClick={() => showModal()}
|
||||
>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.indices.connectors.overview.convertConnector.buttonLabel',
|
||||
{ defaultMessage: 'Convert connector' }
|
||||
)}
|
||||
</EuiButton>
|
||||
</EuiCallOut>
|
||||
<EuiSpacer />
|
||||
</>
|
||||
)}
|
||||
{connector && connector.service_type !== ENTERPRISE_SEARCH_CONNECTOR_CRAWLER_SERVICE_TYPE && (
|
||||
<ConnectorStats
|
||||
connector={connector}
|
||||
indexData={indexData || undefined}
|
||||
agentlessOverview={connectorAgentlessPolicy}
|
||||
/>
|
||||
)}
|
||||
{connector && connector.service_type !== ENTERPRISE_SEARCH_CONNECTOR_CRAWLER_SERVICE_TYPE && (
|
||||
<>
|
||||
<EuiSpacer />
|
||||
<SyncJobs connector={connector} />
|
||||
</>
|
||||
)}
|
||||
{connector &&
|
||||
!connector.is_native &&
|
||||
connector.service_type !== ENTERPRISE_SEARCH_CONNECTOR_CRAWLER_SERVICE_TYPE && (
|
||||
<ConnectorStats
|
||||
connector={connector}
|
||||
indexData={indexData || undefined}
|
||||
agentlessOverview={connectorAgentlessPolicy}
|
||||
/>
|
||||
)}
|
||||
{connector &&
|
||||
!connector.is_native &&
|
||||
connector.service_type !== ENTERPRISE_SEARCH_CONNECTOR_CRAWLER_SERVICE_TYPE && (
|
||||
<>
|
||||
<EuiSpacer />
|
||||
<SyncJobs connector={connector} />
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue