diff --git a/package-lock.json b/package-lock.json
index 7c71cd7..a5d87f8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,8 +11,8 @@
"@ant-design/icons": "5.6.0",
"@monaco-editor/react": "4.6.0",
"@originjs/vite-plugin-federation": "1.3.6",
- "@prorobotech/openapi-k8s-toolkit": "0.0.1-alpha.16",
- "@readme/openapi-parser": "^4.0.0",
+ "@prorobotech/openapi-k8s-toolkit": "^0.0.1-alpha.17",
+ "@readme/openapi-parser": "4.0.0",
"@reduxjs/toolkit": "2.2.5",
"@tanstack/react-query": "5.62.2",
"@tanstack/react-query-devtools": "5.62.2",
@@ -2752,9 +2752,9 @@
}
},
"node_modules/@prorobotech/openapi-k8s-toolkit": {
- "version": "0.0.1-alpha.16",
- "resolved": "https://registry.npmjs.org/@prorobotech/openapi-k8s-toolkit/-/openapi-k8s-toolkit-0.0.1-alpha.16.tgz",
- "integrity": "sha512-mo+4Fbp+bi1zTuaheq53vpiS9Ole4a823IiwElsY1PM0eJs5EYprqhXI7l5BRlYQTeyL8tDTtfNQ6Ck4wikbAw==",
+ "version": "0.0.1-alpha.17",
+ "resolved": "https://registry.npmjs.org/@prorobotech/openapi-k8s-toolkit/-/openapi-k8s-toolkit-0.0.1-alpha.17.tgz",
+ "integrity": "sha512-nGJXsCN01Q/h4KMrS557xdKdE9XrKDuoepiR9CZf6kQcd/c338TcJ6P8X3CVDCd6hNVJ3QzpPK+0oU6LhArQ4w==",
"license": "MIT",
"dependencies": {
"@monaco-editor/react": "4.6.0",
diff --git a/package.json b/package.json
index b06eac5..a73c882 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,7 @@
"@ant-design/icons": "5.6.0",
"@monaco-editor/react": "4.6.0",
"@originjs/vite-plugin-federation": "1.3.6",
- "@prorobotech/openapi-k8s-toolkit": "0.0.1-alpha.16",
+ "@prorobotech/openapi-k8s-toolkit": "^0.0.1-alpha.17",
"@readme/openapi-parser": "4.0.0",
"@reduxjs/toolkit": "2.2.5",
"@tanstack/react-query": "5.62.2",
diff --git a/src/components/organisms/Factory/Factory.tsx b/src/components/organisms/Factory/Factory.tsx
index e99ccf8..07b7f39 100644
--- a/src/components/organisms/Factory/Factory.tsx
+++ b/src/components/organisms/Factory/Factory.tsx
@@ -1,6 +1,32 @@
import React, { FC } from 'react'
-import { DynamicExample } from '@prorobotech/openapi-k8s-toolkit'
+import { useParams } from 'react-router-dom'
+import {
+ DynamicComponents,
+ DynamicRendererWithProviders,
+ TDynamicComponentsAppTypeMap,
+ useDirectUnknownResource,
+ TFactoryResponse,
+} from '@prorobotech/openapi-k8s-toolkit'
+import { useSelector } from 'react-redux'
+import { RootState } from 'store/store'
+import { BASE_API_GROUP, BASE_API_VERSION } from 'constants/customizationApiGroupAndVersion'
export const Factory: FC = () => {
- return
+ const cluster = useSelector((state: RootState) => state.cluster.cluster)
+ const { key } = useParams()
+
+ const { data: factoryData } = useDirectUnknownResource>({
+ uri: `/api/clusters/${cluster}/k8s/apis/${BASE_API_GROUP}/${BASE_API_VERSION}/factories/`,
+ refetchInterval: false,
+ queryKey: ['factories', cluster || 'no-cluster'],
+ isEnabled: cluster !== undefined,
+ })
+
+ const { spec } = factoryData?.items.find(({ spec }) => spec.key === key) ?? { spec: undefined }
+
+ if (!spec) {
+ return null
+ }
+
+ return
}