diff --git a/kubernetes/helm-solidui/.helmignore b/kubernetes/helm-solidui/.helmignore
new file mode 100644
index 0000000..0e8a0eb
--- /dev/null
+++ b/kubernetes/helm-solidui/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/kubernetes/helm-solidui/Chart.yaml b/kubernetes/helm-solidui/Chart.yaml
new file mode 100644
index 0000000..db28ab2
--- /dev/null
+++ b/kubernetes/helm-solidui/Chart.yaml
@@ -0,0 +1,23 @@
+# 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.
+
+apiVersion: v2
+name: solidui
+description: one sentence generates any graph
+type: application
+version: 0.2.0
+appVersion: "1.16.0"
+
diff --git a/kubernetes/helm-solidui/templates/_helpers.tpl b/kubernetes/helm-solidui/templates/_helpers.tpl
new file mode 100644
index 0000000..0207870
--- /dev/null
+++ b/kubernetes/helm-solidui/templates/_helpers.tpl
@@ -0,0 +1,18 @@
+# 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.
+{{- define "solidui.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
diff --git a/kubernetes/helm-solidui/templates/mysql_configmap.yaml b/kubernetes/helm-solidui/templates/mysql_configmap.yaml
new file mode 100644
index 0000000..b1815b1
--- /dev/null
+++ b/kubernetes/helm-solidui/templates/mysql_configmap.yaml
@@ -0,0 +1,212 @@
+# 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.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ namespace: default
+ name: mysql-sql
+ labels:
+ app: mysql
+data:
+ solidui_mysql.sql: |-
+ /*
+ * 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.
+ */
+ SET NAMES utf8mb4;
+
+ DROP DATABASE IF EXISTS solidui;
+
+ CREATE DATABASE solidui DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+
+ USE solidui;
+
+ DROP TABLE IF EXISTS `solidui_datasource`;
+
+ CREATE TABLE `solidui_datasource` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `datasource_name` varchar(255) COLLATE utf8_bin NOT NULL,
+ `datasource_desc` varchar(255) COLLATE utf8_bin DEFAULT NULL,
+ `datasource_type_id` int(11) NOT NULL,
+ `create_identify` varchar(255) COLLATE utf8_bin DEFAULT NULL,
+ `parameter` varchar(255) COLLATE utf8_bin DEFAULT NULL,
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+ `create_user` varchar(255) COLLATE utf8_bin DEFAULT NULL,
+ `labels` varchar(255) COLLATE utf8_bin DEFAULT NULL,
+ `expire` tinyint(1) DEFAULT '0',
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
+
+
+ DROP TABLE IF EXISTS `solidui_datasource_type`;
+
+ CREATE TABLE `solidui_datasource_type` (
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(32) NOT NULL DEFAULT '',
+ `description` varchar(255) NOT NULL DEFAULT '',
+ `option` varchar(32) NOT NULL DEFAULT '',
+ `classifier` varchar(32) NOT NULL DEFAULT '',
+ `icon` varchar(255) NOT NULL DEFAULT '',
+ `layers` int(11) NOT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+
+ DROP TABLE IF EXISTS `solidui_datasource_type_key`;
+
+ CREATE TABLE `solidui_datasource_type_key` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `data_source_type_id` int(11) NOT NULL,
+ `key` varchar(32) COLLATE utf8_bin NOT NULL,
+ `name` varchar(32) COLLATE utf8_bin NOT NULL,
+ `name_en` varchar(32) COLLATE utf8_bin NOT NULL,
+ `default_value` varchar(50) COLLATE utf8_bin DEFAULT NULL,
+ `value_type` varchar(50) COLLATE utf8_bin NOT NULL,
+ `scope` varchar(50) COLLATE utf8_bin DEFAULT NULL,
+ `require` tinyint(1) DEFAULT '0',
+ `description` varchar(200) COLLATE utf8_bin DEFAULT NULL,
+ `description_en` varchar(200) COLLATE utf8_bin DEFAULT NULL,
+ `value_regex` varchar(200) COLLATE utf8_bin DEFAULT NULL,
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
+
+
+
+ DROP TABLE IF EXISTS `solidui_job_element`;
+
+ CREATE TABLE `solidui_job_element` (
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `project_id` int(11) NOT NULL,
+ `name` varchar(255) NOT NULL DEFAULT '',
+ `data` longtext NOT NULL,
+ `data_type` varchar(255) NOT NULL DEFAULT '',
+ `create_time` datetime NOT NULL,
+ `update_time` datetime NOT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='storage of various elements';
+
+
+
+ DROP TABLE IF EXISTS `solidui_job_element_page`;
+
+ CREATE TABLE `solidui_job_element_page` (
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `job_page_id` int(11) NOT NULL,
+ `job_element_id` int(11) NOT NULL,
+ `position` varchar(255) NOT NULL DEFAULT '',
+ `create_time` datetime NOT NULL,
+ `update_time` datetime NOT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='store between page and element';
+
+
+
+ DROP TABLE IF EXISTS `solidui_job_page`;
+
+ CREATE TABLE `solidui_job_page` (
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `project_id` int(11) NOT NULL,
+ `name` varchar(255) NOT NULL DEFAULT '',
+ `parent_id` int(11) DEFAULT NULL,
+ `layout` int(11) NOT NULL,
+ `orders` int(11) NOT NULL,
+ `create_time` datetime NOT NULL,
+ `update_time` datetime NOT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Store page information';
+
+
+ DROP TABLE IF EXISTS `solidui_project`;
+
+ CREATE TABLE `solidui_project` (
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `user_name` varchar(100) NOT NULL DEFAULT '',
+ `project_name` varchar(255) NOT NULL DEFAULT '',
+ `image` varchar(255) DEFAULT NULL,
+ `description` varchar(255) DEFAULT NULL,
+ `create_time` datetime DEFAULT NULL,
+ `update_time` datetime DEFAULT NULL,
+ `status` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+
+ DROP TABLE IF EXISTS `solidui_user`;
+
+ CREATE TABLE `solidui_user` (
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `user_name` varchar(20) NOT NULL DEFAULT '',
+ `user_password` varchar(255) NOT NULL DEFAULT '',
+ `create_time` datetime NOT NULL,
+ `update_time` datetime NOT NULL,
+ `queue` varchar(20) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+
+ DROP TABLE IF EXISTS `solidui_model_type`;
+
+ CREATE TABLE `solidui_model_type` (
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) DEFAULT NULL,
+ `type_name` varchar(255) DEFAULT NULL,
+ `prompt` varchar(255) DEFAULT NULL,
+ `token` varchar(255) DEFAULT NULL,
+ `baseurl` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+
+ INSERT INTO `solidui_user` (`id`, `user_name`, `user_password`, `create_time`, `update_time`, `queue`)
+ VALUES
+ (1,'admin','21232f297a57a5a743894a0e4a801fc3','2023-05-01 00:00:00','2023-05-01 00:00:00',NULL);
+
+
+ INSERT INTO `solidui_datasource_type_key` (`id`, `data_source_type_id`, `key`, `name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, `description`, `description_en`, `value_regex`, `update_time`, `create_time`)
+ VALUES
+ (1,1,'host','主机名(Host)','Host',NULL,'TEXT',NULL,1,'主机名(Host)','Host',NULL,'2023-05-23 09:57:24','2023-05-23 09:57:24'),
+ (2,1,'port','端口号(Port)','Port',NULL,'TEXT',NULL,1,'端口号(Port)','Port',NULL,'2023-05-23 09:57:24','2023-05-23 09:57:24'),
+ (3,1,'driverClassName','驱动类名(Driver class name)','Driver class name','com.mysql.jdbc.Driver','TEXT',NULL,0,'驱动类名(Driver class name)','Driver class name',NULL,'2023-05-23 09:57:25','2023-05-23 09:57:25'),
+ (4,1,'params','连接参数(Connection params)','Connection params',NULL,'TEXT',NULL,0,'输入JSON格式(Input JSON format): {"param":"value"}','Input JSON format: {"param":"value"}',NULL,'2023-05-23 09:57:25','2023-05-23 09:57:25'),
+ (5,1,'username','用户名(Username)','Username',NULL,'TEXT',NULL,1,'用户名(Username)','Username','^[0-9A-Za-z_-]+$','2023-05-23 09:57:25','2023-05-23 09:57:25'),
+ (6,1,'password','密码(Password)','Password',NULL,'PASSWORD',NULL,1,'密码(Password)','Password','','2023-05-23 09:57:25','2023-05-23 09:57:25'),
+ (7,1,'databaseName','数据库名(Database name)','Database name',NULL,'TEXT',NULL,0,'数据库名(Database name)','Database name',NULL,'2023-05-23 09:57:25','2023-05-23 09:57:25');
+
+
+ INSERT INTO `solidui_datasource_type` (`id`, `name`, `description`, `option`, `classifier`, `icon`, `layers`)
+ VALUES
+ (1,'mysql','mysql','mysql','mysql','mysql',3);
+
+ INSERT INTO `solidui_model_type` (`id`, `name`, `type_name`, `prompt`, `token`, `baseurl`)
+ VALUES
+ (1,'gpt-3.5-turbo','gpt',NULL,NULL,NULL),
+ (2,'gpt-4','gpt',NULL,NULL,NULL),
+ (3,'chatglm_lite','chatglm',NULL,NULL,NULL);
diff --git a/kubernetes/helm-solidui/templates/mysql_deployment.yaml b/kubernetes/helm-solidui/templates/mysql_deployment.yaml
new file mode 100644
index 0000000..e995b45
--- /dev/null
+++ b/kubernetes/helm-solidui/templates/mysql_deployment.yaml
@@ -0,0 +1,65 @@
+# 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.
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ namespace: default
+ name: mysql
+ labels:
+ app: mysql
+spec:
+ selector:
+ matchLabels:
+ octopusexport: OctopusExport
+ replicas: 1
+ strategy:
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app: mysql
+ octopusexport: OctopusExport
+ spec:
+ volumes:
+ - name: mysql-sql
+ configMap:
+ name: mysql-sql
+ containers:
+ - name: mysql
+ image: mysql
+ ports:
+ - name: mysql
+ containerPort: 3306
+ protocol: TCP
+ env:
+ - name: MYSQL_ROOT_PASSWORD
+ value: SolidUI@123
+ volumeMounts:
+ - name: mysql-sql
+ mountPath: /docker-entrypoint-initdb.d/
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - weight: 100
+ podAffinityTerm:
+ labelSelector:
+ matchExpressions:
+ - key: app
+ operator: In
+ values:
+ - web
+ topologyKey: kubernetes.io/hostname
diff --git a/kubernetes/helm-solidui/templates/mysql_service.yaml b/kubernetes/helm-solidui/templates/mysql_service.yaml
new file mode 100644
index 0000000..9b8b190
--- /dev/null
+++ b/kubernetes/helm-solidui/templates/mysql_service.yaml
@@ -0,0 +1,33 @@
+# 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.
+
+apiVersion: v1
+kind: Service
+metadata:
+ namespace: default
+ labels:
+ app: mysql
+ name: mysql
+spec:
+ ports:
+ - name: mysql
+ port: 3306
+ protocol: TCP
+ targetPort: 3306
+ selector:
+ app: mysql
+ sessionAffinity: None
+ type: ClusterIP
diff --git a/kubernetes/helm-solidui/templates/solidui-entrance_deployment.yaml b/kubernetes/helm-solidui/templates/solidui-entrance_deployment.yaml
new file mode 100644
index 0000000..9d345ce
--- /dev/null
+++ b/kubernetes/helm-solidui/templates/solidui-entrance_deployment.yaml
@@ -0,0 +1,53 @@
+# 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.
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: solidui-entrance
+ labels:
+ app: solidui-entrance
+spec:
+ selector:
+ matchLabels:
+ octopusexport: OctopusExport
+ replicas: 1
+ strategy:
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app: solidui-entrance
+ octopusexport: OctopusExport
+ spec:
+ containers:
+ - name: solidui-entrance
+ image: '{{ .Values.image.hub }}/solidui-entrance:{{ .Values.image.tag }}'
+ ports:
+ - name: http
+ containerPort: 12345
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - weight: 100
+ podAffinityTerm:
+ labelSelector:
+ matchExpressions:
+ - key: app
+ operator: In
+ values:
+ - web
+ topologyKey: kubernetes.io/hostname
diff --git a/kubernetes/helm-solidui/templates/solidui-entrance_service.yaml b/kubernetes/helm-solidui/templates/solidui-entrance_service.yaml
new file mode 100644
index 0000000..668dbab
--- /dev/null
+++ b/kubernetes/helm-solidui/templates/solidui-entrance_service.yaml
@@ -0,0 +1,33 @@
+# 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.
+
+apiVersion: v1
+kind: Service
+metadata:
+ namespace: default
+ labels:
+ app: solidui-entrance
+ name: solidui-entrance
+spec:
+ ports:
+ - name: solidui-entrance
+ port: 12345
+ protocol: TCP
+ targetPort: 12345
+ selector:
+ app: solidui-entrance
+ sessionAffinity: None
+ type: ClusterIP
diff --git a/kubernetes/helm-solidui/templates/solidui-web_deployment.yaml b/kubernetes/helm-solidui/templates/solidui-web_deployment.yaml
new file mode 100644
index 0000000..ce5e483
--- /dev/null
+++ b/kubernetes/helm-solidui/templates/solidui-web_deployment.yaml
@@ -0,0 +1,54 @@
+# 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.
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: solidui-web
+ labels:
+ app: solidui-web
+spec:
+ selector:
+ matchLabels:
+ octopusexport: OctopusExport
+ replicas: 1
+ strategy:
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app: solidui-web
+ octopusexport: OctopusExport
+ spec:
+ containers:
+ - name: solidui-web
+ image: '{{ .Values.image.hub }}/solidui-web:{{ .Values.image.tag }}'
+ ports:
+ - name: http
+ containerPort: 8099
+ protocol: TCP
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - weight: 100
+ podAffinityTerm:
+ labelSelector:
+ matchExpressions:
+ - key: app
+ operator: In
+ values:
+ - web
+ topologyKey: kubernetes.io/hostname
diff --git a/kubernetes/helm-solidui/templates/solidui-web_service.yaml b/kubernetes/helm-solidui/templates/solidui-web_service.yaml
new file mode 100644
index 0000000..9bf7ed7
--- /dev/null
+++ b/kubernetes/helm-solidui/templates/solidui-web_service.yaml
@@ -0,0 +1,33 @@
+# 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.
+
+apiVersion: v1
+kind: Service
+metadata:
+ namespace: default
+ labels:
+ app: solidui-web
+ name: solidui-web
+spec:
+ ports:
+ - name: solidui-web
+ port: 8099
+ protocol: TCP
+ targetPort: 8099
+ selector:
+ app: solidui-web
+ sessionAffinity: None
+ type: ClusterIP
diff --git a/kubernetes/helm-solidui/templates/soliduimodelui_deployment.yaml b/kubernetes/helm-solidui/templates/soliduimodelui_deployment.yaml
new file mode 100644
index 0000000..a8b952f
--- /dev/null
+++ b/kubernetes/helm-solidui/templates/soliduimodelui_deployment.yaml
@@ -0,0 +1,57 @@
+# 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.
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: soliduimodelui
+ labels:
+ app: soliduimodelui
+spec:
+ selector:
+ matchLabels:
+ octopusexport: OctopusExport
+ replicas: 1
+ strategy:
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app: soliduimodelui
+ octopusexport: OctopusExport
+ spec:
+ containers:
+ - name: soliduimodelui
+ image: '{{ .Values.image.hub }}/soliduimodelui:{{ .Values.image.tag }}'
+ ports:
+ - name: http2
+ containerPort: 5010
+ protocol: TCP
+ - name: http
+ containerPort: 5110
+ protocol: TCP
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - weight: 100
+ podAffinityTerm:
+ labelSelector:
+ matchExpressions:
+ - key: app
+ operator: In
+ values:
+ - web
+ topologyKey: kubernetes.io/hostname
diff --git a/kubernetes/helm-solidui/templates/soliduimodelui_service.yaml b/kubernetes/helm-solidui/templates/soliduimodelui_service.yaml
new file mode 100644
index 0000000..041180a
--- /dev/null
+++ b/kubernetes/helm-solidui/templates/soliduimodelui_service.yaml
@@ -0,0 +1,37 @@
+# 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.
+
+apiVersion: v1
+kind: Service
+metadata:
+ namespace: default
+ labels:
+ app: soliduimodelui
+ name: soliduimodelui
+spec:
+ ports:
+ - name: soliduimodelui-5010
+ port: 5010
+ protocol: TCP
+ targetPort: 5010
+ - name: soliduimodelui-5110
+ port: 5110
+ protocol: TCP
+ targetPort: 5110
+ selector:
+ app: soliduimodelui
+ sessionAffinity: None
+ type: ClusterIP
diff --git a/kubernetes/helm-solidui/values.yaml b/kubernetes/helm-solidui/values.yaml
new file mode 100644
index 0000000..b603a88
--- /dev/null
+++ b/kubernetes/helm-solidui/values.yaml
@@ -0,0 +1,20 @@
+# 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.
+
+replicaCount: 1
+image:
+ hub: ghcr.io/cloudorc/solidui
+ tag: 0.2.0
diff --git a/pom.xml b/pom.xml
index 03d989e..e0940c6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -502,6 +502,7 @@
**/*.md
.git/
.gitignore
+ **/.helmignore
**/.settings/*
**/.classpath
**/.project