From e7aedd1fef178ea3a4e26f933cb73106cc31237e Mon Sep 17 00:00:00 2001 From: kalencaya <1942460489@qq.com> Date: Tue, 5 Dec 2023 08:07:41 +0800 Subject: [PATCH] [Feature][scaleph-engine-doris] add doris instance detail web (#653) * feature: add doris instance detail web * feature: add doris instance detail web * feature: add doris instance detail web --- .../dao/entity/master/ws/WsDorisTemplate.java | 3 - .../master/ws/WsDorisTemplateMapper.xml | 3 +- .../doris/service/dto/WsDorisTemplateDTO.java | 2 - .../param/WsDorisTemplateAddParam.java | 4 - .../param/WsDorisTemplateUpdateParam.java | 4 - .../template/DorisTemplateConverter.java | 2 - scaleph-ui-react/config/routes.ts | 7 + .../src/locales/zh-CN/pages/project.ts | 1 - .../Workspace/Doris/Instance/Detail/index.tsx | 186 ++++++++++++++++++ .../Instance/DorisInstanceSimpleForm.tsx | 83 ++++++++ .../Doris/Instance/Steps/BaseStepForm.tsx | 5 +- .../Workspace/Doris/Instance/index.tsx | 24 ++- .../Doris/Template/DorisTemplateForm.tsx | 9 +- .../Doris/Template/Steps/BaseStepForm.tsx | 9 +- .../Workspace/Doris/Template/Steps/index.tsx | 1 - .../Workspace/Doris/Template/index.tsx | 5 - .../project/WsDorisTemplateService.ts | 1 - .../src/services/project/typings.d.ts | 3 - .../mysql/init.d/scaleph-security-mysql.sql | 4 + .../docker/mysql/init.d/scaleph-ws-mysql.sql | 31 ++- 20 files changed, 322 insertions(+), 65 deletions(-) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/Detail/index.tsx create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/DorisInstanceSimpleForm.tsx diff --git a/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/WsDorisTemplate.java b/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/WsDorisTemplate.java index b938b191a..caa71b2db 100644 --- a/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/WsDorisTemplate.java +++ b/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/WsDorisTemplate.java @@ -43,9 +43,6 @@ public class WsDorisTemplate extends BaseDO { @TableField("template_id") private String templateId; - @TableField("namespace") - private String namespace; - @TableField("`admin`") private String admin; diff --git a/scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsDorisTemplateMapper.xml b/scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsDorisTemplateMapper.xml index aaba28934..d953f6462 100644 --- a/scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsDorisTemplateMapper.xml +++ b/scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsDorisTemplateMapper.xml @@ -29,7 +29,6 @@ - @@ -45,7 +44,7 @@ create_time, editor, update_time, - project_id, `name`, template_id, namespace, `admin`, fe_spec, be_spec, cn_spec, broker_spec, remark + project_id, `name`, template_id, `admin`, fe_spec, be_spec, cn_spec, broker_spec, remark diff --git a/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/dto/WsDorisTemplateDTO.java b/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/dto/WsDorisTemplateDTO.java index 7d814b371..205ca4025 100644 --- a/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/dto/WsDorisTemplateDTO.java +++ b/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/dto/WsDorisTemplateDTO.java @@ -36,8 +36,6 @@ public class WsDorisTemplateDTO extends BaseDTO { private String templateId; - private String namespace; - @Schema(description = "admin user") private AdminUser admin; diff --git a/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/param/WsDorisTemplateAddParam.java b/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/param/WsDorisTemplateAddParam.java index 7319f29b1..4ff2fedc2 100644 --- a/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/param/WsDorisTemplateAddParam.java +++ b/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/param/WsDorisTemplateAddParam.java @@ -36,10 +36,6 @@ public class WsDorisTemplateAddParam { @Schema(description = "name") private String name; - @NotBlank - @Schema(description = "namespace") - private String namespace; - @NotNull @Schema(description = "admin user") private AdminUser admin; diff --git a/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/param/WsDorisTemplateUpdateParam.java b/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/param/WsDorisTemplateUpdateParam.java index 72ec12ee6..a887dcb93 100644 --- a/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/param/WsDorisTemplateUpdateParam.java +++ b/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/param/WsDorisTemplateUpdateParam.java @@ -36,10 +36,6 @@ public class WsDorisTemplateUpdateParam { @Schema(description = "name") private String name; - @NotBlank - @Schema(description = "namespace") - private String namespace; - @NotNull @Schema(description = "admin user") private AdminUser admin; diff --git a/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/resource/template/DorisTemplateConverter.java b/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/resource/template/DorisTemplateConverter.java index f567d92d4..af4cb1d63 100644 --- a/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/resource/template/DorisTemplateConverter.java +++ b/scaleph-engine/scaleph-engine-doris/src/main/java/cn/sliew/scaleph/engine/doris/service/resource/template/DorisTemplateConverter.java @@ -36,7 +36,6 @@ public DorisTemplate convertTo(WsDorisTemplateDTO source) { ObjectMetaBuilder builder = new ObjectMetaBuilder(true); String name = StringUtils.hasText(source.getTemplateId()) ? source.getTemplateId() : source.getName(); builder.withName(name); - builder.withNamespace(source.getNamespace()); builder.withLabels(Map.of(ResourceLabels.SCALEPH_LABEL_NAME, source.getName())); template.setMetadata(builder.build()); DorisClusterSpec spec = new DorisClusterSpec(); @@ -59,7 +58,6 @@ public WsDorisTemplateDTO convertFrom(DorisTemplate target) { } dto.setName(name); dto.setTemplateId(target.getMetadata().getName()); - dto.setNamespace(target.getMetadata().getNamespace()); DorisClusterSpec spec = target.getSpec(); dto.setFeSpec(spec.getFeSpec()); diff --git a/scaleph-ui-react/config/routes.ts b/scaleph-ui-react/config/routes.ts index 0f4d6a829..1fcc0a931 100644 --- a/scaleph-ui-react/config/routes.ts +++ b/scaleph-ui-react/config/routes.ts @@ -268,6 +268,13 @@ export default [ pCode: PRIVILEGE_CODE.workspaceClusterConfigShow, access: 'normalRouteFilter' }, + { + path: '/workspace/doris/instance/detail', + exact: true, + component: './Project/Workspace/Doris/Instance/Detail', + pCode: PRIVILEGE_CODE.workspaceClusterConfigShow, + access: 'normalRouteFilter' + }, ] }, ] diff --git a/scaleph-ui-react/src/locales/zh-CN/pages/project.ts b/scaleph-ui-react/src/locales/zh-CN/pages/project.ts index b9c84fb17..a6c40469c 100644 --- a/scaleph-ui-react/src/locales/zh-CN/pages/project.ts +++ b/scaleph-ui-react/src/locales/zh-CN/pages/project.ts @@ -922,7 +922,6 @@ export default { 'pages.project.doris.template': 'Template', 'pages.project.doris.template.name': '名称', - 'pages.project.doris.template.namespace': '命名空间', 'pages.project.doris.template.define': '模板定义', 'pages.project.doris.template.steps.base': '基础信息', 'pages.project.doris.template.steps.component': '集群组件', diff --git a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/Detail/index.tsx b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/Detail/index.tsx new file mode 100644 index 000000000..9830f972e --- /dev/null +++ b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/Detail/index.tsx @@ -0,0 +1,186 @@ +import {useIntl, useLocation} from "umi"; +import React, {useEffect, useRef, useState} from "react"; +import {WsDorisInstance} from "@/services/project/typings"; +import {PageContainer, ProCard, StatisticCard} from "@ant-design/pro-components"; +import {Divider, Space, Statistic} from "antd"; +import RcResizeObserver from 'rc-resize-observer'; +import Editor, {Monaco, useMonaco} from "@monaco-editor/react"; +import {WsDorisTemplateService} from "@/services/project/WsDorisTemplateService"; +import YAML from "yaml"; +import {WsDorisInstanceService} from "@/services/project/WsDorisInstanceService"; + +const DorisInstanceDetailWeb: React.FC = () => { + const intl = useIntl(); + const data = useLocation().state as WsDorisInstance + const editorRef = useRef(null); + const monaco = useMonaco(); + + const [yaml, setYaml] = useState(null); + const [responsive, setResponsive] = useState(false); + + useEffect(() => { + monaco?.languages.typescript.javascriptDefaults.setEagerModelSync(true); + }, [monaco]); + + const handleEditorDidMount = (editor, monaco: Monaco) => { + editorRef.current = editor; + } + + useEffect(() => { + const yamlData = {...data} + yamlData.deployed = undefined + WsDorisInstanceService.asYaml(yamlData).then((response) => { + if (response.success) { + setYaml(YAML.stringify(response.data)) + } + }); + }, []); + + return ( + + { + setResponsive(offset.width < 596); + }} + > + + + + + + + + + ), + }} + footer={ +
{intl.formatMessage({id: 'pages.project.doris.template.steps.component.base.image'}) + ": " + data.feSpec?.image ? data.feSpec?.image : '-'}
+ } + /> +
+ + + + + + + + + ), + }} + footer={ +
{intl.formatMessage({id: 'pages.project.doris.template.steps.component.base.image'}) + ": " + data.beSpec?.image ? data.beSpec?.image : '-'}
+ } + /> +
+ + + + + + + + + ), + }} + footer={ +
{intl.formatMessage({id: 'pages.project.doris.template.steps.component.base.image'}) + ": " + data.cnSpec?.image ? data.cnSpec?.image : '-'}
+ } + /> +
+ + + + + + + + + ), + }} + footer={ +
{intl.formatMessage({id: 'pages.project.doris.template.steps.component.base.image'}) + ": " + data.brokerSpec?.image ? data.brokerSpec?.image : '-'}
+ } + /> +
+
+ + + + + + +
+
+ ); +} + +export default DorisInstanceDetailWeb; diff --git a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/DorisInstanceSimpleForm.tsx b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/DorisInstanceSimpleForm.tsx new file mode 100644 index 000000000..a448781a5 --- /dev/null +++ b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/DorisInstanceSimpleForm.tsx @@ -0,0 +1,83 @@ +import {useIntl} from "umi"; +import React from "react"; +import {Form, message, Modal} from "antd"; +import {ProForm, ProFormDigit, ProFormText, ProFormTextArea} from "@ant-design/pro-components"; +import {ModalFormProps} from '@/app.d'; +import {WsDorisInstance} from "@/services/project/typings"; +import {WORKSPACE_CONF} from "@/constant"; +import {WsDorisInstanceService} from "@/services/project/WsDorisInstanceService"; + +const DorisInstanceSimpleForm: React.FC> = ({ + data, + visible, + onVisibleChange, + onCancel + }) => { + const intl = useIntl(); + const [form] = Form.useForm(); + const projectId = localStorage.getItem(WORKSPACE_CONF.projectId); + + return ( + { + form.validateFields().then((values) => { + data.id + ? WsDorisInstanceService.update({...values}).then((response) => { + if (response.success) { + message.success(intl.formatMessage({id: 'app.common.operate.edit.success'})); + if (onVisibleChange) { + onVisibleChange(false); + } + } + }) + : WsDorisInstanceService.add({...values, projectId: projectId}).then((response) => { + if (response.success) { + message.success(intl.formatMessage({id: 'app.common.operate.new.success'})); + if (onVisibleChange) { + onVisibleChange(false); + } + } + }); + }); + }} + > + + + + ); +} + +export default DorisInstanceSimpleForm; diff --git a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/Steps/BaseStepForm.tsx b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/Steps/BaseStepForm.tsx index 591fe55b2..6a12e2ec0 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/Steps/BaseStepForm.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/Steps/BaseStepForm.tsx @@ -1,5 +1,5 @@ import React from "react"; -import {ProCard, ProFormDigit, ProFormSelect, ProFormText} from "@ant-design/pro-components"; +import {ProCard, ProFormDigit, ProFormSelect, ProFormText, ProFormTextArea} from "@ant-design/pro-components"; import {useIntl} from "umi"; import {ClusterCredentialListParam} from "@/services/resource/typings"; import {ClusterCredentialService} from "@/services/resource/clusterCredential.service"; @@ -39,6 +39,7 @@ const DorisInstanceBase: React.FC = () => { name={"namespace"} label={intl.formatMessage({id: 'pages.project.doris.instance.namespace'})} rules={[{required: true}]} + initialValue={"doris"} /> { }) })} /> - diff --git a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/index.tsx b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/index.tsx index c3f39f8e7..72060164a 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/index.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Instance/index.tsx @@ -2,11 +2,11 @@ import {history, useAccess, useIntl} from "umi"; import React, {useRef, useState} from "react"; import {Button, message, Modal, Space, Tag, Tooltip} from "antd"; import {DeleteOutlined, EditOutlined, NodeIndexOutlined} from "@ant-design/icons"; -import {ActionType, ProColumns, ProFormInstance, ProFormSelect, ProTable} from "@ant-design/pro-components"; -import {DICT_TYPE, PRIVILEGE_CODE, WORKSPACE_CONF} from "@/constant"; +import {ActionType, ProColumns, ProFormInstance, ProTable} from "@ant-design/pro-components"; +import {PRIVILEGE_CODE, WORKSPACE_CONF} from "@/constant"; import {WsDorisInstance, WsDorisTemplate} from "@/services/project/typings"; import {WsDorisInstanceService} from "@/services/project/WsDorisInstanceService"; -import {DictDataService} from "@/services/admin/dictData.service"; +import DorisInstanceSimpleForm from "@/pages/Project/Workspace/Doris/Instance/DorisInstanceSimpleForm"; const DorisInstanceWeb: React.FC = () => { const intl = useIntl(); @@ -36,7 +36,8 @@ const DorisInstanceWeb: React.FC = () => { dataIndex: 'deployed', render: (dom, entity) => { return ({entity.deployed?.label}) - } + }, + hideInSearch: true }, { title: intl.formatMessage({id: 'app.common.data.remark'}), @@ -83,7 +84,7 @@ const DorisInstanceWeb: React.FC = () => { type="link" icon={} onClick={() => { - // history.push("/workspace/doris/template/detail", record) + history.push("/workspace/doris/instance/detail", record) }} /> @@ -185,6 +186,19 @@ const DorisInstanceWeb: React.FC = () => { tableAlertRender={false} tableAlertOptionRender={false} /> + {dorisInstanceFormData.visiable && ( + { + setDorisInstanceFormData({visiable: false, data: {}}); + }} + onVisibleChange={(visiable) => { + setDorisInstanceFormData({visiable: visiable, data: {}}); + actionRef.current?.reload(); + }} + data={dorisInstanceFormData.data} + /> + )} ); } diff --git a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/DorisTemplateForm.tsx b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/DorisTemplateForm.tsx index 24d8172cc..f7b9fa0d9 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/DorisTemplateForm.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/DorisTemplateForm.tsx @@ -1,7 +1,7 @@ import {useIntl} from "umi"; import React from "react"; import {Form, message, Modal} from "antd"; -import {ProForm, ProFormDigit, ProFormText} from "@ant-design/pro-components"; +import {ProForm, ProFormDigit, ProFormText, ProFormTextArea} from "@ant-design/pro-components"; import {ModalFormProps} from '@/app.d'; import {WsDorisTemplate} from "@/services/project/typings"; import {WORKSPACE_CONF} from "@/constant"; @@ -71,12 +71,7 @@ const DorisTemplateForm: React.FC> = ({ label={intl.formatMessage({id: 'pages.project.doris.template.name'})} rules={[{required: true}]} /> - - diff --git a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/Steps/BaseStepForm.tsx b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/Steps/BaseStepForm.tsx index ce46a3619..4d5ced08c 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/Steps/BaseStepForm.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/Steps/BaseStepForm.tsx @@ -1,5 +1,5 @@ import React from "react"; -import {ProCard, ProFormDigit, ProFormText} from "@ant-design/pro-components"; +import {ProCard, ProFormDigit, ProFormText, ProFormTextArea} from "@ant-design/pro-components"; import {useIntl} from "umi"; const DorisTemplateBase: React.FC = () => { @@ -13,12 +13,7 @@ const DorisTemplateBase: React.FC = () => { label={intl.formatMessage({id: 'pages.project.doris.template.name'})} rules={[{required: true}]} /> - - diff --git a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/Steps/index.tsx b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/Steps/index.tsx index ae7d35242..5223aad33 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/Steps/index.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/Steps/index.tsx @@ -17,7 +17,6 @@ const DorisTemplateSteps: React.FC = (props: any) => { const template: WsDorisTemplate = { projectId: projectId, name: values.name, - namespace: values.namespace, remark: values.remark, } editDorisTemplate(template) diff --git a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/index.tsx b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/index.tsx index a0e092727..d9bbaf7bf 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/index.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/Doris/Template/index.tsx @@ -25,11 +25,6 @@ const DorisTemplateWeb: React.FC = () => { title: intl.formatMessage({id: 'pages.project.doris.template.name'}), dataIndex: 'name' }, - { - title: intl.formatMessage({id: 'pages.project.doris.template.namespace'}), - dataIndex: 'namespace', - hideInSearch: true, - }, { title: intl.formatMessage({id: 'app.common.data.remark'}), dataIndex: 'remark', diff --git a/scaleph-ui-react/src/services/project/WsDorisTemplateService.ts b/scaleph-ui-react/src/services/project/WsDorisTemplateService.ts index 0cc1761bd..0fb79a115 100644 --- a/scaleph-ui-react/src/services/project/WsDorisTemplateService.ts +++ b/scaleph-ui-react/src/services/project/WsDorisTemplateService.ts @@ -115,7 +115,6 @@ export const WsDorisTemplateService = { parseData: (data: WsDorisTemplate) => { const value: Record = { 'name': data.name, - 'namespace': data.namespace, 'remark': data.remark, 'admin.name': data.admin?.name, diff --git a/scaleph-ui-react/src/services/project/typings.d.ts b/scaleph-ui-react/src/services/project/typings.d.ts index 50e2b8539..4fb3da788 100644 --- a/scaleph-ui-react/src/services/project/typings.d.ts +++ b/scaleph-ui-react/src/services/project/typings.d.ts @@ -433,7 +433,6 @@ export type WsDorisTemplate = { projectId: number; name?: string; templateId?: string; - namespace: string; admin?: Record; feSpec?: Record; beSpec?: Record; @@ -452,7 +451,6 @@ export type WsDorisTemplateParam = QueryParam & { export type WsDorisTemplateAddParam = { projectId: number; name: string; - namespace: string; admin?: Record; feSpec?: Record; beSpec?: Record; @@ -464,7 +462,6 @@ export type WsDorisTemplateAddParam = { export type WsDorisTemplateUpdateParam = { id: number; name: string; - namespace: string; admin?: Record; feSpec?: Record; beSpec?: Record; diff --git a/tools/docker/mysql/init.d/scaleph-security-mysql.sql b/tools/docker/mysql/init.d/scaleph-security-mysql.sql index 0be690c3e..aaba0a229 100644 --- a/tools/docker/mysql/init.d/scaleph-security-mysql.sql +++ b/tools/docker/mysql/init.d/scaleph-security-mysql.sql @@ -567,6 +567,10 @@ INSERT INTO `sec_resource_web` (`id`, `type`, `pid`, `name`, `path`, `redirect`, `remark`, `creator`, `editor`) VALUES (70, '2', 64, NULL, '/workspace/doris/instance/steps', NULL, NULL, NULL, './Project/Workspace/Doris/Instance/Steps', NULL, 'sys', 'sys'); +INSERT INTO `sec_resource_web`(`id`, `type`, `pid`, `name`, `path`, `redirect`, `layout`, `icon`, `component`, `remark`, + `creator`, `editor`) +VALUES (71, '2', 64, '', '/workspace/doris/instance/detail', NULL, NULL, NULL, + './Project/Workspace/Doris/Instance/Detail', NULL, 'sys', 'sys'); drop table if exists sec_resource_web_role; create table sec_resource_web_role diff --git a/tools/docker/mysql/init.d/scaleph-ws-mysql.sql b/tools/docker/mysql/init.d/scaleph-ws-mysql.sql index 1eba5720e..143bbd0bf 100644 --- a/tools/docker/mysql/init.d/scaleph-ws-mysql.sql +++ b/tools/docker/mysql/init.d/scaleph-ws-mysql.sql @@ -70,7 +70,7 @@ create table ws_flink_artifact_jar editor varchar(32) comment '修改人', update_time timestamp default current_timestamp on update current_timestamp comment '修改时间', primary key (id), - key idx_flink_artifact (flink_artifact_id) + key idx_flink_artifact (flink_artifact_id) ) engine = innodb comment = 'flink artifact jar'; DROP TABLE IF EXISTS ws_flink_artifact_sql; @@ -86,7 +86,7 @@ CREATE TABLE ws_flink_artifact_sql editor varchar(32), update_time datetime not null default current_timestamp on update current_timestamp, PRIMARY KEY (id), - key idx_flink_artifact (flink_artifact_id) + key idx_flink_artifact (flink_artifact_id) ) ENGINE = INNODB COMMENT = 'flink artifact sql'; INSERT INTO `ws_flink_artifact_sql` (`id`, `flink_artifact_id`, `flink_version`, `script`, `current`, `creator`, @@ -139,7 +139,7 @@ create table ws_di_job editor varchar(32) comment '修改人', update_time timestamp default current_timestamp on update current_timestamp comment '修改时间', primary key (id), - key idx_flink_artifact (flink_artifact_id) + key idx_flink_artifact (flink_artifact_id) ) engine = innodb comment '数据集成-作业信息'; INSERT INTO ws_di_job (id, flink_artifact_id, job_engine, job_id, current, creator, editor) VALUES (1, 4, 'seatunnel', 'b8e16c94-258c-4487-a88c-8aad40a38b35', 1, 'sys', 'sys'); @@ -257,7 +257,7 @@ INSERT INTO `ws_flink_kubernetes_template`(`id`, `project_id`, `name`, `template `log_configuration`, `ingress`, additional_dependencies, `remark`, `creator`, `editor`) VALUES (1, 1, 'simple-sessioin-cluster', '19b77b47-b9e4-418c-90a1-533ea6121c16', 'FlinkSessionJob', 'default', - '{"image":"flink:1.18","imagePullPolicy":"IfNotPresent","flinkVersion":"v1_17","serviceAccount":"flink"}', + '{"image":"flink:1.18","imagePullPolicy":"IfNotPresent","flinkVersion":"v1_18","serviceAccount":"flink"}', '{"resource":{"cpu":1.0,"memory":"1G"},"replicas":1}', '{"resource":{"cpu":1.0,"memory":"1G"},"replicas":1}', NULL, @@ -301,7 +301,7 @@ VALUES (4, 1, 'simple-seatunnel-deployment', '35e4a532-3c7b-4273-8cdb-edbef2cb9e '{"resource":{"cpu":1.0,"memory":"1G"},"replicas":1}', '{"resource":{"cpu":1.0,"memory":"1G"},"replicas":1}', NULL, - '{"web.cancel.enable":"false","taskmanager.numberOfTaskSlots":"8","kubernetes.rest-service.exposed.type":"NodePort","kubernetes.rest-service.exposed.node-port-address-type":"ExternalIP"}', + '{"web.cancel.enable":"false","taskmanager.numberOfTaskSlots":"1","kubernetes.rest-service.exposed.type":"NodePort","kubernetes.rest-service.exposed.node-port-address-type":"ExternalIP"}', NULL, NULL, NULL, NULL, 'sys', 'sys'); INSERT INTO `ws_flink_kubernetes_template`(`id`, `project_id`, `name`, `template_id`, `deployment_kind`, @@ -323,7 +323,7 @@ INSERT INTO `ws_flink_kubernetes_template`(`id`, `project_id`, `name`, `template `log_configuration`, `ingress`, additional_dependencies, `remark`, `creator`, `editor`) VALUES (6, 1, 'session-cluster', '8b330683-05ec-4c29-b991-df35b2036e2d', 'FlinkSessionJob', 'default', - '{"image":"flink:1.18","imagePullPolicy":"IfNotPresent","flinkVersion":"v1_17","serviceAccount":"flink"}', + '{"image":"flink:1.18","imagePullPolicy":"IfNotPresent","flinkVersion":"v1_18","serviceAccount":"flink"}', '{"resource":{"cpu":1.0,"memory":"1G"},"replicas":1}', '{"resource":{"cpu":1.0,"memory":"1G"},"replicas":1}', '{"apiVersion":"v1","kind":"Pod","spec":{"containers":[{"name":"flink-main-container","volumeMounts":[{"mountPath":"/flink-data","name":"flink-volume"}]}],"volumes":[{"emptyDir":{"sizeLimit":"500Mi"},"name":"flink-volume"}]}}', @@ -471,7 +471,7 @@ create table ws_flink_custom_artifact editor varchar(32) comment '修改人', update_time timestamp default current_timestamp on update current_timestamp comment '修改时间', primary key (id), - key idx_custom (flink_version, type, file_name) + key idx_custom (flink_version, type, file_name) ) engine = innodb comment = 'flink custom artifact'; drop table if exists ws_flink_custom_factory; @@ -487,7 +487,7 @@ create table ws_flink_custom_factory editor varchar(32) comment '修改人', update_time timestamp default current_timestamp on update current_timestamp comment '修改时间', primary key (id), - key idx_custom (flink_custom_artifact_id, factory_class, `name`) + key idx_custom (flink_custom_artifact_id, factory_class, `name`) ) engine = innodb comment = 'flink custom factory'; drop table if exists ws_flink_sql_gateway_session; @@ -543,11 +543,10 @@ create table ws_flink_sql_gateway_catalog drop table if exists ws_doris_template; create table ws_doris_template ( - id bigint not null auto_increment comment '自增主键', - project_id bigint not null comment '项目id', - `name` varchar(64) not null, - template_id varchar(64) not null, - namespace varchar(255) not null, + id bigint not null auto_increment comment '自增主键', + project_id bigint not null comment '项目id', + `name` varchar(64) not null, + template_id varchar(64) not null, admin varchar(255) comment 'admin user', `fe_spec` text comment 'fe spec', `be_spec` text comment 'be spec', @@ -562,9 +561,9 @@ create table ws_doris_template unique key uniq_name (project_id, `name`) ) engine = innodb comment = 'doris template'; -INSERT INTO `ws_doris_template`(`id`, `project_id`, `name`, `template_id`, `namespace`, `admin`, `fe_spec`, `be_spec`, - `cn_spec`, `broker_spec`, `remark`, `creator`, `editor`) -VALUES (1, 1, 'simple-doriscluster-sample', 'zexbfaf0eba4ce824787a9bed88148eb233f', 'default', +INSERT INTO `ws_doris_template`(`id`, `project_id`, `name`, `template_id`, `admin`, `fe_spec`, `be_spec`, `cn_spec`, + `broker_spec`, `remark`, `creator`, `editor`) +VALUES (1, 1, 'simple-doriscluster-sample', 'zexbfaf0eba4ce824787a9bed88148eb233f', '{"name":"admin","password":"Admin123"}', '{\"replicas\":1,\"image\":\"selectdb/doris.fe-ubuntu:2.0.2\",\"limits\":{\"cpu\":4,\"memory\":\"8Gi\"},\"requests\":{\"cpu\":4,\"memory\":\"8Gi\"}}', '{\"replicas\":1,\"image\":\"selectdb/doris.be-ubuntu:2.0.2\",\"limits\":{\"cpu\":4,\"memory\":\"8Gi\"},\"requests\":{\"cpu\":4,\"memory\":\"8Gi\"}}',