Compare commits
10 Commits
06b044dabc
...
22ea4b8359
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
22ea4b8359 | ||
|
|
32c82b2751 | ||
|
|
ae4bdb7dbc | ||
|
|
ae1baa4c38 | ||
|
|
c8d897622d | ||
|
|
86bcbad396 | ||
|
|
ab6a130950 | ||
|
|
8e4444a7cc | ||
|
|
34b5f80704 | ||
|
|
35646ff89f |
19
.aiexclude
Normal file
19
.aiexclude
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
.cursorignore
|
||||
.cursor
|
||||
.idea
|
||||
.run
|
||||
|
||||
agent
|
||||
agent-tmp
|
||||
|
||||
|
||||
common
|
||||
|
||||
message_pusher
|
||||
port_forwarding
|
||||
server-go
|
||||
socks5_txthinking
|
||||
source
|
||||
pom.xml
|
||||
setting-aliyun.xml
|
||||
@@ -12,4 +12,17 @@
|
||||
<pattern value="^\QTestFetchDependencyRepos_Middle\E$" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration default="false" name="Middle镜像-35.70" type="GoTestRunConfiguration" factoryName="Go Test">
|
||||
<module name="ProjectOctopus" />
|
||||
<target name="wdd-dev-35.70" />
|
||||
<working_directory value="$PROJECT_DIR$/agent-operator" />
|
||||
<kind value="PACKAGE" />
|
||||
<package value="wdd.io/agent-operator" />
|
||||
<directory value="$PROJECT_DIR$" />
|
||||
<filePath value="$PROJECT_DIR$" />
|
||||
<option name="build_on_remote_target" value="true" />
|
||||
<framework value="gotest" />
|
||||
<pattern value="^\QTestFetchDependencyRepos_Middle\E$" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
||||
23
agent-common/SplitProject/doris-25.2.1/.helmignore
Normal file
23
agent-common/SplitProject/doris-25.2.1/.helmignore
Normal file
@@ -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/
|
||||
21
agent-common/SplitProject/doris-25.2.1/Chart.yaml
Normal file
21
agent-common/SplitProject/doris-25.2.1/Chart.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
apiVersion: v2
|
||||
appVersion: 2.1.7
|
||||
description: Apache Doris is an easy-to-use, high-performance and real-time analytical
|
||||
database based on MPP architecture, known for its extreme speed and ease of use.
|
||||
home: https://doris.apache.org
|
||||
icon: https://charts.selectdb.com/images/doris.jpg
|
||||
keywords:
|
||||
- doris
|
||||
- database
|
||||
- olap
|
||||
- sharding
|
||||
kubeVersion: '>= 1.19'
|
||||
maintainers:
|
||||
- email: hudechao@selectdb.com
|
||||
name: Dechao Hu
|
||||
name: doris
|
||||
sources:
|
||||
- https://github.com/apache/doris
|
||||
- https://github.com/apache/doris-operator
|
||||
type: application
|
||||
version: 25.2.1
|
||||
61
agent-common/SplitProject/doris-25.2.1/README.md
Normal file
61
agent-common/SplitProject/doris-25.2.1/README.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# Deploy Doris Cluster by Helm
|
||||
[](https://artifacthub.io/packages/search?repo=doris)
|
||||
|
||||
This chart for deploying doris on kubernetes use Doris-Operator. Before using this chart, please install doris-operator as [install doc](https://artifacthub.io/packages/helm/doris/doris-operator).
|
||||
|
||||
## Install doris
|
||||
|
||||
### Add helm-chart repo and install doris-operator
|
||||
this document and doris-operator installation document are duplicated. you can skip If they have already been executed completely.
|
||||
1. Add the selectdb repository
|
||||
```Bash
|
||||
$ helm repo add selectdb https://charts.selectdb.com
|
||||
```
|
||||
2. Update the Helm Chart Repo to the latest version
|
||||
```Bash
|
||||
$ helm repo update selectdb
|
||||
```
|
||||
3. Check the Helm Chart Repo is the latest version
|
||||
```Bash
|
||||
$ helm search repo selectdb
|
||||
NAME CHART VERSION APP VERSION DESCRIPTION
|
||||
selectdb/doris-operator 1.3.1 1.3.1 Doris-operator for doris creat ...
|
||||
selectdb/doris 1.3.1 2.0.3 Apache Doris is an easy-to-use ...
|
||||
```
|
||||
4. Install doris-operator (with default config in a namespace named `doris`)
|
||||
```Bash
|
||||
$ helm install operator selectdb/doris-operator
|
||||
```
|
||||
|
||||
### Install the doris use doriscluster
|
||||
- Use default config for deploying doris
|
||||
This deploy only deploy fe and be components using default storageClass for providing persistent volume.
|
||||
```bash
|
||||
$ helm install doriscluster selectdb/doris
|
||||
```
|
||||
- Custom doris deploying
|
||||
when you want to specify resources or different deployment type, please custom the [`values.yaml`](./values.yaml) and use next command for deploying.
|
||||
```bash
|
||||
$ helm install -f values.yaml doriscluster selectdb/doris
|
||||
```
|
||||
|
||||
### Validate installation status
|
||||
After executing the installation command, deployment and distribution, service deployment scheduling and startup will take a certain amount of time. Check the deployment status of Pods through the kubectl get pods command.
|
||||
Observe that the Pod of `doriscluster` is in the `Running` state and all containers in the Pod are ready, that means, the deployment is successful.
|
||||
|
||||
```Bash
|
||||
$ kubectl get pod --namespace doris
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
doriscluster-helm-fe-0 1/1 Running 0 1m39s
|
||||
doriscluster-helm-fe-1 1/1 Running 0 1m39s
|
||||
doriscluster-helm-fe-2 1/1 Running 0 1m39s
|
||||
doriscluster-helm-be-0 1/1 Running 0 16s
|
||||
doriscluster-helm-be-1 1/1 Running 0 16s
|
||||
doriscluster-helm-be-2 1/1 Running 0 16s
|
||||
```
|
||||
|
||||
## Uninstall doriscluster
|
||||
Please confirm the Doris is not used, when using next command to uninstall `doriscluster`.
|
||||
```bash
|
||||
$ helm uninstall doriscluster
|
||||
```
|
||||
@@ -0,0 +1 @@
|
||||
Thank you for installing {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
267
agent-common/SplitProject/doris-25.2.1/templates/_helpers.tpl
Normal file
267
agent-common/SplitProject/doris-25.2.1/templates/_helpers.tpl
Normal file
@@ -0,0 +1,267 @@
|
||||
{*
|
||||
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 "doriscluster.name" -}}
|
||||
{{ default .Chart.Name .Values.dorisCluster.name }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "doriscluster.namespace" -}}
|
||||
{{ print .Release.Namespace }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "kube-control.name" -}}
|
||||
{{- print "doris-operator" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
doris cluster pod default resource.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.resource" }}
|
||||
requests:
|
||||
cpu: 8
|
||||
memory: 16Gi
|
||||
limits:
|
||||
cpu: 16
|
||||
memory: 32Gi
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
doris cluster admin user and password secret name.
|
||||
*/}}
|
||||
{{- define "doriscluster.secret.name" -}}
|
||||
{{ template "doriscluster.name" . }}-secret-base64
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster fe configMap default name.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.feConfigMap.name" -}}
|
||||
{{ template "doriscluster.name" . }}-fe-configmap
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster fe pod default configMap resolve file.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.feConfig.resolveKey" }}
|
||||
{{- print "fe.conf" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
doris cluster be configMap default name.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.beConfigMap.name" -}}
|
||||
{{ template "doriscluster.name" . }}-be-configmap
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster pod default configMap resolve file.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.beConfig.resolveKey" }}
|
||||
{{- print "be.conf" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
doris cluster cn configMap default name.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.cnConfigMap.name" -}}
|
||||
{{ template "doriscluster.name" . }}-cn-configmap
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster cn pod default configMap resolve file.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.cnConfig.resolveKey" }}
|
||||
{{- print "be.conf" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
doris cluster broker configMap default name.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.brokerConfigMap.name" -}}
|
||||
{{ template "doriscluster.name" . }}-broker-configmap
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster broker pod default configMap resolve file.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.brokerConfig.resolveKey" }}
|
||||
{{- print "apache_hdfs_broker.conf" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
doris cluster cn pod autoscaler default version.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.autoScalerVersion" -}}
|
||||
{{- print "v2" }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster fe PVC
|
||||
*/}}
|
||||
{{- define "doriscluster.fe.pvc" -}}
|
||||
|
||||
{{- if and .Values.feSpec.persistentVolumeClaim.metaPersistentVolume .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/fe/doris-meta
|
||||
name: fe-meta
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storageClassName .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
storageClassName: {{ default .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- if and .Values.feSpec.persistentVolumeClaim.logsPersistentVolume .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/fe/log
|
||||
name: fe-log
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storageClassName}}
|
||||
storageClassName: {{ default .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storageClassName .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{/*
|
||||
doris cluster be PVC
|
||||
*/}}
|
||||
{{- define "doriscluster.be.pvc" -}}
|
||||
|
||||
{{- if and .Values.beSpec.persistentVolumeClaim.dataPersistentVolume .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/be/storage
|
||||
name: be-storage
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
storageClassName: {{ default .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- if and .Values.beSpec.persistentVolumeClaim.logsPersistentVolume .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/be/log
|
||||
name: be-log
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
storageClassName: {{ default .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{/*
|
||||
doris cluster cn PVC
|
||||
*/}}
|
||||
{{- define "doriscluster.cn.pvc" -}}
|
||||
|
||||
{{- if and .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/be/storage
|
||||
name: cn-storage
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
storageClassName: {{ default .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- if and .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/be/log
|
||||
name: cn-log
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
storageClassName: {{ default .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
|
||||
{{/*
|
||||
doris cluster broker PVC
|
||||
*/}}
|
||||
{{- define "doriscluster.broker.pvc" -}}
|
||||
{{- if and .Values.brokerSpec.persistentVolumeClaim.logsPersistentVolume .Values.brokerSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/apache_hdfs_broker/log
|
||||
name: broker-log
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if .Values.brokerSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName}}
|
||||
storageClassName: {{ .Values.brokerSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.brokerSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{- define "doriscluster.feConfig.configMaps" }}
|
||||
{{- range .Values.feSpec.configMap.mountConfigMaps }}
|
||||
- configMapName: {{ .configMapName }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{- define "doriscluster.beConfig.configMaps" }}
|
||||
{{- range .Values.beSpec.configMap.mountConfigMaps }}
|
||||
- configMapName: {{ .configMapName }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{- define "doriscluster.cnConfig.configMaps" }}
|
||||
{{- range .Values.cnSpec.configMap.mountConfigMaps }}
|
||||
- configMapName: {{ .configMapName }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{- define "doriscluster.brokerConfig.configMaps" }}
|
||||
{{- range .Values.brokerSpec.configMap.mountConfigMaps }}
|
||||
- configMapName: {{ .configMapName }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,31 @@
|
||||
# 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.
|
||||
|
||||
{{- $originalMap := omit .Values.beSpec.configMap "mountConfigMaps" }}
|
||||
{{- if $originalMap }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "doriscluster.default.beConfigMap.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
data:
|
||||
{{- toYaml $originalMap | nindent 2}}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,31 @@
|
||||
# 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.
|
||||
|
||||
{{- $originalMap := omit .Values.brokerSpec.configMap "mountConfigMaps" }}
|
||||
{{- if $originalMap }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "doriscluster.default.brokerConfigMap.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
data:
|
||||
{{- toYaml $originalMap | nindent 2}}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,31 @@
|
||||
# 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.
|
||||
|
||||
{{- $originalMap := omit .Values.cnSpec.configMap "mountConfigMaps" }}
|
||||
{{- if $originalMap }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "doriscluster.default.cnConfigMap.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
data:
|
||||
{{- toYaml $originalMap | nindent 2}}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,31 @@
|
||||
# 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.
|
||||
|
||||
{{- $originalMap := omit .Values.feSpec.configMap "mountConfigMaps" }}
|
||||
{{- if $originalMap }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "doriscluster.default.feConfigMap.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
data:
|
||||
{{- toYaml $originalMap | nindent 2}}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,56 @@
|
||||
# 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.
|
||||
|
||||
{{$cmDatas := list }}
|
||||
{{- range $cp := .Values.feSpec.configMap.mountConfigMaps }}
|
||||
{{- if $cp.data }}
|
||||
{{- $cmDatas = append $cmDatas $cp }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- range $index, $cp := .Values.beSpec.configMap.mountConfigMaps }}
|
||||
{{- if $cp.data }}
|
||||
{{- $cmDatas = append $cmDatas $cp }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- range $index, $cp := .Values.brokerSpec.configMap.mountConfigMaps }}
|
||||
{{- if $cp.data }}
|
||||
{{- $cmDatas = append $cmDatas $cp }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- range $index, $cp := .Values.cnSpec.configMap.mountConfigMaps }}
|
||||
{{- if $cp.data }}
|
||||
{{- $cmDatas = append $cmDatas $cp }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- range $cp := $cmDatas }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ $cp.configMapName }}
|
||||
namespace: {{ template "doriscluster.namespace" $ }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" $ }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" $ }}
|
||||
data:
|
||||
{{- toYaml $cp.data | nindent 2 }}
|
||||
---
|
||||
{{- end }}
|
||||
@@ -0,0 +1,368 @@
|
||||
# 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.
|
||||
|
||||
# This yaml have dorisCluster CRD all fields. The yaml only for reference how to config, not for deploy on kubernetes.
|
||||
|
||||
apiVersion: doris.selectdb.com/v1
|
||||
kind: DorisCluster
|
||||
metadata:
|
||||
name: {{ template "doriscluster.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
{{- if .Values.dorisCluster.annotations }}
|
||||
annotations:
|
||||
{{- toYaml .Values.dorisCluster.annotations | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.dorisCluster.adminUser }}
|
||||
adminUser:
|
||||
{{- toYaml .Values.dorisCluster.adminUser | nindent 4 }}
|
||||
{{- else if .Values.dorisCluster.authSecret }}
|
||||
authSecret: {{ template "doriscluster.secret.name" . }}
|
||||
{{- end }}
|
||||
feSpec:
|
||||
replicas: {{ .Values.feSpec.replicas }}
|
||||
{{- if .Values.feSpec.electionNumber }}
|
||||
electionNumber: {{ .Values.feSpec.electionNumber }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.labels }}
|
||||
podLabels:
|
||||
{{- toYaml .Values.feSpec.labels | nindent 6 }}
|
||||
{{- end }}
|
||||
image: {{ .Values.feSpec.image.repository }}:{{ .Values.feSpec.image.tag }}
|
||||
{{- if .Values.feSpec.image.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml .Values.feSpec.image.imagePullSecrets | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.feSpec.service }}
|
||||
service:
|
||||
type: {{ .Values.feSpec.service.type }}
|
||||
{{- if and (eq "LoadBalancer" .Values.feSpec.service.type) .Values.feSpec.service.loadbalancerIP }}
|
||||
loadBalancerIP: {{ .Values.feSpec.service.loadbalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.service.servicePorts }}
|
||||
servicePorts:
|
||||
{{- toYaml .Values.feSpec.service.servicePorts | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.service.annotations }}
|
||||
annotations:
|
||||
{{- toYaml .Values.feSpec.service.annotations | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.feSpec.configMap }}
|
||||
configMapInfo:
|
||||
{{- $originalMap := .Values.feSpec.configMap }}
|
||||
{{- $defaultMap := omit $originalMap "mountConfigMaps" }}
|
||||
{{- if $defaultMap }}
|
||||
configMapName: {{ template "doriscluster.default.feConfigMap.name" . }}
|
||||
resolveKey: {{ template "doriscluster.default.feConfig.resolveKey" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.configMap.mountConfigMaps }}
|
||||
configMaps:
|
||||
{{- template "doriscluster.feConfig.configMaps" . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.feSpec.resource }}
|
||||
{{- toYaml .Values.feSpec.resource | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- include "doriscluster.default.resource" .}}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{- if .Values.feSpec.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.feSpec.nodeSelector | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.env }}
|
||||
envVars:
|
||||
{{- toYaml .Values.feSpec.env | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.affinity }}
|
||||
affinity:
|
||||
{{- toYaml .Values.feSpec.affinity | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml .Values.feSpec.tolerations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml .Values.feSpec.hostAliases | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.persistentVolumeClaim }}
|
||||
persistentVolumes:
|
||||
{{- template "doriscluster.fe.pvc" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.systemInitialization }}
|
||||
systemInitialization:
|
||||
{{- if .Values.feSpec.systemInitialization.initImage }}
|
||||
initImage: {{ .Values.feSpec.systemInitialization.initImage }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.systemInitialization.command }}
|
||||
command: {{ .Values.feSpec.systemInitialization.command }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
beSpec:
|
||||
replicas: {{ .Values.beSpec.replicas }}
|
||||
{{- if .Values.beSpec.labels }}
|
||||
podLabels:
|
||||
{{- toYaml .Values.beSpec.labels | nindent 6 }}
|
||||
{{- end }}
|
||||
image: {{ .Values.beSpec.image.repository }}:{{ .Values.beSpec.image.tag }}
|
||||
{{- if .Values.beSpec.image.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml .Values.beSpec.image.imagePullSecrets | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.beSpec.service }}
|
||||
service:
|
||||
type: {{ .Values.beSpec.service.type }}
|
||||
{{- if and (eq "LoadBalancer" .Values.beSpec.service.type) .Values.beSpec.service.loadbalancerIP }}
|
||||
loadBalancerIP: {{ .Values.beSpec.service.loadbalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.service.servicePorts }}
|
||||
servicePorts:
|
||||
{{- toYaml .Values.beSpec.service.servicePorts | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.service.annotations }}
|
||||
annotations:
|
||||
{{- toYaml .Values.beSpec.service.annotations | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.beSpec.configMap }}
|
||||
configMapInfo:
|
||||
{{- $originalMap := .Values.beSpec.configMap }}
|
||||
{{- $defaultMap := omit $originalMap "mountConfigMaps" }}
|
||||
{{- if $defaultMap }}
|
||||
configMapName: {{ template "doriscluster.default.beConfigMap.name" . }}
|
||||
resolveKey: {{ template "doriscluster.default.beConfig.resolveKey" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.configMap.mountConfigMaps }}
|
||||
configMaps:
|
||||
{{- template "doriscluster.beConfig.configMaps" . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.beSpec.resource }}
|
||||
{{- toYaml .Values.beSpec.resource | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- include "doriscluster.default.resource" .}}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.beSpec.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.beSpec.nodeSelector | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.env }}
|
||||
envVars:
|
||||
{{- toYaml .Values.beSpec.env | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.affinity }}
|
||||
affinity:
|
||||
{{- toYaml .Values.beSpec.affinity | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml .Values.beSpec.tolerations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml .Values.beSpec.hostAliases | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.persistentVolumeClaim }}
|
||||
persistentVolumes:
|
||||
{{- template "doriscluster.be.pvc" . }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.beSpec.systemInitialization }}
|
||||
systemInitialization:
|
||||
{{- if .Values.beSpec.systemInitialization.initImage }}
|
||||
initImage: {{ .Values.beSpec.systemInitialization.initImage }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.systemInitialization.command }}
|
||||
command: {{ .Values.beSpec.systemInitialization.command }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.dorisCluster.enabledCn }}
|
||||
cnSpec:
|
||||
replicas: {{ .Values.cnSpec.replicas }}
|
||||
|
||||
{{- if .Values.cnSpec.labels }}
|
||||
podLabels:
|
||||
{{- toYaml .Values.cnSpec.labels | nindent 6 }}
|
||||
{{- end }}
|
||||
image: {{ .Values.cnSpec.image.repository }}:{{ .Values.cnSpec.image.tag }}
|
||||
{{- if .Values.cnSpec.image.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml .Values.cnSpec.image.imagePullSecrets | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.cnSpec.service }}
|
||||
service:
|
||||
type: {{ .Values.cnSpec.service.type }}
|
||||
{{- if and (eq "LoadBalancer" .Values.cnSpec.service.type) .Values.cnSpec.service.loadbalancerIP }}
|
||||
loadBalancerIP: {{ .Values.cnSpec.service.loadbalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.service.servicePorts }}
|
||||
servicePorts:
|
||||
{{- toYaml .Values.cnSpec.service.servicePorts | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.service.annotations }}
|
||||
annotations:
|
||||
{{- toYaml .Values.cnSpec.service.annotations | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.cnSpec.configMap }}
|
||||
configMapInfo:
|
||||
{{- $originalMap := .Values.cnSpec.configMap }}
|
||||
{{- $defaultMap := omit $originalMap "mountConfigMaps" }}
|
||||
{{- if $defaultMap }}
|
||||
configMapName: {{ template "doriscluster.default.cnConfigMap.name" . }}
|
||||
resolveKey: {{ template "doriscluster.default.cnConfig.resolveKey" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.configMap.mountConfigMaps }}
|
||||
configMaps:
|
||||
{{- template "doriscluster.cnConfig.configMaps" . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.cnSpec.resource }}
|
||||
{{- toYaml .Values.cnSpec.resource | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- include "doriscluster.default.resource" .}}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.cnSpec.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.cnSpec.nodeSelector | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.env }}
|
||||
envVars:
|
||||
{{- toYaml .Values.cnSpec.env | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.affinity }}
|
||||
affinity:
|
||||
{{- toYaml .Values.cnSpec.affinity | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml .Values.cnSpec.tolerations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml .Values.cnSpec.hostAliases | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.cnSpec.persistentVolumeClaim }}
|
||||
persistentVolumes:
|
||||
{{- template "doriscluster.cn.pvc" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.systemInitialization }}
|
||||
systemInitialization:
|
||||
{{- if .Values.cnSpec.systemInitialization.initImage }}
|
||||
initImage: {{ .Values.cnSpec.systemInitialization.initImage }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.systemInitialization.command }}
|
||||
command: {{ .Values.cnSpec.systemInitialization.command }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.autoScalingPolicy.enable }}
|
||||
autoScalingPolicy:
|
||||
version: {{default ( include "doriscluster.default.autoScalerVersion" . ) .Values.cnSpec.autoScalingPolicy.version }}
|
||||
minReplicas: {{ .Values.cnSpec.autoScalingPolicy.minReplicas}}
|
||||
maxReplicas: {{ .Values.cnSpec.autoScalingPolicy.maxReplicas}}
|
||||
hpaPolicy:
|
||||
{{- toYaml .Values.cnSpec.autoScalingPolicy.hpaPolicy | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.dorisCluster.enabledBroker }}
|
||||
brokerSpec:
|
||||
replicas: {{ .Values.brokerSpec.replicas }}
|
||||
|
||||
{{- if .Values.brokerSpec.labels }}
|
||||
podLabels:
|
||||
{{- toYaml .Values.brokerSpec.labels | nindent 6 }}
|
||||
{{- end }}
|
||||
image: {{ .Values.brokerSpec.image.repository }}:{{ .Values.brokerSpec.image.tag }}
|
||||
{{- if .Values.brokerSpec.image.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml .Values.brokerSpec.image.imagePullSecrets | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.brokerSpec.configMap }}
|
||||
configMapInfo:
|
||||
{{- $originalMap := .Values.brokerSpec.configMap }}
|
||||
{{- $defaultMap := omit $originalMap "mountConfigMaps" }}
|
||||
{{- if $defaultMap }}
|
||||
configMapName: {{ template "doriscluster.default.brokerConfigMap.name" . }}
|
||||
resolveKey: {{ template "doriscluster.default.brokerConfig.resolveKey" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.configMap.mountConfigMaps }}
|
||||
configMaps:
|
||||
{{- template "doriscluster.brokerConfig.configMaps" . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.brokerSpec.resource }}
|
||||
{{- toYaml .Values.brokerSpec.resource | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- include "doriscluster.default.resource" .}}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.brokerSpec.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.brokerSpec.nodeSelector | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.env }}
|
||||
envVars:
|
||||
{{- toYaml .Values.brokerSpec.env | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.affinity }}
|
||||
affinity:
|
||||
{{- toYaml .Values.brokerSpec.affinity | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml .Values.brokerSpec.tolerations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml .Values.brokerSpec.hostAliases | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.persistentVolumeClaim }}
|
||||
persistentVolumes:
|
||||
{{- template "doriscluster.broker.pvc" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.systemInitialization }}
|
||||
systemInitialization:
|
||||
{{- if .Values.brokerSpec.systemInitialization.initImage }}
|
||||
initImage: {{ .Values.brokerSpec.systemInitialization.initImage }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.systemInitialization.command }}
|
||||
command: {{ .Values.brokerSpec.systemInitialization.command }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
31
agent-common/SplitProject/doris-25.2.1/templates/secret.yaml
Normal file
31
agent-common/SplitProject/doris-25.2.1/templates/secret.yaml
Normal file
@@ -0,0 +1,31 @@
|
||||
# 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.
|
||||
|
||||
{{- if .Values.dorisCluster.authSecret }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ template "doriscluster.secret.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
type: kubernetes.io/basic-auth
|
||||
data:
|
||||
{{- toYaml .Values.dorisCluster.authSecret | nindent 2}}
|
||||
{{- end }}
|
||||
697
agent-common/SplitProject/doris-25.2.1/values.yaml
Normal file
697
agent-common/SplitProject/doris-25.2.1/values.yaml
Normal file
@@ -0,0 +1,697 @@
|
||||
# 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.
|
||||
|
||||
# deploy a doris cluster
|
||||
dorisCluster:
|
||||
# the name of doriscluster, if not set, the chart name will be used.
|
||||
name: "doriscluster-helm"
|
||||
# annotations for doris cluster.
|
||||
annotations: {}
|
||||
# specify the cn deploy or not.
|
||||
enabledCn: false
|
||||
# specify the broker deploy or not.
|
||||
enabledBroker: false
|
||||
# specify the doriscluster adminuser or not.
|
||||
# set adminUser will record the password in clear text. This method has been abandoned and is not recommended.
|
||||
# When adding adminuser. should follow the steps:
|
||||
# 1. Start dorisclusert without adminUser
|
||||
# 2. Run 'CREATE USER ...' or 'SET PASSWORD ...' in mysql client
|
||||
# 3. Add the name and password added in the previous step to adminUser and execute helm
|
||||
adminUser: {}
|
||||
# name: root
|
||||
# password: "12345"
|
||||
# use authSecret can encrypt and save passwords, recommend this method
|
||||
# 1. run shell: echo -n '{your_password}' | base64 to get password base64 string
|
||||
# 2. run shell: echo -n '{your_user}' | base64 to get user base64 string
|
||||
# 3. Fill the encrypted string into the corresponding position
|
||||
# as follow, username is 'root' , password is 't0p-Secret'
|
||||
authSecret: {}
|
||||
# username: cm9vdA==
|
||||
# password: dDBwLVNlY3JldA==
|
||||
|
||||
feSpec:
|
||||
replicas: 3
|
||||
# electionNumber represents `FOLLOWER` number, replicas - electionNumber as `OBSERVER`
|
||||
# electionNumber: 3
|
||||
# the pod labels for user select or classify pods.
|
||||
labels: {}
|
||||
# selectdb.app.classify: "classify-1"
|
||||
image:
|
||||
repository: apache/doris
|
||||
tag: fe-2.1.7
|
||||
# imagePullSecrets:
|
||||
# - name: imagePullSecret
|
||||
# config the service port for fe service.
|
||||
# if you want to use a dedicated port for fe service, you can config the port.
|
||||
# see https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports for more details.
|
||||
service:
|
||||
# the fe service type, only supported ClusterIP, NodePort, LoadBalancer
|
||||
type: ClusterIP
|
||||
# type: NodePort
|
||||
# servicePorts:
|
||||
# - nodePort: 30001
|
||||
# targetPort: 9030
|
||||
# - nodePort: 30002
|
||||
# targetPort: 8030
|
||||
# the loadBalancerIP for static ip config when the type=LoadBalancer and loadbalancerIp is not empty.
|
||||
# type: "LoadBalancer"
|
||||
# loadbalancerIP: "127.0.0.1"
|
||||
# use LoadBalancer on cloud platform, try to configure it using annotations:
|
||||
annotations: {}
|
||||
# service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
|
||||
# specify the configMap, as a dictionary.
|
||||
# Its 'key' is the config file name in the doris 'doris_root_path/fe/conf/' file path,
|
||||
# Its 'value' is the text content of the corresponding file (it should be relatively long, actually).
|
||||
configMap: {}
|
||||
# 'fe.conf' is the startup config file of fe, and the name must be 'fe.conf'.
|
||||
# fe.conf: |
|
||||
# http_port = 8030
|
||||
# rpc_port = 9020
|
||||
# query_port = 9030
|
||||
# edit_log_port = 9010
|
||||
# Other config files can also be specified here
|
||||
# hdfs-site.xml: |
|
||||
# <?xml version="1.0" encoding="UTF-8"?>
|
||||
#
|
||||
# <configuration>
|
||||
# <property>
|
||||
# <name>dfs.nameservices</name>
|
||||
# <value>ns</value>
|
||||
# </property>
|
||||
#
|
||||
# mountConfigMaps supports configmap mounting in the form of specifying the mounting directory
|
||||
# but please note that the mounting path cannot be repeated.
|
||||
# if the elements within mountConfigMaps contain data, it means that the configmap does not need to be created manually by the user, and vice versa.
|
||||
# in the following example, the user needs to manually create configmap 'cm-1'
|
||||
# mountConfigMaps: {}
|
||||
# - configMapName: cm-1
|
||||
# mountPath: /etc/cm1
|
||||
# - configMapName: cm-2
|
||||
# mountPath: /etc/cm2
|
||||
# data:
|
||||
# copy_file1: |
|
||||
# text *** content
|
||||
# copy_file2: |
|
||||
# text *** content
|
||||
|
||||
# If configured separately here, it will overwrite the total resources configuration default.
|
||||
# but the default configuration of other types will still take effect.
|
||||
resource: {}
|
||||
# requests:
|
||||
# cpu: 8
|
||||
# memory: 16Gi
|
||||
# limits:
|
||||
# cpu: 16
|
||||
# memory: 32Gi
|
||||
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"
|
||||
nodeSelector: {}
|
||||
# kubernetes.io/arch: amd64
|
||||
# kubernetes.io/os: linux
|
||||
# app.kubernetes.node.name: "k8s-node1"
|
||||
# env represents an environment variable present in a Container.
|
||||
# 'name' of the environment variable. Must be a C_IDENTIFIER.
|
||||
# no more than one of the following may be specified: 'value' or 'valueFrom',
|
||||
# 'value' is the value of environment.
|
||||
# 'valueFrom' is source for the environment variable's value. Cannot be used if 'value' is not empty.
|
||||
env: []
|
||||
# - name: "HOME"
|
||||
# value: "/opt/selectdb"
|
||||
# - name: HOST_IP
|
||||
# valueFrom:
|
||||
# fieldRef:
|
||||
# apiVersion: v1
|
||||
# fieldPath: status.hostIP
|
||||
|
||||
# affinity is the constraints of pod scheduling
|
||||
# nodeAffinity: Describes node affinity scheduling rules for the pod.
|
||||
# podAffinity: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# PodAntiAffinity: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
affinity: {}
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "k8s-node1"
|
||||
# "k8s-node2"
|
||||
# podAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
# podAntiAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "NotIn"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
|
||||
# the pod this Toleration is attached to tolerates any taint that matches. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
# the triple <key,value,effect> using the matching operator <operator>.
|
||||
# 'key' is the taint key that the toleration applies to. Empty means match all taint keys. if the 'key' is empty, 'operator' must be Exists; this combination means to match all values and all keys.
|
||||
# 'operator' represents a key's relationship to the 'value'. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
|
||||
# 'value' is the taint value the toleration matches to. If the 'operator' is Exists, the 'value' should be empty, otherwise just a regular string.
|
||||
# 'effect' indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
||||
tolerations: []
|
||||
# - key: "toleration"
|
||||
# operator: "Equal"
|
||||
# value: "master"
|
||||
# - key: "node-role.kubernetes.io/master"
|
||||
# operator: "Exists"
|
||||
# effect: "NoSchedule"
|
||||
# - operator: "Exists"
|
||||
|
||||
# hostAliases allows adding entries to /etc/hosts inside the containers
|
||||
hostAliases: []
|
||||
# If doris use hdfs or catalog, config the map of namenode host here is beneficial
|
||||
# - ip: "127.0.0.1"
|
||||
# hostnames:
|
||||
# - "hostname1"
|
||||
# - ip: "127.0.0.2"
|
||||
# hostnames:
|
||||
# - "hostname2"
|
||||
persistentVolumeClaim: {}
|
||||
# meta volume, mountPath is /opt/apache-doris/fe/doris-meta
|
||||
# metaPersistentVolume:
|
||||
# storage: 200Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
# logs volume, mountPath is /opt/apache-doris/fe/log
|
||||
# logsPersistentVolume:
|
||||
# storage: 100Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
systemInitialization: {}
|
||||
# initImage: "selectdb/alpine:latest"
|
||||
# command: [ "/sbin/sysctl", "-w", "vm.max_map_count=2000000" ]
|
||||
|
||||
beSpec:
|
||||
replicas: 3
|
||||
# the pod labels for user select or classify pods.
|
||||
labels: {}
|
||||
# selectdb.app.classify: "classify-1"
|
||||
image:
|
||||
repository: apache/doris
|
||||
tag: be-2.1.7
|
||||
# imagePullSecrets:
|
||||
# - name: imagePullSecret
|
||||
# config the service port for be service.
|
||||
# if you want to use a dedicated port for be service, you can config the port.
|
||||
# see https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports for more details.
|
||||
service:
|
||||
# the be service type, only supported ClusterIP, NodePort, LoadBalancer
|
||||
type: ClusterIP
|
||||
# type: NodePort
|
||||
# servicePorts:
|
||||
# - nodePort: 30003
|
||||
# targetPort: 9040
|
||||
# - nodePort: 30004
|
||||
# targetPort: 8040
|
||||
# the loadBalancerIP for static ip config when the type=LoadBalancer and loadbalancerIp is not empty.
|
||||
# type: "LoadBalancer"
|
||||
# loadbalancerIP: "127.0.0.1"
|
||||
# use LoadBalancer on cloud platform, try to configure it using annotations
|
||||
annotations: {}
|
||||
# service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
|
||||
# specify the configMap, as a dictionary.
|
||||
# Its 'key' is the config file name in the doris 'doris_root_path/fe/conf/' file path,
|
||||
# Its 'value' is the text content of the corresponding file (it should be relatively long, actually).
|
||||
configMap: {}
|
||||
# 'be.conf' is the startup config file of be, and the name must be 'be.conf'.
|
||||
# be.conf: |
|
||||
# be_port = 9060
|
||||
# webserver_port = 8040
|
||||
# heartbeat_service_port = 9050
|
||||
# brpc_port = 8060
|
||||
# storage_root_path = /data/doris/be/storage
|
||||
# Other config files can also be specified here
|
||||
# hdfs-site.xml: |
|
||||
# <?xml version="1.0" encoding="UTF-8"?>
|
||||
#
|
||||
# <configuration>
|
||||
# <property>
|
||||
# <name>dfs.nameservices</name>
|
||||
# <value>ns</value>
|
||||
# </property>
|
||||
#
|
||||
# mountConfigMaps supports configmap mounting in the form of specifying the mounting directory
|
||||
# but please note that the mounting path cannot be repeated.
|
||||
# if the elements within mountConfigMaps contain data, it means that the configmap does not need to be created manually by the user, and vice versa.
|
||||
# in the following example, the user needs to manually create configmap 'cm-1'
|
||||
# mountConfigMaps: {}
|
||||
# - configMapName: cm-1
|
||||
# mountPath: /etc/cm1
|
||||
# - configMapName: cm-2
|
||||
# mountPath: /etc/cm2
|
||||
# data:
|
||||
# copy_file1: |
|
||||
# text *** content
|
||||
# copy_file2: |
|
||||
# text *** content
|
||||
|
||||
# If configured separately here, it will overwrite the total resources configuration default.
|
||||
# but the default configuration of other types will still take effect.
|
||||
resource: {}
|
||||
# requests:
|
||||
# cpu: 8
|
||||
# memory: 16Gi
|
||||
# limits:
|
||||
# cpu: 16
|
||||
# memory: 32Gi
|
||||
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"
|
||||
nodeSelector: {}
|
||||
# kubernetes.io/arch: amd64
|
||||
# kubernetes.io/os: linux
|
||||
# app.kubernetes.node.name: "k8s-node1"
|
||||
# env represents an environment variable present in a Container.
|
||||
# 'name' of the environment variable. Must be a C_IDENTIFIER.
|
||||
# no more than one of the following may be specified: 'value' or 'valueFrom',
|
||||
# 'value' is the value of environment.
|
||||
# 'valueFrom' is source for the environment variable's value. Cannot be used if 'value' is not empty.
|
||||
env: []
|
||||
# - name: "HOME"
|
||||
# value: "/opt/selectdb"
|
||||
# - name: HOST_IP
|
||||
# valueFrom:
|
||||
# fieldRef:
|
||||
# apiVersion: v1
|
||||
# fieldPath: status.hostIP
|
||||
|
||||
# affinity is the constraints of pod scheduling
|
||||
# nodeAffinity: Describes node affinity scheduling rules for the pod.
|
||||
# podAffinity: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# PodAntiAffinity: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
affinity: {}
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "k8s-node1"
|
||||
# "k8s-node2"
|
||||
# podAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
# podAntiAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "NotIn"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
|
||||
# the pod this Toleration is attached to tolerates any taint that matches. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
# the triple <key,value,effect> using the matching operator <operator>.
|
||||
# 'key' is the taint key that the toleration applies to. Empty means match all taint keys. if the 'key' is empty, 'operator' must be Exists; this combination means to match all values and all keys.
|
||||
# 'operator' represents a key's relationship to the 'value'. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
|
||||
# 'value' is the taint value the toleration matches to. If the 'operator' is Exists, the 'value' should be empty, otherwise just a regular string.
|
||||
# 'effect' indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
||||
tolerations: []
|
||||
# - key: "toleration"
|
||||
# operator: "Equal"
|
||||
# value: "master"
|
||||
# - key: "node-role.kubernetes.io/master"
|
||||
# operator: "Exists"
|
||||
# effect: "NoSchedule"
|
||||
# - operator: "Exists"
|
||||
|
||||
# hostAliases allows adding entries to /etc/hosts inside the containers
|
||||
hostAliases: []
|
||||
# If doris use hdfs or catalog, config the map of namenode host here is beneficial
|
||||
# - ip: "127.0.0.1"
|
||||
# hostnames:
|
||||
# - "hostname1"
|
||||
# - ip: "127.0.0.2"
|
||||
# hostnames:
|
||||
# - "hostname2"
|
||||
persistentVolumeClaim: {}
|
||||
# data volume, mountPath is /opt/apache-doris/be/storage
|
||||
# dataPersistentVolume:
|
||||
# storage: 200Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
# logs volume, mountPath is /opt/apache-doris/be/log
|
||||
# logsPersistentVolume:
|
||||
# storage: 100Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
systemInitialization: {}
|
||||
# initImage: "selectdb/alpine:latest"
|
||||
# command: [ "/sbin/sysctl", "-w", "vm.max_map_count=2000000" ]
|
||||
|
||||
cnSpec:
|
||||
replicas: 3
|
||||
# the pod labels for user select or classify pods.
|
||||
labels: {}
|
||||
# selectdb.app.classify: "classify-1"
|
||||
image:
|
||||
repository: apache/doris
|
||||
tag: be-2.1.7
|
||||
# imagePullSecrets:
|
||||
# - name: imagePullSecret
|
||||
# config the service port for cn service.
|
||||
# if you want to use a dedicated port for cn service, you can config the port.
|
||||
# see https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports for more details.
|
||||
service:
|
||||
# the cn service type, only supported ClusterIP, NodePort, LoadBalancer
|
||||
type: ClusterIP
|
||||
# type: NodePort
|
||||
# servicePorts:
|
||||
# - nodePort: 30005
|
||||
# targetPort: 9040
|
||||
# - nodePort: 30006
|
||||
# targetPort: 8040
|
||||
# type: "LoadBalancer"
|
||||
# the loadBalancerIP for static ip config when the type=LoadBalancer and loadbalancerIp is not empty.
|
||||
# loadbalancerIP: "127.0.0.1"
|
||||
# use LoadBalancer on cloud platform, try to configure it using annotations
|
||||
annotations: {}
|
||||
# service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
|
||||
# specify the configMap, as a dictionary.
|
||||
# Its 'key' is the config file name in the doris 'doris_root_path/fe/conf/' file path,
|
||||
# Its 'value' is the text content of the corresponding file (it should be relatively long, actually).
|
||||
configMap: {}
|
||||
# 'be.conf' is the startup config file of cn, and the name must be 'be.conf'.
|
||||
# be.conf: |
|
||||
# be_port = 9060
|
||||
# webserver_port = 8040
|
||||
# heartbeat_service_port = 9050
|
||||
# brpc_port = 8060
|
||||
# storage_root_path = /data/doris/be/storage
|
||||
# be_node_role=computation
|
||||
# Other config files can also be specified here
|
||||
# hdfs-site.xml: |
|
||||
# <?xml version="1.0" encoding="UTF-8"?>
|
||||
#
|
||||
# <configuration>
|
||||
# <property>
|
||||
# <name>dfs.nameservices</name>
|
||||
# <value>ns</value>
|
||||
# </property>
|
||||
#
|
||||
# mountConfigMaps supports configmap mounting in the form of specifying the mounting directory
|
||||
# but please note that the mounting path cannot be repeated.
|
||||
# if the elements within mountConfigMaps contain data, it means that the configmap does not need to be created manually by the user, and vice versa.
|
||||
# in the following example, the user needs to manually create configmap 'cm-1'
|
||||
# mountConfigMaps: {}
|
||||
# - configMapName: cm-1
|
||||
# mountPath: /etc/cm1
|
||||
# - configMapName: cm-2
|
||||
# mountPath: /etc/cm2
|
||||
# data:
|
||||
# copy_file1: |
|
||||
# text *** content
|
||||
# copy_file2: |
|
||||
# text *** content
|
||||
|
||||
# If configured separately here, it will overwrite the total resources configuration default.
|
||||
# but the default configuration of other types will still take effect.
|
||||
resource: {}
|
||||
# requests:
|
||||
# cpu: 8
|
||||
# memory: 16Gi
|
||||
# limits:
|
||||
# cpu: 16
|
||||
# memory: 32Gi
|
||||
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"
|
||||
nodeSelector: {}
|
||||
# kubernetes.io/arch: amd64
|
||||
# kubernetes.io/os: linux
|
||||
# app.kubernetes.node.name: "k8s-node1"
|
||||
# env represents an environment variable present in a Container.
|
||||
# 'name' of the environment variable. Must be a C_IDENTIFIER.
|
||||
# no more than one of the following may be specified: 'value' or 'valueFrom',
|
||||
# 'value' is the value of environment.
|
||||
# 'valueFrom' is source for the environment variable's value. Cannot be used if 'value' is not empty.
|
||||
env: []
|
||||
# - name: "HOME"
|
||||
# value: "/opt/selectdb"
|
||||
# - name: HOST_IP
|
||||
# valueFrom:
|
||||
# fieldRef:
|
||||
# apiVersion: v1
|
||||
# fieldPath: status.hostIP
|
||||
|
||||
# affinity is the constraints of pod scheduling
|
||||
# nodeAffinity: Describes node affinity scheduling rules for the pod.
|
||||
# podAffinity: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# PodAntiAffinity: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
affinity: {}
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "k8s-node1"
|
||||
# "k8s-node2"
|
||||
# podAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
# podAntiAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "NotIn"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
|
||||
# the pod this Toleration is attached to tolerates any taint that matches. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
# the triple <key,value,effect> using the matching operator <operator>.
|
||||
# 'key' is the taint key that the toleration applies to. Empty means match all taint keys. if the 'key' is empty, 'operator' must be Exists; this combination means to match all values and all keys.
|
||||
# 'operator' represents a key's relationship to the 'value'. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
|
||||
# 'value' is the taint value the toleration matches to. If the 'operator' is Exists, the 'value' should be empty, otherwise just a regular string.
|
||||
# 'effect' indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
||||
tolerations: []
|
||||
# - key: "toleration"
|
||||
# operator: "Equal"
|
||||
# value: "master"
|
||||
# - key: "node-role.kubernetes.io/master"
|
||||
# operator: "Exists"
|
||||
# effect: "NoSchedule"
|
||||
# - operator: "Exists"
|
||||
|
||||
# hostAliases allows adding entries to /etc/hosts inside the containers
|
||||
hostAliases: []
|
||||
# If doris use hdfs or catalog, config the map of namenode host here is beneficial
|
||||
# - ip: "127.0.0.1"
|
||||
# hostnames:
|
||||
# - "hostname1"
|
||||
# - ip: "127.0.0.2"
|
||||
# hostnames:
|
||||
# - "hostname2"
|
||||
persistentVolumeClaim: {}
|
||||
# data volume, mountPath is /opt/apache-doris/be/storage
|
||||
# dataPersistentVolume:
|
||||
# storage: 200Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
# logs volume, mountPath is /opt/apache-doris/be/log
|
||||
# logsPersistentVolume:
|
||||
# storage: 100Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
systemInitialization: {}
|
||||
# initImage: "selectdb/alpine:latest"
|
||||
# command: [ "/sbin/sysctl", "-w", "vm.max_map_count=2000000" ]
|
||||
# specific cn auto scale policy
|
||||
autoScalingPolicy:
|
||||
enable: true
|
||||
# version: v2
|
||||
minReplicas: 1
|
||||
maxReplicas: 4
|
||||
# hpaPolicy response to horizontlaPodAutoscaler's HorizontalPodAutoscalerSpec
|
||||
hpaPolicy: {}
|
||||
# metrics:
|
||||
# - type: Resource
|
||||
# resource:
|
||||
# name: cpu
|
||||
# target:
|
||||
# type: Utilization
|
||||
# averageUtilization: 30
|
||||
|
||||
brokerSpec:
|
||||
replicas: 3
|
||||
# the pod labels for user select or classify pods.
|
||||
labels: {}
|
||||
# selectdb.app.classify: "classify-1"
|
||||
image:
|
||||
repository: apache/doris
|
||||
tag: broker-2.1.7
|
||||
# imagePullSecrets:
|
||||
# - name: imagePullSecret
|
||||
# specify the configMap, as a dictionary.
|
||||
# Its 'key' is the config file name in the doris 'doris_root_path/fe/conf/' file path,
|
||||
# Its 'value' is the text content of the corresponding file (it should be relatively long, actually).
|
||||
configMap: {}
|
||||
# 'apache_hdfs_broker.conf' is the startup config file of broker, and the name must be 'apache_hdfs_broker.conf'.
|
||||
# apache_hdfs_broker.conf: |
|
||||
# broker_ipc_port: 8000
|
||||
# client_expire_seconds: 3600
|
||||
# Other config files can also be specified here
|
||||
# hdfs-site.xml: |
|
||||
# <?xml version="1.0" encoding="UTF-8"?>
|
||||
#
|
||||
# <configuration>
|
||||
# <property>
|
||||
# <name>dfs.nameservices</name>
|
||||
# <value>ns</value>
|
||||
# </property>
|
||||
#
|
||||
# mountConfigMaps supports configmap mounting in the form of specifying the mounting directory
|
||||
# but please note that the mounting path cannot be repeated.
|
||||
# if the elements within mountConfigMaps contain data, it means that the configmap does not need to be created manually by the user, and vice versa.
|
||||
# in the following example, the user needs to manually create configmap 'cm-1'
|
||||
# mountConfigMaps: {}
|
||||
# - configMapName: cm-1
|
||||
# mountPath: /etc/cm1
|
||||
# - configMapName: cm-2
|
||||
# mountPath: /etc/cm2
|
||||
# data:
|
||||
# copy_file1: |
|
||||
# text *** content
|
||||
# copy_file2: |
|
||||
# text *** content
|
||||
|
||||
# If configured separately here, it will overwrite the total resources configuration default.
|
||||
# but the default configuration of other types will still take effect.
|
||||
resource: {}
|
||||
# requests:
|
||||
# cpu: 8
|
||||
# memory: 16Gi
|
||||
# limits:
|
||||
# cpu: 16
|
||||
# memory: 32Gi
|
||||
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"
|
||||
nodeSelector: {}
|
||||
# kubernetes.io/arch: amd64
|
||||
# kubernetes.io/os: linux
|
||||
# app.kubernetes.node.name: "k8s-node1"
|
||||
# env represents an environment variable present in a Container.
|
||||
# 'name' of the environment variable. Must be a C_IDENTIFIER.
|
||||
# no more than one of the following may be specified: 'value' or 'valueFrom',
|
||||
# 'value' is the value of environment.
|
||||
# 'valueFrom' is source for the environment variable's value. Cannot be used if 'value' is not empty.
|
||||
env: []
|
||||
# - name: "HOME"
|
||||
# value: "/opt/selectdb"
|
||||
# - name: HOST_IP
|
||||
# valueFrom:
|
||||
# fieldRef:
|
||||
# apiVersion: v1
|
||||
# fieldPath: status.hostIP
|
||||
|
||||
# affinity is the constraints of pod scheduling
|
||||
# nodeAffinity: Describes node affinity scheduling rules for the pod.
|
||||
# podAffinity: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# PodAntiAffinity: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
affinity: {}
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "k8s-node1"
|
||||
# "k8s-node2"
|
||||
# podAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
# podAntiAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "NotIn"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
|
||||
# the pod this Toleration is attached to tolerates any taint that matches. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
# the triple <key,value,effect> using the matching operator <operator>.
|
||||
# 'key' is the taint key that the toleration applies to. Empty means match all taint keys. if the 'key' is empty, 'operator' must be Exists; this combination means to match all values and all keys.
|
||||
# 'operator' represents a key's relationship to the 'value'. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
|
||||
# 'value' is the taint value the toleration matches to. If the 'operator' is Exists, the 'value' should be empty, otherwise just a regular string.
|
||||
# 'effect' indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
||||
tolerations: []
|
||||
# - key: "toleration"
|
||||
# operator: "Equal"
|
||||
# value: "master"
|
||||
# - key: "node-role.kubernetes.io/master"
|
||||
# operator: "Exists"
|
||||
# effect: "NoSchedule"
|
||||
# - operator: "Exists"
|
||||
|
||||
# hostAliases allows adding entries to /etc/hosts inside the containers
|
||||
hostAliases: []
|
||||
# If doris use hdfs or catalog, config the map of namenode host here is beneficial
|
||||
# - ip: "127.0.0.1"
|
||||
# hostnames:
|
||||
# - "hostname1"
|
||||
# - ip: "127.0.0.2"
|
||||
# hostnames:
|
||||
# - "hostname2"
|
||||
persistentVolumeClaim: {}
|
||||
# logs volume, mountPath is /opt/apache-doris/apache_hdfs_broker/log
|
||||
# logsPersistentVolume:
|
||||
# storage: 100Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
systemInitialization: {}
|
||||
# initImage: "selectdb/alpine:latest"
|
||||
# command: [ "/sbin/sysctl", "-w", "vm.max_map_count=2000000" ]
|
||||
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
apiVersion: doris.selectdb.com/v1
|
||||
kind: DorisCluster
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
name: doriscluster-helm
|
||||
namespace: doriscluster
|
||||
spec:
|
||||
feSpec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: uavcloud.env
|
||||
operator: In
|
||||
values:
|
||||
- doris
|
||||
replicas: 3
|
||||
image: 172.16.100.55:8033/cmii/doris.fe-ubuntu:2.1.6
|
||||
limits:
|
||||
cpu: 8
|
||||
memory: 16Gi
|
||||
requests:
|
||||
cpu: 2
|
||||
memory: 6Gi
|
||||
configMapInfo:
|
||||
# use kubectl create configmap fe-configmap --from-file=fe.conf
|
||||
configMapName: fe-configmap
|
||||
resolveKey: fe.conf
|
||||
persistentVolumes:
|
||||
- mountPath: /opt/apache-doris/fe/doris-meta
|
||||
name: doris-fe-2000g
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: doris-nfs-sc-56
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 2000Gi
|
||||
- mountPath: /opt/apache-doris/fe/jdbc_drivers
|
||||
name: doriscluster-storage-fe-jdbc-drivers
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: doris-nfs-sc-58
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
beSpec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: uavcloud.env
|
||||
operator: In
|
||||
values:
|
||||
- doris
|
||||
replicas: 3
|
||||
image: 172.16.100.55:8033/cmii/doris.be-ubuntu:2.1.6
|
||||
limits:
|
||||
cpu: 8
|
||||
memory: 24Gi
|
||||
requests:
|
||||
cpu: 2
|
||||
memory: 6Gi
|
||||
configMapInfo:
|
||||
# use kubectl create configmap be-configmap --from-file=be.conf
|
||||
configMapName: be-configmap
|
||||
resolveKey: be.conf
|
||||
persistentVolumes:
|
||||
- mountPath: /opt/apache-doris/be/storage
|
||||
name: doris-1-9000g-pvc
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: doris-nfs-sc-57
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 9000Gi
|
||||
- mountPath: /opt/apache-doris/be/jdbc_drivers
|
||||
name: doriscluster-storage-be-jdbc-drivers
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: doris-nfs-sc-58
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1000Gi
|
||||
@@ -7,8 +7,17 @@ metadata:
|
||||
namespace: doriscluster
|
||||
spec:
|
||||
feSpec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: doris-deploy
|
||||
operator: In
|
||||
values:
|
||||
- "true"
|
||||
replicas: 1
|
||||
image: harbor.cdcyy.com.cn/cmii/doris.fe-ubuntu:2.1.6
|
||||
image: 172.16.100.55:8033/cmii/doris.fe-ubuntu:2.1.6
|
||||
limits:
|
||||
cpu: 8
|
||||
memory: 16Gi
|
||||
@@ -26,36 +35,35 @@ spec:
|
||||
name: doriscluster-storage0
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
storageClassName: doris-static-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
# notice: if the storage size less 5G, fe will not start normal.
|
||||
requests:
|
||||
storage: 300Gi
|
||||
- mountPath: /opt/apache-doris/fe/log
|
||||
name: doriscluster-storage1
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storage: 500Gi
|
||||
- mountPath: /opt/apache-doris/fe/jdbc_drivers
|
||||
name: doriscluster-storage-fe-jdbc-drivers
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
storageClassName: cmlc-nfs-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storage: 10Gi
|
||||
beSpec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: doris-deploy
|
||||
operator: In
|
||||
values:
|
||||
- "true"
|
||||
replicas: 3
|
||||
image: harbor.cdcyy.com.cn/cmii/doris.be-ubuntu:2.1.6
|
||||
image: 172.16.100.55:8033/cmii/doris.be-ubuntu:2.1.6
|
||||
limits:
|
||||
cpu: 8
|
||||
memory: 24Gi
|
||||
@@ -69,33 +77,43 @@ spec:
|
||||
nodeSelector:
|
||||
uavcloud.env: demo
|
||||
persistentVolumes:
|
||||
- mountPath: /opt/apache-doris/be/storage
|
||||
name: doriscluster-storage1
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: doris-static-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 9000Gi
|
||||
- mountPath: /opt/apache-doris/be/storage
|
||||
name: doriscluster-storage2
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
storageClassName: doris-static-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 300Gi
|
||||
storage: 9000Gi
|
||||
- mountPath: /opt/apache-doris/be/log
|
||||
name: doriscluster-storage3
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
storageClassName: doris-static-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storage: 9000Gi
|
||||
- mountPath: /opt/apache-doris/be/jdbc_drivers
|
||||
name: doriscluster-storage-be-jdbc-drivers
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
storageClassName: cmlc-nfs-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storage: 10Gi
|
||||
@@ -284,22 +284,15 @@ spec:
|
||||
# according to the platforms which are supported by your solution.
|
||||
# It is considered best practice to support multiple architectures. You can
|
||||
# build your manager image using the makefile target docker-buildx.
|
||||
# affinity:
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# - key: kubernetes.io/arch
|
||||
# operator: In
|
||||
# values:
|
||||
# - amd64
|
||||
# - arm64
|
||||
# - ppc64le
|
||||
# - s390x
|
||||
# - key: kubernetes.io/os
|
||||
# operator: In
|
||||
# values:
|
||||
# - linux
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: doris-deploy
|
||||
operator: In
|
||||
values:
|
||||
- "true"
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
# TODO(user): For common cases that do not require escalating privileges
|
||||
@@ -314,7 +307,7 @@ spec:
|
||||
- /dorisoperator
|
||||
args:
|
||||
- --leader-elect
|
||||
image: harbor.cdcyy.com.cn/cmii/doris.k8s-operator:1.3.1
|
||||
image: 172.16.100.55:8033/cmii/doris.k8s-operator:1.3.1
|
||||
name: dorisoperator
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
|
||||
148
agent-common/real_project/cmii-uav-watchdog-agent-test.yaml
Normal file
148
agent-common/real_project/cmii-uav-watchdog-agent-test.yaml
Normal file
@@ -0,0 +1,148 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: cmii-uav-watchdog-agent
|
||||
namespace: uavcloud-devflight
|
||||
labels:
|
||||
cmii.type: backend
|
||||
cmii.app: cmii-uav-watchdog-agent
|
||||
octopus/control: backend-app-1.0.0
|
||||
app.kubernetes.io/managed-by: octopus
|
||||
app.kubernetes.io/app-version: 6.2.0
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
cmii.type: backend
|
||||
cmii.app: cmii-uav-watchdog-agent
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
cmii.type: backend
|
||||
cmii.app: cmii-uav-watchdog-agent
|
||||
spec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: uavcloud.env
|
||||
operator: In
|
||||
values:
|
||||
- devflight
|
||||
imagePullSecrets:
|
||||
- name: harborsecret
|
||||
containers:
|
||||
- name: cmii-uav-watchdog-agent
|
||||
image: harbor.cdcyy.com.cn/cmii/cmii-uav-watchdog-agent-java:2025-03-26-17-09-09
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: K8S_NAMESPACE
|
||||
value: uavcloud-devflight
|
||||
- name: APPLICATION_NAME
|
||||
value: cmii-uav-watchdog-agent
|
||||
- name: CUST_JAVA_OPTS
|
||||
value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
|
||||
- name: NACOS_REGISTRY
|
||||
value: "helm-nacos:8848"
|
||||
- name: NACOS_DISCOVERY_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: NACOS_DISCOVERY_PORT
|
||||
value: "8080"
|
||||
- name: BIZ_CONFIG_GROUP
|
||||
value: 6.2.0
|
||||
- name: SYS_CONFIG_GROUP
|
||||
value: 6.2.0
|
||||
- name: IMAGE_VERSION
|
||||
value: 6.2.0
|
||||
- name: NACOS_USERNAME
|
||||
value: "developer"
|
||||
- name: NACOS_PASSWORD
|
||||
value: "Deve@9128201"
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
- name: NODE_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: LIMIT_CPU
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: cmii-uav-watchdog-agent
|
||||
resource: limits.cpu
|
||||
- name: LIMIT_MEMORY
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: cmii-uav-watchdog-agent
|
||||
resource: limits.memory
|
||||
- name: REQUEST_CPU
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: cmii-uav-watchdog-agent
|
||||
resource: requests.cpu
|
||||
- name: REQUEST_MEMORY
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: cmii-uav-watchdog-agent
|
||||
resource: requests.memory
|
||||
- name: WATCHDOG_HEARTBEAT_URL
|
||||
value: http://cmii-uav-watchdog:8080/api/heartbeat
|
||||
ports:
|
||||
- name: pod-port
|
||||
containerPort: 8080
|
||||
protocol: TCP
|
||||
resources:
|
||||
limits:
|
||||
memory: 2Gi
|
||||
cpu: "2"
|
||||
requests:
|
||||
memory: 200Mi
|
||||
cpu: 200m
|
||||
volumeMounts:
|
||||
- name: nfs-backend-log-volume
|
||||
mountPath: /cmii/logs
|
||||
readOnly: false
|
||||
subPath: uavcloud-devflight/cmii-uav-watchdog-agent
|
||||
volumes:
|
||||
- name: nfs-backend-log-volume
|
||||
persistentVolumeClaim:
|
||||
claimName: nfs-backend-log-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: cmii-uav-watchdog-agent
|
||||
namespace: uavcloud-devflight
|
||||
labels:
|
||||
cmii.type: backend
|
||||
cmii.app: cmii-uav-watchdog-agent
|
||||
octopus/control: backend-app-1.0.0
|
||||
app.kubernetes.io/managed-by: octopus
|
||||
app.kubernetes.io/app-version: 6.2.0
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
cmii.type: backend
|
||||
cmii.app: cmii-uav-watchdog-agent
|
||||
ports:
|
||||
- name: backend-tcp
|
||||
port: 8080
|
||||
protocol: TCP
|
||||
targetPort: 8080
|
||||
---
|
||||
178
agent-common/real_project/cmii-uav-watchdog-test.yaml
Normal file
178
agent-common/real_project/cmii-uav-watchdog-test.yaml
Normal file
@@ -0,0 +1,178 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: cmii-uav-watchdog
|
||||
namespace: uavcloud-devflight
|
||||
labels:
|
||||
cmii.type: backend
|
||||
cmii.app: cmii-uav-watchdog
|
||||
octopus/control: backend-app-1.0.0
|
||||
app.kubernetes.io/managed-by: octopus
|
||||
app.kubernetes.io/app-version: 6.2.0
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
cmii.type: backend
|
||||
cmii.app: cmii-uav-watchdog
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
cmii.type: backend
|
||||
cmii.app: cmii-uav-watchdog
|
||||
spec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: uavcloud.env
|
||||
operator: In
|
||||
values:
|
||||
- devflight
|
||||
imagePullSecrets:
|
||||
- name: harborsecret
|
||||
containers:
|
||||
- name: cmii-uav-watchdog
|
||||
image: harbor.cdcyy.com.cn/cmii/cmii-uav-watchdog:2025-03-26-17-33-09
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: K8S_NAMESPACE
|
||||
value: uavcloud-devflight
|
||||
- name: APPLICATION_NAME
|
||||
value: cmii-uav-watchdog
|
||||
- name: CUST_JAVA_OPTS
|
||||
value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
|
||||
- name: NACOS_REGISTRY
|
||||
value: "helm-nacos:8848"
|
||||
- name: NACOS_DISCOVERY_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: NACOS_DISCOVERY_PORT
|
||||
value: "8080"
|
||||
- name: BIZ_CONFIG_GROUP
|
||||
value: 6.2.0
|
||||
- name: SYS_CONFIG_GROUP
|
||||
value: 6.2.0
|
||||
- name: IMAGE_VERSION
|
||||
value: 6.2.0
|
||||
- name: NACOS_USERNAME
|
||||
value: "developer"
|
||||
- name: NACOS_PASSWORD
|
||||
value: "Deve@9128201"
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
- name: NODE_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: LIMIT_CPU
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: cmii-uav-watchdog
|
||||
resource: limits.cpu
|
||||
- name: LIMIT_MEMORY
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: cmii-uav-watchdog
|
||||
resource: limits.memory
|
||||
- name: REQUEST_CPU
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: cmii-uav-watchdog
|
||||
resource: requests.cpu
|
||||
- name: REQUEST_MEMORY
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: cmii-uav-watchdog
|
||||
resource: requests.memory
|
||||
ports:
|
||||
- name: pod-port
|
||||
containerPort: 8080
|
||||
protocol: TCP
|
||||
resources:
|
||||
limits:
|
||||
memory: 2Gi
|
||||
cpu: "2"
|
||||
requests:
|
||||
memory: 200Mi
|
||||
cpu: 200m
|
||||
volumeMounts:
|
||||
- name: nfs-backend-log-volume
|
||||
mountPath: /cmii/cmii-uav-watchdog/
|
||||
readOnly: false
|
||||
subPath: uavcloud-devflight/cmii-uav-watchdog
|
||||
- name: cmii-uav-watchdog-conf
|
||||
mountPath: /cmii/cmii-uav-watchdog/config.yaml
|
||||
subPath: config.yaml
|
||||
volumes:
|
||||
- name: nfs-backend-log-volume
|
||||
persistentVolumeClaim:
|
||||
claimName: nfs-backend-log-pvc
|
||||
- name: cmii-uav-watchdog-conf
|
||||
configMap:
|
||||
name: cmii-uav-watchdog-configmap
|
||||
items:
|
||||
- key: config.yaml
|
||||
path: config.yaml
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: cmii-uav-watchdog
|
||||
namespace: uavcloud-devflight
|
||||
labels:
|
||||
cmii.type: backend
|
||||
cmii.app: cmii-uav-watchdog
|
||||
octopus/control: backend-app-1.0.0
|
||||
app.kubernetes.io/managed-by: octopus
|
||||
app.kubernetes.io/app-version: 6.2.0
|
||||
spec:
|
||||
type: NodePort
|
||||
selector:
|
||||
cmii.type: backend
|
||||
cmii.app: cmii-uav-watchdog
|
||||
ports:
|
||||
- name: backend-tcp
|
||||
port: 8080
|
||||
protocol: TCP
|
||||
targetPort: 8080
|
||||
nodePort: 34567
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: cmii-uav-watchdog-configmap
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
config.yaml: |-
|
||||
server:
|
||||
port: "8080" # 服务器端口
|
||||
|
||||
tier_one_auth:
|
||||
tier_one_secret: "NK537TIWSUOFIS7SYCUJ6A7FPOGFVM3UH67TJRX3IYQAHKZXK2X7SBAA6JOXZVSV3U6K5YZUX7Q6TWOPK6YCRU6MIML33ZJFBN55I2Q" # TOTP密钥
|
||||
time_offset_allowed: 30 # 允许的时间偏移(秒)
|
||||
|
||||
watchdog_center:
|
||||
url: "https://watchdog-center.example.com" # 一级授权中心地址
|
||||
|
||||
project:
|
||||
project_namespace: "uavcloud-devflight" # 项目命名空间
|
||||
|
||||
tier_two_auth:
|
||||
tier_two_secret: "your_tier_two_secret_here" # 二级授权密钥
|
||||
@@ -8,6 +8,7 @@ metadata:
|
||||
cmii.app: live-srs
|
||||
cmii.type: live
|
||||
octopus.control: wdd
|
||||
|
||||
app.kubernetes.io/managed-by: octopus
|
||||
helm.sh/chart: cmlc-live-srs-rtc-2.0.0
|
||||
data:
|
||||
@@ -230,7 +231,7 @@ spec:
|
||||
protocol: UDP
|
||||
env:
|
||||
- name: CANDIDATE
|
||||
value: 36.135.17.162
|
||||
value: lingyun.jlsxwkj.com:8888
|
||||
resources:
|
||||
limits:
|
||||
cpu: 2000m
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,15 +2,43 @@
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-splice
|
||||
name: tenant-prefix-supervisionh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "splice",
|
||||
AppClientId: "APP_zE0M3sTRXrCIJS8Y"
|
||||
ApplicationShortName: "supervisionh5",
|
||||
AppClientId: "APP_qqSu82THfexI8PLM"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-pangu
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-flight-control
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "flight-control",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
@@ -30,28 +58,14 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-hljtt
|
||||
name: tenant-prefix-pilot2cloud
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "hljtt",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-uasms
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "uasms",
|
||||
ApplicationShortName: "pilot2cloud",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
@@ -72,42 +86,224 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-secenter
|
||||
name: tenant-prefix-base
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "secenter",
|
||||
ApplicationShortName: "base",
|
||||
AppClientId: "APP_9LY41OaKSqk2btY0"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-multiterminal
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "multiterminal",
|
||||
AppClientId: "APP_PvdfRRRBPL8xbIwl"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-oms
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "oms",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-pangu
|
||||
name: tenant-prefix-open
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "",
|
||||
ApplicationShortName: "open",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-cmsportal
|
||||
name: tenant-prefix-seniclive
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "cmsportal",
|
||||
ApplicationShortName: "seniclive",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-share
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "share",
|
||||
AppClientId: "APP_4lVSVI0ZGxTssir8"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-smsecret
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "smsecret",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-mianyangbackend
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "mianyangbackend",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-supervision
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "supervision",
|
||||
AppClientId: "APP_qqSu82THfexI8PLM"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-logistics
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "logistics",
|
||||
AppClientId: "APP_PvdfRRRBPL8xbIwl"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-mws
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "mws",
|
||||
AppClientId: "APP_uKniXPELlRERBBwK"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-splice
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "splice",
|
||||
AppClientId: "APP_zE0M3sTRXrCIJS8Y"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-threedsimulation
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "threedsimulation",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-uasms
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "uasms",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-classification
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "classification",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-eventsh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "eventsh5",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
@@ -142,33 +338,159 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-oms
|
||||
name: tenant-prefix-media
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "oms",
|
||||
ApplicationShortName: "media",
|
||||
AppClientId: "APP_4AU8lbifESQO4FD6"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-securityh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "securityh5",
|
||||
AppClientId: "APP_N3ImO0Ubfu9peRHD"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-qingdao
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "qingdao",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-open
|
||||
name: tenant-prefix-blockchain
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "open",
|
||||
ApplicationShortName: "blockchain",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-ai-brain
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "ai-brain",
|
||||
AppClientId: "APP_rafnuCAmBESIVYMH"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-cmsportal
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "cmsportal",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-security
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "security",
|
||||
AppClientId: "APP_JUSEMc7afyWXxvE7"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-traffic
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "traffic",
|
||||
AppClientId: "APP_Jc8i2wOQ1t73QEJS"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-dikongzhixingh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "dikongzhixingh5",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-renyike
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "renyike",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-armypeople
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "armypeople",
|
||||
AppClientId: "APP_UIegse6Lfou9pO1U"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-qinghaitourism
|
||||
namespace: uavcloud-devflight
|
||||
@@ -183,6 +505,20 @@ data:
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-hljtt
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "hljtt",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-visualization
|
||||
namespace: uavcloud-devflight
|
||||
@@ -211,202 +547,6 @@ data:
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-pilot2cloud
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "pilot2cloud",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-classification
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "classification",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-ai-brain
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "ai-brain",
|
||||
AppClientId: "APP_rafnuCAmBESIVYMH"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-smsecret
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "smsecret",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-mianyangbackend
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "mianyangbackend",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-dikongzhixingh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "dikongzhixingh5",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-renyike
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "renyike",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-seniclive
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "seniclive",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-traffic
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "traffic",
|
||||
AppClientId: "APP_Jc8i2wOQ1t73QEJS"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-hyper
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "hyper",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-blockchain
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "blockchain",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-supervision
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "supervision",
|
||||
AppClientId: "APP_qqSu82THfexI8PLM"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-multiterminal
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "multiterminal",
|
||||
AppClientId: "APP_PvdfRRRBPL8xbIwl"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-mws
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "mws",
|
||||
AppClientId: "APP_uKniXPELlRERBBwK"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-dispatchh5
|
||||
namespace: uavcloud-devflight
|
||||
@@ -422,42 +562,14 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-logistics
|
||||
name: tenant-prefix-hyper
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "logistics",
|
||||
AppClientId: "APP_PvdfRRRBPL8xbIwl"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-threedsimulation
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "threedsimulation",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-qingdao
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "qingdao",
|
||||
ApplicationShortName: "hyper",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
@@ -478,131 +590,19 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-eventsh5
|
||||
name: tenant-prefix-secenter
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "eventsh5",
|
||||
ApplicationShortName: "secenter",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-flight-control
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "flight-control",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-security
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "security",
|
||||
AppClientId: "APP_JUSEMc7afyWXxvE7"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-securityh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "securityh5",
|
||||
AppClientId: "APP_N3ImO0Ubfu9peRHD"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-supervisionh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "supervisionh5",
|
||||
AppClientId: "APP_qqSu82THfexI8PLM"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-armypeople
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "armypeople",
|
||||
AppClientId: "APP_UIegse6Lfou9pO1U"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-base
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "base",
|
||||
AppClientId: "APP_9LY41OaKSqk2btY0"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-media
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "media",
|
||||
AppClientId: "APP_4AU8lbifESQO4FD6"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-share
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "share",
|
||||
AppClientId: "APP_4lVSVI0ZGxTssir8"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-uavmsmanager
|
||||
namespace: uavcloud-devflight
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@ metadata:
|
||||
type: frontend
|
||||
octopus.control: all-ingress-config-wdd
|
||||
app.kubernetes.io/managed-by: octopus-control
|
||||
app.kubernetes.io/version: 6.0.0
|
||||
app.kubernetes.io/version: 6.2.0
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||
@@ -304,7 +304,7 @@ metadata:
|
||||
type: backend
|
||||
octopus.control: all-ingress-config-wdd
|
||||
app.kubernetes.io/managed-by: octopus-control
|
||||
app.kubernetes.io/version: 6.0.0
|
||||
app.kubernetes.io/version: 6.2.0
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||
@@ -366,6 +366,14 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-suav-supervision
|
||||
servicePort: 8080
|
||||
- host: cmii-uas-datahub.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uas-datahub
|
||||
servicePort: 8080
|
||||
- host: cmii-uas-gateway.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
@@ -566,6 +574,14 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-iot-dispatcher
|
||||
servicePort: 8080
|
||||
- host: cmii-uav-iot-manager.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uav-iot-manager
|
||||
servicePort: 8080
|
||||
- host: cmii-uav-kpi-monitor.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
@@ -702,6 +718,14 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-user
|
||||
servicePort: 8080
|
||||
- host: cmii-uav-watchdog.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uav-watchdog
|
||||
servicePort: 8080
|
||||
- host: cmii-uav-waypoint.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
@@ -710,6 +734,14 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-waypoint
|
||||
servicePort: 8080
|
||||
- host: cmii-uavms-pyfusion.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uavms-pyfusion
|
||||
servicePort: 8080
|
||||
- host: cmii-uavms-security-center.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
@@ -728,7 +760,7 @@ metadata:
|
||||
type: api-gateway
|
||||
octopus.control: all-ingress-config-1.1.0
|
||||
app.kubernetes.io/managed-by: octopus-control
|
||||
app.kubernetes.io/version: 6.0.0
|
||||
app.kubernetes.io/version: 6.2.0
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||
@@ -756,3 +788,8 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-gateway
|
||||
servicePort: 8080
|
||||
- path: /devflight/uas/api/?(.*)
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uas-gateway
|
||||
servicePort: 8080
|
||||
|
||||
@@ -458,7 +458,7 @@ data:
|
||||
info:
|
||||
name: cmii-live-operator
|
||||
description: cmii-live-operator
|
||||
version: 6.0.0
|
||||
version: 6.2.0
|
||||
scanPackage: com.cmii.live.op
|
||||
cloud:
|
||||
nacos:
|
||||
@@ -468,11 +468,11 @@ data:
|
||||
server-addr: helm-nacos:8848
|
||||
extension-configs:
|
||||
- data-id: cmii-live-operator.yml
|
||||
group: 6.0.0
|
||||
group: 6.2.0
|
||||
refresh: true
|
||||
shared-configs:
|
||||
- data-id: cmii-backend-system.yml
|
||||
group: 6.0.0
|
||||
group: 6.2.0
|
||||
refresh: true
|
||||
discovery:
|
||||
enabled: false
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,187 +2,19 @@
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-traffic
|
||||
name: tenant-prefix-seniclive
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "traffic",
|
||||
AppClientId: "APP_Jc8i2wOQ1t73QEJS"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-smsecret
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "smsecret",
|
||||
ApplicationShortName: "seniclive",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-armypeople
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "armypeople",
|
||||
AppClientId: "APP_UIegse6Lfou9pO1U"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-multiterminal
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "multiterminal",
|
||||
AppClientId: "APP_PvdfRRRBPL8xbIwl"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-share
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "share",
|
||||
AppClientId: "APP_4lVSVI0ZGxTssir8"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-qingdao
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "qingdao",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-hyper
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "hyper",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-blockchain
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "blockchain",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-secenter
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "secenter",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-cmsportal
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "cmsportal",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-logistics
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "logistics",
|
||||
AppClientId: "APP_PvdfRRRBPL8xbIwl"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-qinghaitourism
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "qinghaitourism",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-securityh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "securityh5",
|
||||
AppClientId: "APP_N3ImO0Ubfu9peRHD"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-threedsimulation
|
||||
namespace: uavcloud-devflight
|
||||
@@ -198,154 +30,42 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-uas
|
||||
name: tenant-prefix-qinghaitourism
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "uas",
|
||||
ApplicationShortName: "qinghaitourism",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-dispatchh5
|
||||
name: tenant-prefix-qingdao
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "dispatchh5",
|
||||
ApplicationShortName: "qingdao",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-base
|
||||
name: tenant-prefix-scanner
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "base",
|
||||
AppClientId: "APP_9LY41OaKSqk2btY0"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-media
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "media",
|
||||
AppClientId: "APP_4AU8lbifESQO4FD6"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-open
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "open",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-pilot2cloud
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "pilot2cloud",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-awareness
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "awareness",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-pangu
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-oms
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "oms",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-jiangsuwenlv
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "jiangsuwenlv",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-uavmsmanager
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "uavmsmanager",
|
||||
ApplicationShortName: "scanner",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
@@ -379,6 +99,104 @@ data:
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-multiterminal
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "multiterminal",
|
||||
AppClientId: "APP_PvdfRRRBPL8xbIwl"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-jiangsuwenlv
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "jiangsuwenlv",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-uas
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "uas",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-classification
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "classification",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-dikongzhixingh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "dikongzhixingh5",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-cmsportal
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "cmsportal",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-oms
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "oms",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-splice
|
||||
namespace: uavcloud-devflight
|
||||
@@ -394,14 +212,70 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-smauth
|
||||
name: tenant-prefix-blockchain
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "smauth",
|
||||
ApplicationShortName: "blockchain",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-flight-control
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "flight-control",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-logistics
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "logistics",
|
||||
AppClientId: "APP_PvdfRRRBPL8xbIwl"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-media
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "media",
|
||||
AppClientId: "APP_4AU8lbifESQO4FD6"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-open
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "open",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
@@ -436,14 +310,70 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-classification
|
||||
name: tenant-prefix-pilot2cloud
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "classification",
|
||||
ApplicationShortName: "pilot2cloud",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-smauth
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "smauth",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-armypeople
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "armypeople",
|
||||
AppClientId: "APP_UIegse6Lfou9pO1U"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-hljtt
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "hljtt",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-secenter
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "secenter",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
@@ -464,14 +394,112 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-dikongzhixingh5
|
||||
name: tenant-prefix-pangu
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "dikongzhixingh5",
|
||||
ApplicationShortName: "",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-emergency
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "emergency",
|
||||
AppClientId: "APP_aGsTAY1uMZrpKdfk"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-security
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "security",
|
||||
AppClientId: "APP_JUSEMc7afyWXxvE7"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-traffic
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "traffic",
|
||||
AppClientId: "APP_Jc8i2wOQ1t73QEJS"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-smsecret
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "smsecret",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-awareness
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "awareness",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-securityh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "securityh5",
|
||||
AppClientId: "APP_N3ImO0Ubfu9peRHD"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-uavmsmanager
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "uavmsmanager",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
@@ -492,42 +520,70 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-mws
|
||||
name: tenant-prefix-supervisionh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "mws",
|
||||
AppClientId: "APP_uKniXPELlRERBBwK"
|
||||
ApplicationShortName: "supervisionh5",
|
||||
AppClientId: "APP_qqSu82THfexI8PLM"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-security
|
||||
name: tenant-prefix-base
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "security",
|
||||
AppClientId: "APP_JUSEMc7afyWXxvE7"
|
||||
ApplicationShortName: "base",
|
||||
AppClientId: "APP_9LY41OaKSqk2btY0"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-scanner
|
||||
name: tenant-prefix-share
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "scanner",
|
||||
ApplicationShortName: "share",
|
||||
AppClientId: "APP_4lVSVI0ZGxTssir8"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-dispatchh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "dispatchh5",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-hyper
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "hyper",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
@@ -562,55 +618,13 @@ data:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-emergency
|
||||
name: tenant-prefix-mws
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "emergency",
|
||||
AppClientId: "APP_aGsTAY1uMZrpKdfk"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-seniclive
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "seniclive",
|
||||
AppClientId: "empty"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-supervisionh5
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "supervisionh5",
|
||||
AppClientId: "APP_qqSu82THfexI8PLM"
|
||||
}
|
||||
---
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tenant-prefix-hljtt
|
||||
namespace: uavcloud-devflight
|
||||
data:
|
||||
ingress-config.js: |-
|
||||
var __GlobalIngressConfig = {
|
||||
TenantEnvironment: "devflight",
|
||||
CloudHOST: "lab.uavcmlc.com",
|
||||
ApplicationShortName: "hljtt",
|
||||
AppClientId: "empty"
|
||||
ApplicationShortName: "mws",
|
||||
AppClientId: "APP_uKniXPELlRERBBwK"
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@ metadata:
|
||||
type: frontend
|
||||
octopus.control: all-ingress-config-wdd
|
||||
app.kubernetes.io/managed-by: octopus-control
|
||||
app.kubernetes.io/version: 6.0.0
|
||||
app.kubernetes.io/version: 6.2.0
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||
@@ -29,6 +29,7 @@ metadata:
|
||||
rewrite ^(/dispatchh5)$ $1/ redirect;
|
||||
rewrite ^(/emergency)$ $1/ redirect;
|
||||
rewrite ^(/eventsh5)$ $1/ redirect;
|
||||
rewrite ^(/flight-control)$ $1/ redirect;
|
||||
rewrite ^(/hljtt)$ $1/ redirect;
|
||||
rewrite ^(/hyper)$ $1/ redirect;
|
||||
rewrite ^(/jiangsuwenlv)$ $1/ redirect;
|
||||
@@ -143,6 +144,11 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-platform-eventsh5
|
||||
servicePort: 9528
|
||||
- path: /devflight/flight-control/?(.*)
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uav-platform-flight-control
|
||||
servicePort: 9528
|
||||
- path: /devflight/hljtt/?(.*)
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
@@ -298,7 +304,7 @@ metadata:
|
||||
type: backend
|
||||
octopus.control: all-ingress-config-wdd
|
||||
app.kubernetes.io/managed-by: octopus-control
|
||||
app.kubernetes.io/version: 6.0.0
|
||||
app.kubernetes.io/version: 6.2.0
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||
@@ -360,6 +366,14 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-suav-supervision
|
||||
servicePort: 8080
|
||||
- host: cmii-uas-datahub.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uas-datahub
|
||||
servicePort: 8080
|
||||
- host: cmii-uas-gateway.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
@@ -560,6 +574,14 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-iot-dispatcher
|
||||
servicePort: 8080
|
||||
- host: cmii-uav-iot-manager.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uav-iot-manager
|
||||
servicePort: 8080
|
||||
- host: cmii-uav-kpi-monitor.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
@@ -696,6 +718,14 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-user
|
||||
servicePort: 8080
|
||||
- host: cmii-uav-watchdog.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uav-watchdog
|
||||
servicePort: 8080
|
||||
- host: cmii-uav-waypoint.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
@@ -704,6 +734,14 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-waypoint
|
||||
servicePort: 8080
|
||||
- host: cmii-uavms-pyfusion.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uavms-pyfusion
|
||||
servicePort: 8080
|
||||
- host: cmii-uavms-security-center.uavcloud-devflight.io
|
||||
http:
|
||||
paths:
|
||||
@@ -722,7 +760,7 @@ metadata:
|
||||
type: api-gateway
|
||||
octopus.control: all-ingress-config-1.1.0
|
||||
app.kubernetes.io/managed-by: octopus-control
|
||||
app.kubernetes.io/version: 6.0.0
|
||||
app.kubernetes.io/version: 6.2.0
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||
@@ -750,3 +788,8 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-gateway
|
||||
servicePort: 8080
|
||||
- path: /devflight/uas/api/?(.*)
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uas-gateway
|
||||
servicePort: 8080
|
||||
|
||||
@@ -458,7 +458,7 @@ data:
|
||||
info:
|
||||
name: cmii-live-operator
|
||||
description: cmii-live-operator
|
||||
version: 6.0.0
|
||||
version: 6.2.0
|
||||
scanPackage: com.cmii.live.op
|
||||
cloud:
|
||||
nacos:
|
||||
@@ -468,11 +468,11 @@ data:
|
||||
server-addr: helm-nacos:8848
|
||||
extension-configs:
|
||||
- data-id: cmii-live-operator.yml
|
||||
group: 6.0.0
|
||||
group: 6.2.0
|
||||
refresh: true
|
||||
shared-configs:
|
||||
- data-id: cmii-backend-system.yml
|
||||
group: 6.0.0
|
||||
group: 6.2.0
|
||||
refresh: true
|
||||
discovery:
|
||||
enabled: false
|
||||
|
||||
@@ -53,6 +53,9 @@ var CmiiBackendAppMap = map[string]string{
|
||||
"cmii-uav-sec-awareness": "5.7.0",
|
||||
"cmii-uav-security-trace": "5.7.0",
|
||||
"cmii-uavms-pyfusion": "5.7.0",
|
||||
"cmii-uav-iot-manager": "5.7.0",
|
||||
"cmii-uas-datahub": "5.7.0",
|
||||
"cmii-uav-watchdog": "5.7.0",
|
||||
}
|
||||
|
||||
var CmiiFrontendAppMap = map[string]string{
|
||||
@@ -115,6 +118,8 @@ var IgnoreCmiiBackendAppName = map[string]string{
|
||||
"cmii-uav-fwdd": "0",
|
||||
"cmii-uav-sync": "0",
|
||||
"cmii-uavms-security-center": "0",
|
||||
"cmii-uav-iot-manager": "0",
|
||||
"cmii-uas-datahub": "0",
|
||||
}
|
||||
|
||||
var IgnoreCmiiFrontendAppName = map[string]string{
|
||||
@@ -149,102 +154,104 @@ var CmiiGISAppMap = map[string]string{
|
||||
}
|
||||
|
||||
var MiddlewareAmd64 = []string{
|
||||
"docker.107421.xyz/bitnami/redis:6.2.6-debian-10-r0",
|
||||
"docker.107421.xyz/bitnami/redis:6.2.14-debian-11-r1",
|
||||
"docker.107421.xyz/bitnami/mysql:8.0.35-debian-11-r1",
|
||||
"docker.107421.xyz/bitnami/mysql:8.1.0-debian-11-r42",
|
||||
"docker.107421.xyz/simonrupf/chronyd:0.4.3",
|
||||
"docker.107421.xyz/bitnami/bitnami-shell:10-debian-10-r140",
|
||||
"docker.107421.xyz/bitnami/bitnami-shell:11-debian-11-r136",
|
||||
"docker.107421.xyz/bitnami/rabbitmq:3.9.12-debian-10-r3",
|
||||
"docker.107421.xyz/bitnami/rabbitmq:3.11.26-debian-11-r2",
|
||||
"docker.107421.xyz/ossrs/srs:v4.0.136",
|
||||
"docker.107421.xyz/ossrs/srs:v5.0.195",
|
||||
"docker.107421.xyz/ossrs/srs:v4.0-r3",
|
||||
"docker.107421.xyz/emqx/emqx:4.4.19",
|
||||
"docker.107421.xyz/emqx/emqx:5.5.1",
|
||||
"docker.107421.xyz/nacos/nacos-server:v2.1.2",
|
||||
"docker.107421.xyz/nacos/nacos-server:v2.1.2-slim",
|
||||
"docker.107421.xyz/library/mongo:5.0",
|
||||
"docker.107421.xyz/library/rabbitmq:3.9-management",
|
||||
"docker.107421.xyz/bitnami/minio:2022.5.4",
|
||||
"docker.107421.xyz/bitnami/minio:2023.5.4",
|
||||
"docker.107421.xyz/kubernetesui/dashboard:v2.0.1",
|
||||
"docker.107421.xyz/kubernetesui/metrics-scraper:v1.0.4",
|
||||
"docker.107421.xyz/library/nginx:1.21.3",
|
||||
"docker.107421.xyz/library/redis:6.0.20-alpine",
|
||||
"docker.107421.xyz/dyrnq/nfs-subdir-external-provisioner:v4.0.2",
|
||||
"docker.107421.xyz/jerrychina2020/rke-tools:v0.175-linux",
|
||||
"docker.107421.xyz/jerrychina2020/rke-tools:v0.175",
|
||||
"docker.107421.xyz/library/busybox:latest",
|
||||
"harbor.cdcyy.com.cn/cmii/doris.be-ubuntu:2.1.6",
|
||||
"bitnami/redis:6.2.6-debian-10-r0",
|
||||
"bitnami/redis:6.2.14-debian-11-r1",
|
||||
"bitnami/mysql:8.0.35-debian-11-r1",
|
||||
"bitnami/mysql:8.1.0-debian-11-r42",
|
||||
"simonrupf/chronyd:0.4.3",
|
||||
"bitnami/bitnami-shell:10-debian-10-r140",
|
||||
"bitnami/bitnami-shell:11-debian-11-r136",
|
||||
"bitnami/rabbitmq:3.9.12-debian-10-r3",
|
||||
"bitnami/rabbitmq:3.11.26-debian-11-r2",
|
||||
"ossrs/srs:v4.0.136",
|
||||
"ossrs/srs:v5.0.195",
|
||||
"ossrs/srs:v4.0-r3",
|
||||
"emqx/emqx:4.4.19",
|
||||
"emqx/emqx:5.5.1",
|
||||
"nacos/nacos-server:v2.1.2",
|
||||
"nacos/nacos-server:v2.1.2-slim",
|
||||
"library/mongo:5.0",
|
||||
"library/rabbitmq:3.9-management",
|
||||
"bitnami/minio:2022.5.4",
|
||||
"bitnami/minio:2023.5.4",
|
||||
"minio/minio:RELEASE.2023-06-02T23-17-26Z",
|
||||
"kubernetesui/dashboard:v2.0.1",
|
||||
"kubernetesui/metrics-scraper:v1.0.4",
|
||||
"library/nginx:1.21.3",
|
||||
"library/redis:6.0.20-alpine",
|
||||
"dyrnq/nfs-subdir-external-provisioner:v4.0.2",
|
||||
"jerrychina2020/rke-tools:v0.175-linux",
|
||||
"jerrychina2020/rke-tools:v0.175",
|
||||
"library/busybox:latest",
|
||||
"harbor.cdcyy.com.cn/cmii/doris.be-ubuntu:2.1.6",
|
||||
"harbor.cdcyy.com.cn/cmii/doris.fe-ubuntu:2.1.6",
|
||||
"harbor.cdcyy.com.cn/cmii/doris.k8s-operator:1.3.1",
|
||||
"harbor.cdcyy.com.cn/cmii/alpine:latest",
|
||||
"harbor.cdcyy.com.cn/cmii/nginx:1.27.0",
|
||||
}
|
||||
|
||||
var Rancher1204Amd64 = []string{
|
||||
"docker.107421.xyz/rancher/backup-restore-operator:v1.0.3",
|
||||
"docker.107421.xyz/rancher/calico-cni:v3.17.2",
|
||||
"docker.107421.xyz/rancher/calico-ctl:v3.17.2",
|
||||
"docker.107421.xyz/rancher/calico-kube-controllers:v3.17.2",
|
||||
"docker.107421.xyz/rancher/calico-node:v3.17.2",
|
||||
"docker.107421.xyz/rancher/calico-pod2daemon-flexvol:v3.17.2",
|
||||
"docker.107421.xyz/rancher/cis-operator:v1.0.3",
|
||||
"docker.107421.xyz/rancher/cluster-proportional-autoscaler:1.7.1",
|
||||
"docker.107421.xyz/rancher/coredns-coredns:1.8.0",
|
||||
"docker.107421.xyz/rancher/coreos-etcd:v3.4.14-rancher1",
|
||||
"docker.107421.xyz/rancher/coreos-kube-state-metrics:v1.9.7",
|
||||
"docker.107421.xyz/rancher/coreos-prometheus-config-reloader:v0.39.0",
|
||||
"docker.107421.xyz/rancher/coreos-prometheus-operator:v0.39.0",
|
||||
"docker.107421.xyz/rancher/externalip-webhook:v0.1.6",
|
||||
"docker.107421.xyz/rancher/flannel-cni:v0.3.0-rancher6",
|
||||
"docker.107421.xyz/rancher/coreos-flannel:v0.13.0-rancher1",
|
||||
"docker.107421.xyz/rancher/fleet-agent:v0.3.4",
|
||||
"docker.107421.xyz/rancher/fleet:v0.3.4",
|
||||
"docker.107421.xyz/rancher/fluentd:v0.1.24",
|
||||
"docker.107421.xyz/rancher/grafana-grafana:7.1.5",
|
||||
"docker.107421.xyz/rancher/hyperkube:v1.20.4-rancher1",
|
||||
"docker.107421.xyz/rancher/jimmidyson-configmap-reload:v0.3.0",
|
||||
"docker.107421.xyz/rancher/k8s-dns-dnsmasq-nanny:1.15.2",
|
||||
"docker.107421.xyz/rancher/k8s-dns-kube-dns:1.15.2",
|
||||
"docker.107421.xyz/rancher/k8s-dns-node-cache:1.15.13",
|
||||
"docker.107421.xyz/rancher/k8s-dns-sidecar:1.15.2",
|
||||
"docker.107421.xyz/rancher/klipper-lb:v0.1.2",
|
||||
"docker.107421.xyz/rancher/kube-api-auth:v0.1.4",
|
||||
"docker.107421.xyz/rancher/kubectl:v1.20.4",
|
||||
"docker.107421.xyz/rancher/kubernetes-external-dns:v0.7.3",
|
||||
"docker.107421.xyz/rancher/cluster-proportional-autoscaler:1.8.1",
|
||||
"docker.107421.xyz/rancher/library-busybox:1.31.1",
|
||||
"docker.107421.xyz/rancher/library-busybox:1.32.1",
|
||||
"docker.107421.xyz/rancher/library-nginx:1.19.2-alpine",
|
||||
"docker.107421.xyz/rancher/library-traefik:1.7.19",
|
||||
"docker.107421.xyz/rancher/local-path-provisioner:v0.0.11",
|
||||
"docker.107421.xyz/rancher/local-path-provisioner:v0.0.14",
|
||||
"docker.107421.xyz/rancher/local-path-provisioner:v0.0.19",
|
||||
"docker.107421.xyz/rancher/log-aggregator:v0.1.7",
|
||||
"docker.107421.xyz/rancher/istio-kubectl:1.5.10",
|
||||
"docker.107421.xyz/rancher/metrics-server:v0.4.1",
|
||||
"docker.107421.xyz/rancher/configmap-reload:v0.3.0-rancher4",
|
||||
"docker.107421.xyz/rancher/nginx-ingress-controller-defaultbackend:1.5-rancher1",
|
||||
"docker.107421.xyz/rancher/nginx-ingress-controller:nginx-0.43.0-rancher1",
|
||||
"docker.107421.xyz/rancher/opa-gatekeeper:v3.1.0-beta.7",
|
||||
"docker.107421.xyz/rancher/openzipkin-zipkin:2.14.2",
|
||||
"docker.107421.xyz/rancher/pause:3.2",
|
||||
"docker.107421.xyz/rancher/plugins-docker:18.09",
|
||||
"docker.107421.xyz/rancher/prom-alertmanager:v0.21.0",
|
||||
"docker.107421.xyz/rancher/prom-node-exporter:v1.0.1",
|
||||
"docker.107421.xyz/rancher/prom-prometheus:v2.18.2",
|
||||
"docker.107421.xyz/rancher/prometheus-auth:v0.2.1",
|
||||
"docker.107421.xyz/rancher/rancher-agent:v2.5.7",
|
||||
"docker.107421.xyz/rancher/rancher-webhook:v0.1.0-beta9",
|
||||
"docker.107421.xyz/rancher/rancher:v2.5.7",
|
||||
"docker.107421.xyz/rancher/rke-tools:v0.1.72",
|
||||
"docker.107421.xyz/rancher/security-scan:v0.1.14",
|
||||
"docker.107421.xyz/rancher/security-scan:v0.2.2",
|
||||
"docker.107421.xyz/rancher/shell:v0.1.6",
|
||||
"docker.107421.xyz/rancher/sonobuoy-sonobuoy:v0.16.3",
|
||||
"docker.107421.xyz/rancher/system-upgrade-controller:v0.6.2",
|
||||
"rancher/backup-restore-operator:v1.0.3",
|
||||
"rancher/calico-cni:v3.17.2",
|
||||
"rancher/calico-ctl:v3.17.2",
|
||||
"rancher/calico-kube-controllers:v3.17.2",
|
||||
"rancher/calico-node:v3.17.2",
|
||||
"rancher/calico-pod2daemon-flexvol:v3.17.2",
|
||||
"rancher/cis-operator:v1.0.3",
|
||||
"rancher/cluster-proportional-autoscaler:1.7.1",
|
||||
"rancher/coredns-coredns:1.8.0",
|
||||
"rancher/coreos-etcd:v3.4.14-rancher1",
|
||||
"rancher/coreos-kube-state-metrics:v1.9.7",
|
||||
"rancher/coreos-prometheus-config-reloader:v0.39.0",
|
||||
"rancher/coreos-prometheus-operator:v0.39.0",
|
||||
"rancher/externalip-webhook:v0.1.6",
|
||||
"rancher/flannel-cni:v0.3.0-rancher6",
|
||||
"rancher/coreos-flannel:v0.13.0-rancher1",
|
||||
"rancher/fleet-agent:v0.3.4",
|
||||
"rancher/fleet:v0.3.4",
|
||||
"rancher/fluentd:v0.1.24",
|
||||
"rancher/grafana-grafana:7.1.5",
|
||||
"rancher/hyperkube:v1.20.4-rancher1",
|
||||
"rancher/jimmidyson-configmap-reload:v0.3.0",
|
||||
"rancher/k8s-dns-dnsmasq-nanny:1.15.2",
|
||||
"rancher/k8s-dns-kube-dns:1.15.2",
|
||||
"rancher/k8s-dns-node-cache:1.15.13",
|
||||
"rancher/k8s-dns-sidecar:1.15.2",
|
||||
"rancher/klipper-lb:v0.1.2",
|
||||
"rancher/kube-api-auth:v0.1.4",
|
||||
"rancher/kubectl:v1.20.4",
|
||||
"rancher/kubernetes-external-dns:v0.7.3",
|
||||
"rancher/cluster-proportional-autoscaler:1.8.1",
|
||||
"rancher/library-busybox:1.31.1",
|
||||
"rancher/library-busybox:1.32.1",
|
||||
"rancher/library-nginx:1.19.2-alpine",
|
||||
"rancher/library-traefik:1.7.19",
|
||||
"rancher/local-path-provisioner:v0.0.11",
|
||||
"rancher/local-path-provisioner:v0.0.14",
|
||||
"rancher/local-path-provisioner:v0.0.19",
|
||||
"rancher/log-aggregator:v0.1.7",
|
||||
"rancher/istio-kubectl:1.5.10",
|
||||
"rancher/metrics-server:v0.4.1",
|
||||
"rancher/configmap-reload:v0.3.0-rancher4",
|
||||
"rancher/nginx-ingress-controller-defaultbackend:1.5-rancher1",
|
||||
"rancher/nginx-ingress-controller:nginx-0.43.0-rancher1",
|
||||
"rancher/opa-gatekeeper:v3.1.0-beta.7",
|
||||
"rancher/openzipkin-zipkin:2.14.2",
|
||||
"rancher/pause:3.2",
|
||||
"rancher/plugins-docker:18.09",
|
||||
"rancher/prom-alertmanager:v0.21.0",
|
||||
"rancher/prom-node-exporter:v1.0.1",
|
||||
"rancher/prom-prometheus:v2.18.2",
|
||||
"rancher/prometheus-auth:v0.2.1",
|
||||
"rancher/rancher-agent:v2.5.7",
|
||||
"rancher/rancher-webhook:v0.1.0-beta9",
|
||||
"rancher/rancher:v2.5.7",
|
||||
"rancher/rke-tools:v0.1.72",
|
||||
"rancher/security-scan:v0.1.14",
|
||||
"rancher/security-scan:v0.2.2",
|
||||
"rancher/shell:v0.1.6",
|
||||
"rancher/sonobuoy-sonobuoy:v0.16.3",
|
||||
"rancher/system-upgrade-controller:v0.6.2",
|
||||
}
|
||||
|
||||
var CmiiSRSImageList = []string{
|
||||
|
||||
@@ -75,6 +75,42 @@ spec:
|
||||
value: "developer"
|
||||
- name: NACOS_PASSWORD
|
||||
value: "Deve@9128201"
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
- name: NODE_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.hostIP
|
||||
- name: LIMIT_CPU
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: {{ .AppName }}
|
||||
resource: limits.cpu
|
||||
- name: LIMIT_MEMORY
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: {{ .AppName }}
|
||||
resource: limits.memory
|
||||
- name: REQUEST_CPU
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: {{ .AppName }}
|
||||
resource: requests.cpu
|
||||
- name: REQUEST_MEMORY
|
||||
valueFrom:
|
||||
resourceFieldRef:
|
||||
containerName: {{ .AppName }}
|
||||
resource: requests.memory
|
||||
ports:
|
||||
- name: pod-port
|
||||
containerPort: 8080
|
||||
|
||||
@@ -188,6 +188,11 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-gateway
|
||||
servicePort: 8080
|
||||
- path: /{{ $tenantEnv }}/uas/api/?(.*)
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uas-gateway
|
||||
servicePort: 8080
|
||||
{{- else }}
|
||||
- path: /oms/api/?(.*)
|
||||
pathType: ImplementationSpecific
|
||||
@@ -204,5 +209,10 @@ spec:
|
||||
backend:
|
||||
serviceName: cmii-uav-gateway
|
||||
servicePort: 8080
|
||||
- path: /uas/api/?(.*)
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
serviceName: cmii-uas-gateway
|
||||
servicePort: 8080
|
||||
{{- end }}
|
||||
`
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -24,7 +24,7 @@ func init() {
|
||||
case "linux":
|
||||
DeployFilePrefix = "/root/wddproject/ProjectOctopus/agent-common/real_project/"
|
||||
case "windows":
|
||||
DeployFilePrefix = "C:\\Users\\wdd\\IdeaProjects\\ProjectOctopus\\agent-common\\real_project\\"
|
||||
DeployFilePrefix = "C:\\Users\\wdd\\Documents\\IdeaProjects\\ProjectOctopus\\agent-common\\real_project\\"
|
||||
//DeployFilePrefix = "C:\\Users\\wddsh\\Documents\\IdeaProjects\\ProjectOctopus\\agent-common\\real_project\\"
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ func TestCmiiEnvDeploy(t *testing.T) {
|
||||
HarborIPOrCustomImagePrefix: image2.CmiiHarborPrefix,
|
||||
HarborPort: "",
|
||||
Namespace: deployNamespace,
|
||||
TagVersion: "6.0.0",
|
||||
TagVersion: "6.2.0",
|
||||
TenantEnv: "devflight",
|
||||
MinioPublicIP: "",
|
||||
MinioInnerIP: "127.0.0.1",
|
||||
@@ -341,6 +341,27 @@ func TestCmiiEnvDeploy_LiaoNingYingJiPingTai(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
func TestCmiiEnvDeploy_NeiMengGuEErDuoSiJiChang(t *testing.T) {
|
||||
|
||||
// 内蒙古鄂尔多斯
|
||||
commonEnv := &z_dep.CommonEnvironmentConfig{
|
||||
WebIP: "172.16.100.55",
|
||||
WebPort: "8088",
|
||||
HarborIPOrCustomImagePrefix: "172.16.100.55",
|
||||
HarborPort: "8033",
|
||||
Namespace: "eedsjc-uavms",
|
||||
TagVersion: "6.2.0",
|
||||
TenantEnv: "",
|
||||
MinioPublicIP: "",
|
||||
MinioInnerIP: "172.16.100.61",
|
||||
NFSServerIP: "172.16.100.61",
|
||||
ApplyFilePrefix: "",
|
||||
}
|
||||
|
||||
CmiiEnvDeployOffline(commonEnv, true, real_project.Cmii620ImageList)
|
||||
|
||||
}
|
||||
|
||||
func TestCmiiEnvDeploy_ZhuHaiHengQing(t *testing.T) {
|
||||
|
||||
// 珠海横琴
|
||||
|
||||
@@ -146,8 +146,57 @@ func addBaseSubcommands(cmd *cobra.Command) {
|
||||
|
||||
// 清空路由表
|
||||
log.Info("清空路由表...")
|
||||
op.HardCodeCommandExecutor("iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -t raw -F")
|
||||
op.HardCodeCommandExecutor("ip6tables -F && ip6tables -t nat -F && ip6tables -t mangle -F && ip6tables -t raw -F")
|
||||
|
||||
commandExecutor := [][]string{
|
||||
{
|
||||
"iptables",
|
||||
"-F",
|
||||
},
|
||||
{
|
||||
"iptables",
|
||||
"-t",
|
||||
"nat",
|
||||
"-F",
|
||||
},
|
||||
{
|
||||
"iptables",
|
||||
"-t",
|
||||
"mangle",
|
||||
"-F",
|
||||
},
|
||||
{
|
||||
"iptables",
|
||||
"-t",
|
||||
"raw",
|
||||
"-F",
|
||||
},
|
||||
{
|
||||
"ip6tables",
|
||||
"-F",
|
||||
},
|
||||
{
|
||||
"ip6tables",
|
||||
"-t",
|
||||
"nat",
|
||||
"-F",
|
||||
},
|
||||
{
|
||||
"ip6tables",
|
||||
"-t",
|
||||
"mangle",
|
||||
"-F",
|
||||
},
|
||||
{
|
||||
"ip6tables",
|
||||
"-t",
|
||||
"raw",
|
||||
"-F",
|
||||
},
|
||||
}
|
||||
|
||||
for _, command := range commandExecutor {
|
||||
op.SingleLineCommandExecutor(command)
|
||||
}
|
||||
|
||||
log.Info("Firewall 关闭成功!")
|
||||
},
|
||||
@@ -220,6 +269,7 @@ func addBaseSubcommands(cmd *cobra.Command) {
|
||||
cmd.AddCommand(
|
||||
dockerCmd,
|
||||
dockerComposeCmd,
|
||||
harborCmd,
|
||||
swapCmd,
|
||||
commonToolsInstall,
|
||||
selinuxCmd,
|
||||
@@ -246,10 +296,13 @@ func addHarborSubcommands(harborCmd *cobra.Command) {
|
||||
}
|
||||
|
||||
// 解压harbor
|
||||
utils.UnzipFile(harborLocalInstallPath, "/root/wdd/harbor")
|
||||
utils.UnzipFile(harborLocalInstallPath, "/root/wdd/")
|
||||
|
||||
// 获取本机的内网IPv4地址
|
||||
configCache := config.ConfigCache
|
||||
if len(configCache.Agent.Network.Interfaces) == 0 {
|
||||
log.Error("没有获取到本机的ipv4地址,无法安装harbor! 请执行 info all !")
|
||||
}
|
||||
ip := configCache.Agent.Network.Interfaces[0].IPv4
|
||||
|
||||
if ip == "" {
|
||||
@@ -266,11 +319,9 @@ func addHarborSubcommands(harborCmd *cobra.Command) {
|
||||
return
|
||||
}
|
||||
|
||||
// 进入harbor目录
|
||||
os.Chdir("/root/wdd/harbor")
|
||||
|
||||
// 运行install.sh
|
||||
ok, log1 := op.HardCodeCommandExecutor("bash install.sh")
|
||||
op.SingleLineCommandExecutor([]string{"cd", "/root/wdd/harbor"})
|
||||
ok, log1 := op.RealTimeCommandExecutor([]string{"/bin/bash", "/root/wdd/harbor/install.sh"})
|
||||
if !ok {
|
||||
log.Error("安装harbor失败: %s", log1)
|
||||
return
|
||||
@@ -314,18 +365,16 @@ func addHarborSubcommands(harborCmd *cobra.Command) {
|
||||
return
|
||||
}
|
||||
|
||||
// 进入harbor目录
|
||||
os.Chdir("/root/wdd/harbor")
|
||||
|
||||
// 启动harbor
|
||||
ok, log1 := op.HardCodeCommandExecutor("docker-compose up -d")
|
||||
op.SingleLineCommandExecutor([]string{"cd", "/root/wdd/harbor"})
|
||||
ok, log1 := op.SingleLineCommandExecutor([]string{"docker-compose", "up", "-d"})
|
||||
if !ok {
|
||||
log.Error("启动harbor失败: %s", log1)
|
||||
return
|
||||
}
|
||||
|
||||
// 等待5秒
|
||||
time.Sleep(5 * time.Second)
|
||||
// 等待10秒
|
||||
time.Sleep(10 * time.Second)
|
||||
|
||||
// 检查harbor是否启动成功
|
||||
if !checkHarborIsRunning() {
|
||||
@@ -357,7 +406,7 @@ func addHarborSubcommands(harborCmd *cobra.Command) {
|
||||
os.Chdir("/root/wdd/harbor")
|
||||
|
||||
// 停止harbor
|
||||
ok, log1 := op.HardCodeCommandExecutor("docker-compose down")
|
||||
ok, log1 := op.SingleLineCommandExecutor([]string{"docker-compose", "down"})
|
||||
if !ok {
|
||||
log.Error("停止harbor失败: %s", log1)
|
||||
return
|
||||
@@ -372,14 +421,30 @@ func addHarborSubcommands(harborCmd *cobra.Command) {
|
||||
harborCmd.AddCommand(harborInstallCmd, harborUninstallCmd, harborStartCmd, harborStopCmd)
|
||||
}
|
||||
|
||||
// checkHarborIsRunning 检查harbor是否运行
|
||||
// checkHarborIsRunning 检查harbor是否运行 如果存在Exit 或者 Restarting 则表示有错误!
|
||||
func checkHarborIsRunning() bool {
|
||||
ok, log2 := op.HardCodeCommandExecutor("docker ps -a | grep goharbor/ | grep -E 'Exit|Restarting' | wc -l")
|
||||
if !ok {
|
||||
log.Error("查看harbor容器是否存在失败: %s", log2)
|
||||
return false
|
||||
}
|
||||
if strings.TrimSpace(log2[0]) != "0" {
|
||||
_, resultLog := op.PipeLineCommandExecutor([][]string{
|
||||
{
|
||||
"docker",
|
||||
"ps",
|
||||
"-a",
|
||||
},
|
||||
{
|
||||
"grep",
|
||||
"goharbor/",
|
||||
},
|
||||
{
|
||||
"grep",
|
||||
"-E",
|
||||
"'Exit|Restarting'",
|
||||
},
|
||||
{
|
||||
"wc",
|
||||
"-l",
|
||||
},
|
||||
})
|
||||
|
||||
if strings.TrimSpace(resultLog[0]) != "0" {
|
||||
log.Error("harbor启动失败! 请检查日志!")
|
||||
return false
|
||||
}
|
||||
@@ -605,7 +670,21 @@ func addDockerSubcommands(cmd *cobra.Command) {
|
||||
// apt-cache madison docker-ce | grep 20.10.20 | awk '{print$3}'
|
||||
|
||||
// get by method
|
||||
ok, log4 := op.HardCodeCommandExecutor("apt-cache madison docker-ce | grep 20.10.20 | awk '{print$3}'")
|
||||
ok, log4 := op.PipeLineCommandExecutor([][]string{
|
||||
{
|
||||
"apt-cache",
|
||||
"madison",
|
||||
"docker-ce",
|
||||
},
|
||||
{
|
||||
"grep",
|
||||
"20.10.20",
|
||||
},
|
||||
{
|
||||
"awk",
|
||||
"'{print$3}'",
|
||||
},
|
||||
})
|
||||
if ok && log4 != nil && len(log4) > 0 {
|
||||
specificDockerVersion = strings.TrimSpace(log4[0])
|
||||
fmt.Println("get docker version from online => " + specificDockerVersion)
|
||||
@@ -706,14 +785,7 @@ func addDockerSubcommands(cmd *cobra.Command) {
|
||||
}
|
||||
|
||||
// 解压文件
|
||||
utils.UnzipFile(dockerLocalInstallPath, "/root/wdd")
|
||||
|
||||
// 安装docker
|
||||
err := utils.MoveFolerToAnother("/root/wdd/docker", "/usr/bin")
|
||||
if err != nil {
|
||||
log.Error("Failed to move Docker binaries: %s", err.Error())
|
||||
return
|
||||
}
|
||||
utils.UnzipFile(dockerLocalInstallPath, "/root/wdd/")
|
||||
|
||||
// 设置权限
|
||||
dockerBinList := []string{
|
||||
@@ -728,11 +800,22 @@ func addDockerSubcommands(cmd *cobra.Command) {
|
||||
"containerd-shim-runc-v2",
|
||||
}
|
||||
|
||||
// 删除旧的docker 二进制文件
|
||||
for _, bin := range dockerBinList {
|
||||
ok, resultLog := op.HardCodeCommandExecutor("chmod 777 /usr/bin/" + bin)
|
||||
utils.RemoveFile("/usr/bin/" + bin)
|
||||
}
|
||||
|
||||
// 安装docker
|
||||
err := utils.MoveFolerToAnother("/root/wdd/docker/", "/usr/bin")
|
||||
if err != nil {
|
||||
log.Error("Failed to move Docker binaries: %s", err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
for _, bin := range dockerBinList {
|
||||
ok, resultLog := op.SingleLineCommandExecutor([]string{"chmod", "777", "/usr/bin/" + bin})
|
||||
if !ok {
|
||||
log.Error("Failed to set permissions for Docker binaries: %s", resultLog)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@@ -910,7 +993,7 @@ func addDockerComposeSubcommands(cmd *cobra.Command) {
|
||||
op.SingleLineCommandExecutor(linkCmd)
|
||||
|
||||
// 验证安装
|
||||
verifyCmd := []string{"docker-compose", "--version"}
|
||||
verifyCmd := []string{"/usr/local/bin/docker-compose", "version"}
|
||||
ok, resultLog = op.SingleLineCommandExecutor(verifyCmd)
|
||||
if !ok {
|
||||
log.Error("Docker Compose 安装验证失败: %s", resultLog)
|
||||
@@ -950,7 +1033,7 @@ func addDockerComposeSubcommands(cmd *cobra.Command) {
|
||||
}
|
||||
|
||||
// move file to /usr/local/bin
|
||||
err := utils.MoveFileToAnother(dockerComposeLocalInstallPath, "/usr/local/bin")
|
||||
err := utils.MoveFileToAnother(dockerComposeLocalInstallPath, "/usr/local/bin/docker-compose")
|
||||
if err != nil {
|
||||
log.Error("Failed to move Docker Compose binaries: %s", err.Error())
|
||||
return
|
||||
@@ -964,6 +1047,18 @@ func addDockerComposeSubcommands(cmd *cobra.Command) {
|
||||
return
|
||||
}
|
||||
|
||||
// 创建软链接
|
||||
linkCmd := []string{"ln", "-sf", "/usr/local/bin/docker-compose", "/usr/bin/docker-compose"}
|
||||
op.SingleLineCommandExecutor(linkCmd)
|
||||
|
||||
// 验证安装
|
||||
verifyCmd := []string{"/usr/local/bin/docker-compose", "version"}
|
||||
ok, resultLog = op.SingleLineCommandExecutor(verifyCmd)
|
||||
if !ok {
|
||||
log.Error("Docker Compose 安装验证失败: %s", resultLog)
|
||||
return
|
||||
}
|
||||
|
||||
log.Info("Docker Compose installed successfully from local file!")
|
||||
},
|
||||
}
|
||||
|
||||
@@ -288,7 +288,7 @@ func installXray() {
|
||||
os.Chmod("/tmp/install-release.sh", 0777)
|
||||
|
||||
// 执行安装脚本
|
||||
ok, resultLog := op.HardCodeCommandExecutor("/bin/bash /tmp/install-release.sh -u root install")
|
||||
ok, resultLog := op.SingleLineCommandExecutor([]string{"/bin/bash", "/tmp/install-release.sh", "-u", "root", "install"})
|
||||
if !ok {
|
||||
log.Error("Install Xray failed ! error is %s", resultLog)
|
||||
return
|
||||
|
||||
@@ -38,7 +38,6 @@ func addZshSubcommands(cmd *cobra.Command) {
|
||||
// 清理残留
|
||||
utils.RemoveFolderComplete("/root/.oh-my-zsh")
|
||||
utils.RemoveFolderComplete("/root/wdd/zsh-install.sh")
|
||||
utils.RemoveFolderComplete("/root/wdd/oh-my-zsh-plugins-list.txt")
|
||||
|
||||
ohMyZshInstallUrl := ""
|
||||
|
||||
@@ -61,28 +60,43 @@ func addZshSubcommands(cmd *cobra.Command) {
|
||||
})
|
||||
|
||||
installZshCommand := []string{
|
||||
"/bin/bash",
|
||||
"sh",
|
||||
"-c",
|
||||
"/root/wdd/zsh-install.sh",
|
||||
}
|
||||
|
||||
if config.ConfigCache.Agent.Network.Internet == 7 {
|
||||
installZshCommand = append(installZshCommand,
|
||||
op.SingleLineCommandExecutor([]string{
|
||||
"export",
|
||||
"REMOTE=https://gitea.107421.xyz/zeaslity/ohmyzsh.git",
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
op.SingleLineCommandExecutor(installZshCommand)
|
||||
// 执行 oh-my-zsh 安装命令
|
||||
op.RealTimeCommandExecutor(installZshCommand)
|
||||
|
||||
log.Info("安装zsh完成, 开始安装插件!")
|
||||
|
||||
pluginsHardCodeUrl := []string{
|
||||
"/usr/bin/git clone https://gitee.com/wangl-cc/zsh-autosuggestions.git /root/.oh-my-zsh/plugins/zsh-autosuggestions",
|
||||
"/usr/bin/git clone https://gitee.com/xiaoqqya/zsh-syntax-highlighting.git /root/.oh-my-zsh/plugins/zsh-syntax-highlighting",
|
||||
pluginsHardCodeUrl := [][]string{
|
||||
{
|
||||
"https://gitee.com/wangl-cc/zsh-autosuggestions.git",
|
||||
"/root/.oh-my-zsh/plugins/zsh-autosuggestions",
|
||||
},
|
||||
{
|
||||
"https://gitee.com/xiaoqqya/zsh-syntax-highlighting.git",
|
||||
"/root/.oh-my-zsh/plugins/zsh-syntax-highlighting",
|
||||
},
|
||||
}
|
||||
|
||||
pluginsHardCodeOutsideUrl := []string{
|
||||
"/usr/bin/git clone https://github.com/zsh-users/zsh-autosuggestions /root/.oh-my-zsh/plugins/zsh-autosuggestions",
|
||||
"/usr/bin/git clone https://github.com/zsh-users/zsh-syntax-highlighting.git /root/.oh-my-zsh/plugins/zsh-syntax-highlighting",
|
||||
pluginsHardCodeOutsideUrl := [][]string{
|
||||
{
|
||||
"https://github.com/zsh-users/zsh-autosuggestions",
|
||||
"/root/.oh-my-zsh/plugins/zsh-autosuggestions",
|
||||
},
|
||||
{
|
||||
"https://github.com/zsh-users/zsh-syntax-highlighting.git",
|
||||
"/root/.oh-my-zsh/plugins/zsh-syntax-highlighting",
|
||||
},
|
||||
}
|
||||
|
||||
pluginsListUrl := []string{
|
||||
@@ -91,26 +105,17 @@ func addZshSubcommands(cmd *cobra.Command) {
|
||||
"https://gitea.107421.xyz/zeaslity/ohmyzsh/src/branch/master/plugins/themes/themes.plugin.zsh",
|
||||
}
|
||||
|
||||
if config.ConfigCache.Agent.Network.Internet == 7 {
|
||||
log.Info("使用gitea镜像安装插件!")
|
||||
pluginsHardCodeUrl = append(pluginsHardCodeUrl,
|
||||
"wget -c -i https://b2.107421.xyz/oh-my-zsh-plugins-list.txt -P /root/.oh-my-zsh/plugins/",
|
||||
)
|
||||
|
||||
} else {
|
||||
log.Info("使用github安装插件!")
|
||||
}
|
||||
// 下载插件
|
||||
if config.ConfigCache.Agent.Network.Internet == 7 {
|
||||
// 执行硬编码命令, 安装插件
|
||||
for _, command := range pluginsHardCodeUrl {
|
||||
op.HardCodeCommandExecutor(command)
|
||||
op.SingleLineCommandExecutor([]string{"git", "clone", command[0], command[1]})
|
||||
}
|
||||
|
||||
} else {
|
||||
// 执行硬编码命令, 安装插件 国外
|
||||
for _, command := range pluginsHardCodeOutsideUrl {
|
||||
op.HardCodeCommandExecutor(command)
|
||||
op.SingleLineCommandExecutor([]string{"git", "clone", command[0], command[1]})
|
||||
}
|
||||
}
|
||||
// 下载插件
|
||||
|
||||
@@ -43,7 +43,7 @@ LimitNOFILE=infinity
|
||||
TasksMax=infinity
|
||||
OOMScoreAdjust=-999
|
||||
|
||||
[installPrefix]
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
`
|
||||
|
||||
@@ -57,7 +57,7 @@ SocketMode=0660
|
||||
SocketUser=root
|
||||
SocketGroup=docker
|
||||
|
||||
[installPrefix]
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
||||
`
|
||||
|
||||
@@ -107,7 +107,7 @@ Delegate=yes
|
||||
KillMode=process
|
||||
OOMScoreAdjust=-500
|
||||
|
||||
[installPrefix]
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
`
|
||||
|
||||
|
||||
@@ -155,6 +155,7 @@ func judgeCanConnectInternet() int {
|
||||
func (p PublicInfo) GetPublicInfo() PublicInfo {
|
||||
|
||||
// 无法联网, 假信息
|
||||
|
||||
fakePublicInfo := PublicInfo{
|
||||
IPv4: "1.1.1.1",
|
||||
IPv6: "2400::1",
|
||||
|
||||
@@ -15,6 +15,7 @@ try {
|
||||
|
||||
Write-Host "4. Exec the command ..." -ForegroundColor Blue
|
||||
Write-Host ""
|
||||
|
||||
Write-Host ""
|
||||
ssh root@192.168.35.71 "chmod +x agent-wdd_linux_amd64 && ./agent-wdd_linux_amd64 help"
|
||||
Write-Host ""
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"os/exec"
|
||||
"strings"
|
||||
)
|
||||
@@ -17,12 +18,12 @@ import (
|
||||
// []string - 合并后的标准输出和标准错误内容(按行分割)
|
||||
func SingleLineCommandExecutor(singleLineCommand []string) (ok bool, resultLog []string) {
|
||||
|
||||
log.Info("[Excutor] - start => %v", singleLineCommand)
|
||||
|
||||
if len(singleLineCommand) == 0 {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
log.Info("start => %v", strings.Join(singleLineCommand, " "))
|
||||
|
||||
// 创建命令实例
|
||||
cmd := exec.Command(singleLineCommand[0], singleLineCommand[1:]...)
|
||||
|
||||
@@ -79,13 +80,21 @@ func PipeLineCommandExecutor(pipeLineCommand [][]string) (ok bool, resultLog []s
|
||||
return false, nil
|
||||
}
|
||||
|
||||
// 转换为 管道命令的字符串格式
|
||||
// [][]string{{"ps", "aux"}, {"grep", "nginx"}, {"wc", "-l"}} 转换为 ps aux | grep nginx | wc -l
|
||||
pipeLineCommandStr := ""
|
||||
|
||||
// 预检所有子命令
|
||||
for _, cmd := range pipeLineCommand {
|
||||
if len(cmd) == 0 {
|
||||
return false, nil
|
||||
}
|
||||
pipeLineCommandStr += fmt.Sprintf("%s | ", strings.Join(cmd, " "))
|
||||
}
|
||||
|
||||
pipeLineCommandStr = strings.TrimSuffix(pipeLineCommandStr, " | ")
|
||||
log.Info("start => %v", pipeLineCommandStr)
|
||||
|
||||
// 创建命令组
|
||||
cmds := make([]*exec.Cmd, len(pipeLineCommand))
|
||||
for i, args := range pipeLineCommand {
|
||||
@@ -161,37 +170,46 @@ func PipeLineCommandExecutor(pipeLineCommand [][]string) (ok bool, resultLog []s
|
||||
return success, output
|
||||
}
|
||||
|
||||
// HardCodeCommandExecutor 执行硬编码命令,返回执行结果和输出内容
|
||||
// hardCodeCommand: 硬编码命令,如 "echo hello"
|
||||
// RealTimeCommandExecutor 执行命令,需要实时打印输出执行命令的日志,并返回执行结果和输出内容
|
||||
// realTimeCommand: 实时命令,如 "docker load -i /root/wdd/harbor/harbor-offline-installer-v2.10.1.tgz"
|
||||
// 返回值:
|
||||
//
|
||||
// bool - 命令是否执行成功(true为成功,false为失败)
|
||||
// []string - 合并后的标准输出和标准错误内容(按行分割)
|
||||
func HardCodeCommandExecutor(hardCodeCommand string) (ok bool, resultLog []string) {
|
||||
|
||||
log.Info("[HardCodeCommandExecutor] - start => %v", hardCodeCommand)
|
||||
|
||||
if hardCodeCommand == "" {
|
||||
func RealTimeCommandExecutor(realTimeCommand []string) (ok bool, resultLog []string) {
|
||||
if len(realTimeCommand) == 0 {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
// 执行命令
|
||||
cmd := exec.Command(hardCodeCommand)
|
||||
log.Info("start real time command => %v", strings.Join(realTimeCommand, " "))
|
||||
|
||||
// 执行命令并获取错误信息
|
||||
err := cmd.Run()
|
||||
cmd := exec.Command(realTimeCommand[0], realTimeCommand[1:]...)
|
||||
|
||||
stdout, err := cmd.StdoutPipe()
|
||||
if err != nil {
|
||||
return false, []string{"HardCodeCommandExecutor " + hardCodeCommand + " 执行命令失败", err.Error()}
|
||||
return false, []string{err.Error()}
|
||||
}
|
||||
|
||||
// 合并输出结果
|
||||
stdoutBuf := bytes.Buffer{}
|
||||
stderrBuf := bytes.Buffer{}
|
||||
cmd.Stdout = &stdoutBuf
|
||||
cmd.Stderr = &stderrBuf
|
||||
stderr, err := cmd.StderrPipe()
|
||||
if err != nil {
|
||||
return false, []string{err.Error()}
|
||||
}
|
||||
|
||||
output := mergeOutput(&stdoutBuf, &stderrBuf)
|
||||
if err := cmd.Start(); err != nil {
|
||||
return false, []string{err.Error()}
|
||||
}
|
||||
|
||||
output := make([]string, 0)
|
||||
scanner := bufio.NewScanner(io.MultiReader(stdout, stderr))
|
||||
for scanner.Scan() {
|
||||
line := scanner.Text()
|
||||
fmt.Println(line)
|
||||
output = append(output, line)
|
||||
}
|
||||
|
||||
if err := cmd.Wait(); err != nil {
|
||||
return false, append(output, err.Error())
|
||||
}
|
||||
|
||||
return true, output
|
||||
}
|
||||
|
||||
@@ -21,12 +21,12 @@ Set-Location "C:\Users\wddsh\Documents\IdeaProjects\ProjectOctopus\agent-wdd\tes
|
||||
|
||||
# 删除上面存在的旧的内容
|
||||
mc.exe rm oracle-seoul-2/seoul-2/agent-wdd_linux_amd64
|
||||
mc.exe rm oracle-seoul-2/seoul-2/test-shell.sh
|
||||
# mc.exe rm oracle-seoul-2/seoul-2/test-shell.sh
|
||||
|
||||
|
||||
# 上传文件
|
||||
mc.exe cp C:\Users\wddsh\Documents\IdeaProjects\ProjectOctopus\agent-wdd\build\agent-wdd_linux_amd64 oracle-seoul-2/seoul-2/
|
||||
mc.exe cp C:\Users\wddsh\Documents\IdeaProjects\ProjectOctopus\agent-wdd\test\test-shell.sh oracle-seoul-2/seoul-2/
|
||||
# mc.exe cp C:\Users\wddsh\Documents\IdeaProjects\ProjectOctopus\agent-wdd\test\test-shell.sh oracle-seoul-2/seoul-2/
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -8,17 +8,15 @@ wget https://pan.107421.xyz/d/oracle-seoul-2/agent-wdd_linux_amd64 -qO /usr/loca
|
||||
chmod +x /usr/local/bin/agent-wdd
|
||||
|
||||
|
||||
wget https://pan.107421.xyz/d/oracle-seoul-2/test-shell.sh -qO /usr/local/bin/test-shell.sh
|
||||
|
||||
chmod +x /usr/local/bin/test-shell.sh
|
||||
|
||||
/usr/local/bin/agent-wdd info all
|
||||
cat /usr/local/etc/wdd/agent-wdd-config.yaml
|
||||
|
||||
|
||||
|
||||
/usr/local/bin/agent-wdd base firewall
|
||||
|
||||
/usr/local/bin/agent-wdd base ssh config
|
||||
/usr/local/bin/agent-wdd base ssh key
|
||||
|
||||
/usr/local/bin/agent-wdd proxy xray install
|
||||
/usr/local/bin/agent-wdd proxy vmess 22443
|
||||
|
||||
@@ -26,8 +24,6 @@ cat /usr/local/etc/wdd/agent-wdd-config.yaml
|
||||
#bash /usr/local/bin/test-shell.sh
|
||||
|
||||
|
||||
|
||||
|
||||
/usr/local/bin/agent-wdd info network
|
||||
/usr/local/bin/agent-wdd info cpu
|
||||
/usr/local/bin/agent-wdd info mem
|
||||
@@ -36,14 +32,14 @@ cat /usr/local/etc/wdd/agent-wdd-config.yaml
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/usr/local/bin/agent-wdd base docker local
|
||||
|
||||
/usr/local/bin/agent-wdd info os
|
||||
/usr/local/bin/agent-wdd base docker online
|
||||
|
||||
/usr/local/bin/agent-wdd info os
|
||||
|
||||
|
||||
/usr/local/bin/agent-wdd zsh
|
||||
|
||||
/usr/local/bin/agent-wdd base tools
|
||||
@@ -64,3 +60,8 @@ cat /usr/local/etc/wdd/agent-wdd-config.yaml
|
||||
/usr/local/bin/agent-wdd proxy vmess 22443
|
||||
|
||||
|
||||
wget https://pan.107421.xyz/d/oracle-seoul-2/test-shell.sh -qO /usr/local/bin/test-shell.sh
|
||||
|
||||
chmod +x /usr/local/bin/test-shell.sh
|
||||
|
||||
|
||||
|
||||
@@ -10,8 +10,10 @@ import (
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
// UnzipFile 解压文件, 支持zip和tar.gz
|
||||
// UnzipFile 解压文件, 支持zip tgz tar.gz tar
|
||||
func UnzipFile(zipFile string, targetFolder string) {
|
||||
log.Info("解压文件: %s, 到: %s", zipFile, targetFolder)
|
||||
|
||||
// 检查文件扩展名以确定解压缩方法
|
||||
fileExt := filepath.Ext(zipFile)
|
||||
switch fileExt {
|
||||
|
||||
Reference in New Issue
Block a user