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