mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
[Ent Search Plugin] Fix loading initial plugin data, save kbn version in kea, fix connector img version (#199777)
## Summary PR is a bugfix to dynamically populate the `version` of the connectors docker image shown in the onboarding. It's hardcoded to `8.15.0` now .... Ideally we want to backport this to 8.16.1 + Changes: - Given that we are already getting [kibanaVersion](https://github.com/elastic/kibana/blob/main/x-pack/plugins/enterprise_search/public/applications/index.tsx#L65) from the [backend](https://github.com/elastic/kibana/blob/main/x-pack/plugins/enterprise_search/public/plugin.ts#L212), I'm saving the version in `KibanaLogic` reducer and use it to popuale the docker image version - I realised that because of [this change](664c1a0a08 (diff-19a48c92980fd550e48c5e1d4d1f9a2bec4d309909b7cfa693264c92b387fe3dR95)
) ~10 months ago, we stopped passing plugin data, due to `if (!this.config.host) return; // No API to call` therefore I removed this line to fix this. Why I think it's safe to merge? - It was only added 10 months ago, before things were working without this extra if statement - The backend logic handles the non-existent host: see [here](https://github.com/elastic/kibana/blob/main/x-pack/plugins/enterprise_search/server/lib/enterprise_search_config_api.ts#L45-L61) - We are guaranteed that other config fields exist, see [config schema](d276b48995/x-pack/plugins/enterprise_search/server/index.ts (L16-L42)
) <img width="1204" alt="Screenshot 2024-11-13 at 10 51 36" src="https://github.com/user-attachments/assets/dbd2395b-00e5-4331-a9be-cb2a87133321"> ### Checklist Delete any items that are not applicable to this PR. - [ ] [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) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
parent
de2d9675b2
commit
5d00a0a098
6 changed files with 11 additions and 2 deletions
|
@ -47,6 +47,7 @@ export const mockKibanaValues = {
|
|||
indexMappingComponent: null,
|
||||
isCloud: false,
|
||||
isSidebarEnabled: true,
|
||||
kibanaVersion: null,
|
||||
lens: {
|
||||
EmbeddableComponent: jest.fn(),
|
||||
stateHelperApi: jest.fn().mockResolvedValue({
|
||||
|
|
|
@ -34,12 +34,14 @@ export interface DockerInstructionsStepProps {
|
|||
hasApiKey: boolean;
|
||||
isWaitingForConnector: boolean;
|
||||
serviceType: string;
|
||||
connectorVersion: string;
|
||||
}
|
||||
export const DockerInstructionsStep: React.FC<DockerInstructionsStepProps> = ({
|
||||
connectorId,
|
||||
isWaitingForConnector,
|
||||
serviceType,
|
||||
apiKeyData,
|
||||
connectorVersion,
|
||||
}) => {
|
||||
const [isOpen, setIsOpen] = React.useState<EuiAccordionProps['forceState']>('open');
|
||||
const { elasticsearchUrl } = useCloudDetails();
|
||||
|
@ -163,7 +165,7 @@ export const DockerInstructionsStep: React.FC<DockerInstructionsStepProps> = ({
|
|||
showTopBar={false}
|
||||
languageType="bash"
|
||||
codeSnippet={getRunFromDockerSnippet({
|
||||
version: '8.15.0',
|
||||
version: connectorVersion,
|
||||
})}
|
||||
/>
|
||||
</EuiAccordion>
|
||||
|
|
|
@ -30,6 +30,7 @@ import { ConnectorStatus } from '@kbn/search-connectors';
|
|||
|
||||
import { Status } from '../../../../../common/types/api';
|
||||
|
||||
import { KibanaLogic } from '../../../shared/kibana';
|
||||
import { GetApiKeyByIdLogic } from '../../api/api_key/get_api_key_by_id_api_logic';
|
||||
|
||||
import { GenerateConnectorApiKeyApiLogic } from '../../api/connector/generate_connector_api_key_api_logic';
|
||||
|
@ -48,6 +49,7 @@ export const ConnectorDeployment: React.FC = () => {
|
|||
const [selectedDeploymentMethod, setSelectedDeploymentMethod] = useState<'docker' | 'source'>(
|
||||
'docker'
|
||||
);
|
||||
const { kibanaVersion } = useValues(KibanaLogic);
|
||||
const { generatedData, isGenerateLoading } = useValues(DeploymentLogic);
|
||||
const { index, isLoading, connector, connectorId } = useValues(ConnectorViewLogic);
|
||||
const { fetchConnector } = useActions(ConnectorViewLogic);
|
||||
|
@ -199,6 +201,7 @@ export const ConnectorDeployment: React.FC = () => {
|
|||
serviceType={connector.service_type ?? ''}
|
||||
isWaitingForConnector={isWaitingForConnector}
|
||||
apiKeyData={apiKey}
|
||||
connectorVersion={kibanaVersion ?? ''}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
|
|
|
@ -119,6 +119,7 @@ export const renderApp = (
|
|||
history,
|
||||
indexMappingComponent,
|
||||
isSidebarEnabled,
|
||||
kibanaVersion,
|
||||
lens,
|
||||
ml,
|
||||
navigateToUrl,
|
||||
|
|
|
@ -60,6 +60,7 @@ export interface KibanaLogicProps {
|
|||
history: ScopedHistory;
|
||||
indexMappingComponent?: React.FC<IndexMappingProps>;
|
||||
isSidebarEnabled: boolean;
|
||||
kibanaVersion?: string;
|
||||
lens?: LensPublicStart;
|
||||
ml?: MlPluginStart;
|
||||
navigateToUrl: RequiredFieldsOnly<ApplicationStart['navigateToUrl']>;
|
||||
|
@ -94,6 +95,7 @@ export interface KibanaValues {
|
|||
indexMappingComponent: React.FC<IndexMappingProps> | null;
|
||||
isCloud: boolean;
|
||||
isSidebarEnabled: boolean;
|
||||
kibanaVersion: string | null;
|
||||
lens: LensPublicStart | null;
|
||||
ml: MlPluginStart | null;
|
||||
navigateToUrl(path: string, options?: CreateHrefOptions): Promise<void>;
|
||||
|
@ -133,6 +135,7 @@ export const KibanaLogic = kea<MakeLogicType<KibanaValues>>({
|
|||
history: [props.history, {}],
|
||||
indexMappingComponent: [props.indexMappingComponent || null, {}],
|
||||
isSidebarEnabled: [props.isSidebarEnabled, {}],
|
||||
kibanaVersion: [props.kibanaVersion || null, {}],
|
||||
lens: [props.lens || null, {}],
|
||||
ml: [props.ml || null, {}],
|
||||
navigateToUrl: [
|
||||
|
|
|
@ -199,7 +199,6 @@ export class EnterpriseSearchPlugin implements Plugin {
|
|||
this.esConfig = { elasticsearch_host: ELASTICSEARCH_URL_PLACEHOLDER };
|
||||
}
|
||||
|
||||
if (!this.config.host) return; // No API to call
|
||||
if (this.hasInitialized) return; // We've already made an initial call
|
||||
|
||||
try {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue