diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/constants.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/constants.tsx index f8e4c9994e570..8e900e625215f 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/constants.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/constants.tsx @@ -22,20 +22,20 @@ export const DisplayedAssets: ServiceNameToAssetTypes = { export type DisplayedAssetType = ElasticsearchAssetType | KibanaAssetType | 'view'; export const AssetTitleMap: Record = { - dashboard: 'Dashboard', - ilm_policy: 'ILM Policy', - ingest_pipeline: 'Ingest Pipeline', - transform: 'Transform', - index_pattern: 'Index Pattern', - index_template: 'Index Template', - component_template: 'Component Template', - search: 'Saved Search', - visualization: 'Visualization', - map: 'Map', - data_stream_ilm_policy: 'Data Stream ILM Policy', + dashboard: 'Dashboards', + ilm_policy: 'ILM policies', + ingest_pipeline: 'Ingest pipelines', + transform: 'Transforms', + index_pattern: 'Index patterns', + index_template: 'Index templates', + component_template: 'Component templates', + search: 'Saved searches', + visualization: 'Visualizations', + map: 'Maps', + data_stream_ilm_policy: 'Data stream ILM policies', lens: 'Lens', - security_rule: 'Security Rule', - ml_module: 'ML Module', + security_rule: 'Security rules', + ml_module: 'ML modules', view: 'Views', }; diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets_accordion.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets_accordion.tsx index 91c6b68c66221..4a2d64fb84017 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets_accordion.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets_accordion.tsx @@ -24,6 +24,8 @@ import { AssetTitleMap } from '../../../constants'; import { getHrefToObjectInKibanaApp, useStartServices } from '../../../../../hooks'; +import { KibanaAssetType } from '../../../../../types'; + import type { AllowedAssetType, AssetSavedObject } from './types'; interface Props { @@ -33,8 +35,12 @@ interface Props { export const AssetsAccordion: FunctionComponent = ({ savedObjects, type }) => { const { http } = useStartServices(); + + const isDashboard = type === KibanaAssetType.dashboard; + return ( diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/advanced_agent_authentication_settings.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/advanced_agent_authentication_settings.tsx index 96fab27a55050..adc6ba44dbb18 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/advanced_agent_authentication_settings.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/advanced_agent_authentication_settings.tsx @@ -22,12 +22,14 @@ import { interface Props { agentPolicyId?: string; selectedApiKeyId?: string; + initialAuthenticationSettingsOpen?: boolean; onKeyChange: (key?: string) => void; } export const AdvancedAgentAuthenticationSettings: FunctionComponent = ({ agentPolicyId, selectedApiKeyId, + initialAuthenticationSettingsOpen = false, onKeyChange, }) => { const { notifications } = useStartServices(); @@ -35,7 +37,9 @@ export const AdvancedAgentAuthenticationSettings: FunctionComponent = ({ [] ); const [isLoadingEnrollmentKey, setIsLoadingEnrollmentKey] = useState(false); - const [isAuthenticationSettingsOpen, setIsAuthenticationSettingsOpen] = useState(false); + const [isAuthenticationSettingsOpen, setIsAuthenticationSettingsOpen] = useState( + initialAuthenticationSettingsOpen + ); const onCreateEnrollmentTokenClick = async () => { setIsLoadingEnrollmentKey(true); diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps.tsx index 8eeb5fac4b0df..1c2372078a1c0 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps.tsx @@ -121,14 +121,14 @@ export const AgentEnrollmentKeySelectionStep = ({ }) => { return { title: i18n.translate('xpack.fleet.agentEnrollment.stepConfigurePolicyAuthenticationTitle', { - defaultMessage: 'Configure agent authentication', + defaultMessage: 'Select enrollment token', }), children: ( <> {agentPolicy.name}, }} @@ -138,6 +138,7 @@ export const AgentEnrollmentKeySelectionStep = ({ diff --git a/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_header_link.tsx b/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_header_link.tsx index 819fa03e2b6de..074a1c40bdb19 100644 --- a/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_header_link.tsx +++ b/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_header_link.tsx @@ -33,10 +33,10 @@ const TutorialDirectoryHeaderLink: TutorialDirectoryHeaderLinkComponent = memo(( return hasIngestManager && noticeState.settingsDataLoaded && noticeState.hasSeenNotice ? ( - + diff --git a/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_notice.tsx b/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_notice.tsx index 23754571c5bc1..e784ff1ac6adb 100644 --- a/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_notice.tsx +++ b/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_notice.tsx @@ -71,13 +71,13 @@ const TutorialDirectoryNotice: TutorialDirectoryNoticeComponent = memo(() => { title={ ), @@ -88,12 +88,16 @@ const TutorialDirectoryNotice: TutorialDirectoryNoticeComponent = memo(() => {

+ {

- + diff --git a/x-pack/plugins/fleet/public/components/home_integration/tutorial_module_notice.tsx b/x-pack/plugins/fleet/public/components/home_integration/tutorial_module_notice.tsx index f5b76de46e3a4..6b9b441551a56 100644 --- a/x-pack/plugins/fleet/public/components/home_integration/tutorial_module_notice.tsx +++ b/x-pack/plugins/fleet/public/components/home_integration/tutorial_module_notice.tsx @@ -31,8 +31,8 @@ const TutorialModuleNotice: TutorialModuleNoticeComponent = memo(({ moduleName }

@@ -50,13 +50,13 @@ const TutorialModuleNotice: TutorialModuleNoticeComponent = memo(({ moduleName } > ), blogPostLink: ( diff --git a/x-pack/plugins/fleet/public/plugin.ts b/x-pack/plugins/fleet/public/plugin.ts index 9b3aefa488f7b..f4a347c2ab3f0 100644 --- a/x-pack/plugins/fleet/public/plugin.ts +++ b/x-pack/plugins/fleet/public/plugin.ts @@ -32,7 +32,7 @@ import type { CheckPermissionsResponse, PostIngestSetupResponse } from '../commo import type { FleetConfigType } from '../common/types'; -import { CUSTOM_LOGS_INTEGRATION_NAME, FLEET_BASE_PATH } from './constants'; +import { CUSTOM_LOGS_INTEGRATION_NAME, INTEGRATIONS_BASE_PATH } from './constants'; import { licenseService } from './hooks'; import { setHttpClient } from './hooks/use_request'; import { createPackageSearchProvider } from './search_provider'; @@ -183,14 +183,14 @@ export class FleetPlugin implements Plugin { id: 'test-test', score: 80, title: 'test', - type: 'package', + type: 'integration', url: { path: 'undefined#/detail/test-test/overview', prependBasePath: false, @@ -100,7 +100,7 @@ describe('Package search provider', () => { id: 'test1-test1', score: 80, title: 'test1', - type: 'package', + type: 'integration', url: { path: 'undefined#/detail/test1-test1/overview', prependBasePath: false, @@ -173,7 +173,7 @@ describe('Package search provider', () => { id: 'test-test', score: 80, title: 'test', - type: 'package', + type: 'integration', url: { path: 'undefined#/detail/test-test/overview', prependBasePath: false, @@ -209,7 +209,7 @@ describe('Package search provider', () => { expect(sendGetPackages).toHaveBeenCalledTimes(0); }); - test('with packages tag, with no search term', () => { + test('with integration tag, with no search term', () => { getTestScheduler().run(({ hot, expectObservable }) => { mockSendGetPackages.mockReturnValue( hot('--(a|)', { a: { data: { response: testResponse } } }) @@ -220,7 +220,7 @@ describe('Package search provider', () => { const packageSearchProvider = createPackageSearchProvider(setupMock); expectObservable( packageSearchProvider.find( - { types: ['package'] }, + { types: ['integration'] }, { aborted$: NEVER, maxResults: 100, preference: '' } ) ).toBe('--(a|)', { @@ -229,7 +229,7 @@ describe('Package search provider', () => { id: 'test-test', score: 80, title: 'test', - type: 'package', + type: 'integration', url: { path: 'undefined#/detail/test-test/overview', prependBasePath: false, @@ -239,7 +239,7 @@ describe('Package search provider', () => { id: 'test1-test1', score: 80, title: 'test1', - type: 'package', + type: 'integration', url: { path: 'undefined#/detail/test1-test1/overview', prependBasePath: false, @@ -252,7 +252,7 @@ describe('Package search provider', () => { expect(sendGetPackages).toHaveBeenCalledTimes(1); }); - test('with packages tag, with search term', () => { + test('with integration tag, with search term', () => { getTestScheduler().run(({ hot, expectObservable }) => { mockSendGetPackages.mockReturnValue( hot('--(a|)', { a: { data: { response: testResponse } } }) @@ -263,7 +263,7 @@ describe('Package search provider', () => { const packageSearchProvider = createPackageSearchProvider(setupMock); expectObservable( packageSearchProvider.find( - { term: 'test1', types: ['package'] }, + { term: 'test1', types: ['integration'] }, { aborted$: NEVER, maxResults: 100, preference: '' } ) ).toBe('--(a|)', { @@ -272,7 +272,7 @@ describe('Package search provider', () => { id: 'test1-test1', score: 80, title: 'test1', - type: 'package', + type: 'integration', url: { path: 'undefined#/detail/test1-test1/overview', prependBasePath: false, diff --git a/x-pack/plugins/fleet/public/search_provider.ts b/x-pack/plugins/fleet/public/search_provider.ts index 56e08ecad29fb..a8b46a3dc0f07 100644 --- a/x-pack/plugins/fleet/public/search_provider.ts +++ b/x-pack/plugins/fleet/public/search_provider.ts @@ -21,7 +21,7 @@ import { sendGetPackages } from './hooks'; import type { GetPackagesResponse } from './types'; import { pagePathGetters } from './constants'; -const packageType = 'package'; +const packageType = 'integration'; const createPackages$ = () => from(sendGetPackages()).pipe( @@ -70,7 +70,7 @@ export const createPackageSearchProvider = (core: CoreSetup): GlobalSearchResult }; return { - id: 'packages', + id: 'integrations', getSearchableTypes: () => [packageType], find: ({ term, types }, { maxResults, aborted$ }) => { if (types?.includes(packageType) === false) { diff --git a/x-pack/plugins/fleet/server/plugin.ts b/x-pack/plugins/fleet/server/plugin.ts index a4c0df6dd3708..0ab102d91cd4d 100644 --- a/x-pack/plugins/fleet/server/plugin.ts +++ b/x-pack/plugins/fleet/server/plugin.ts @@ -218,7 +218,7 @@ export class FleetPlugin if (deps.features) { deps.features.registerKibanaFeature({ id: PLUGIN_ID, - name: 'Fleet', + name: 'Fleet and Integrations', category: DEFAULT_APP_CATEGORIES.management, app: [PLUGIN_ID, INTEGRATIONS_PLUGIN_ID, 'kibana'], catalogue: ['fleet'],