You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@seatunnel.apache.org by ki...@apache.org on 2022/10/08 13:29:22 UTC

[incubator-seatunnel-web] branch dev updated: [seatunnel-2977][seatunnel-server] add auth for server (#7)

This is an automated email from the ASF dual-hosted git repository.

kirs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel-web.git


The following commit(s) were added to refs/heads/dev by this push:
     new 47e2585c [seatunnel-2977][seatunnel-server] add auth for server (#7)
47e2585c is described below

commit 47e2585ce9ef4bd66e83a978cb5a69a511b396ed
Author: luketalent <lu...@qq.com>
AuthorDate: Sat Oct 8 21:29:18 2022 +0800

    [seatunnel-2977][seatunnel-server] add auth for server (#7)
    
    Co-authored-by: shiliang.lu <sh...@clickzetta.com>
---
 .../src/main/resources/script/init_sql.sh          |  31 ++++
 .../main/resources/script/seatunnel_server_env.sh  |  21 +++
 .../resources/script/seatunnel_server_mysql.sql    | 173 +++++++++++++++++++++
 3 files changed, 225 insertions(+)

diff --git a/seatunnel-server/seatunnel-app/src/main/resources/script/init_sql.sh b/seatunnel-server/seatunnel-app/src/main/resources/script/init_sql.sh
new file mode 100644
index 00000000..3b4675da
--- /dev/null
+++ b/seatunnel-server/seatunnel-app/src/main/resources/script/init_sql.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+workDir=`dirname $0`
+workDir=`cd ${workDir};pwd`
+
+source ${workDir}/seatunnel_server_env.sh
+
+usage="Usage: seatunnel_server_env.sh must contain hostname/port/username/password."
+
+if [[ ! -n "${HOSTNAME}" ]]  || [[ ! -n "${PORT}" ]] || [[ ! -n "${USERNAME}" ]] || [[ ! -n "${PASSWORD}" ]]; then
+    echo $usage
+    exit 1
+fi
+
+mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} < ${workDir}/seatunnel_server_mysql.sql
diff --git a/seatunnel-server/seatunnel-app/src/main/resources/script/seatunnel_server_env.sh b/seatunnel-server/seatunnel-app/src/main/resources/script/seatunnel_server_env.sh
new file mode 100644
index 00000000..3ec563f3
--- /dev/null
+++ b/seatunnel-server/seatunnel-app/src/main/resources/script/seatunnel_server_env.sh
@@ -0,0 +1,21 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+export HOSTNAME=""
+export PORT=""
+export USERNAME=""
+export PASSWORD=""
\ No newline at end of file
diff --git a/seatunnel-server/seatunnel-app/src/main/resources/script/seatunnel_server_mysql.sql b/seatunnel-server/seatunnel-app/src/main/resources/script/seatunnel_server_mysql.sql
new file mode 100644
index 00000000..b88e2a0c
--- /dev/null
+++ b/seatunnel-server/seatunnel-app/src/main/resources/script/seatunnel_server_mysql.sql
@@ -0,0 +1,173 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+CREATE DATABASE IF NOT EXISTS seatunnel;
+
+
+-- ----------------------------
+-- Table structure for role
+-- ----------------------------
+DROP TABLE IF EXISTS `seatunnel`.`role`;
+CREATE TABLE `seatunnel`.`role` (
+                        `id` int(20) NOT NULL AUTO_INCREMENT,
+                        `type` int(2) NOT NULL,
+                        `role_name` varchar(255) NOT NULL,
+                        `description` varchar(255) DEFAULT NULL,
+                        `create_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+                        `update_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
+                        PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of role
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for role_user_relation
+-- ----------------------------
+DROP TABLE IF EXISTS `seatunnel`.`role_user_relation`;
+CREATE TABLE `seatunnel`.`role_user_relation` (
+                                      `id` int(20) NOT NULL AUTO_INCREMENT,
+                                      `role_id` int(20) NOT NULL,
+                                      `user_id` int(20) NOT NULL,
+                                      `create_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+                                      `update_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
+                                      PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of role_user_relation
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for scheduler_config
+-- ----------------------------
+DROP TABLE IF EXISTS `seatunnel`.`scheduler_config`;
+CREATE TABLE `seatunnel`.`scheduler_config` (
+                                    `id` int(11) NOT NULL AUTO_INCREMENT,
+                                    `script_id` int(11) DEFAULT NULL,
+                                    `trigger_expression` varchar(255) DEFAULT NULL,
+                                    `retry_times` int(11) NOT NULL DEFAULT '0',
+                                    `retry_interval` int(11) NOT NULL DEFAULT '0',
+                                    `active_start_time` datetime(3) NOT NULL,
+                                    `active_end_time` datetime(3) NOT NULL,
+                                    `create_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+                                    `update_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
+                                    `creator_id` int(11) NOT NULL,
+                                    `update_id` int(11) NOT NULL,
+                                    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+-- ----------------------------
+-- Records of scheduler_config
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for script
+-- ----------------------------
+DROP TABLE IF EXISTS `seatunnel`.`script`;
+CREATE TABLE `seatunnel`.`script` (
+                          `id` int(11) NOT NULL AUTO_INCREMENT,
+                          `name` varchar(255) NOT NULL,
+                          `type` tinyint(4) NOT NULL,
+                          `status` tinyint(4) NOT NULL,
+                          `content` mediumtext,
+                          `content_md5` varchar(255) DEFAULT NULL,
+                          `creator_id` int(11) NOT NULL,
+                          `mender_id` int(11) NOT NULL,
+                          `create_time` datetime(3) DEFAULT CURRENT_TIMESTAMP(3),
+                          `update_time` datetime(3) DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
+                          PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of script
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for script_job_apply
+-- ----------------------------
+DROP TABLE IF EXISTS `seatunnel`.`script_job_apply`;
+CREATE TABLE `seatunnel`.`script_job_apply` (
+                                    `id` int(11) NOT NULL AUTO_INCREMENT,
+                                    `script_id` int(11) NOT NULL,
+                                    `scheduler_config_id` int(11) NOT NULL,
+                                    `job_id` bigint(20) DEFAULT NULL,
+                                    `operator_id` int(11) NOT NULL,
+                                    `create_time` datetime(3) DEFAULT CURRENT_TIMESTAMP(3),
+                                    `update_time` datetime(3) DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
+                                    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of script_job_apply
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for script_param
+-- ----------------------------
+DROP TABLE IF EXISTS `seatunnel`.`script_param`;
+CREATE TABLE `seatunnel`.`script_param` (
+                                `id` int(11) NOT NULL AUTO_INCREMENT,
+                                `script_id` int(11) DEFAULT NULL,
+                                `key` varchar(255) NOT NULL,
+                                `value` varchar(255) DEFAULT NULL,
+                                `status` tinyint(4) DEFAULT NULL,
+                                `create_time` datetime(3) DEFAULT CURRENT_TIMESTAMP(3),
+                                `update_time` datetime(3) DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
+                                PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of script_param
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for user
+-- ----------------------------
+DROP TABLE IF EXISTS `seatunnel`.`user`;
+CREATE TABLE `seatunnel`.`user` (
+                        `id` int(11) NOT NULL AUTO_INCREMENT,
+                        `username` varchar(255) NOT NULL,
+                        `password` varchar(255) NOT NULL,
+                        `status` tinyint(4) NOT NULL,
+                        `type` tinyint(4) NOT NULL,
+                        `create_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+                        `update_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
+                        PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of user
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for user_login_log
+-- ----------------------------
+DROP TABLE IF EXISTS `seatunnel`.`user_login_log`;
+CREATE TABLE `seatunnel`.`user_login_log` (
+                                  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+                                  `user_id` int(11) NOT NULL,
+                                  `token` mediumtext NOT NULL,
+                                  `token_status` tinyint(1) NOT NULL,
+                                  `create_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+                                  `update_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
+                                  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of user_login_log
+-- ----------------------------