初始化项目

This commit is contained in:
zeaslity
2025-03-27 16:09:20 +08:00
parent e09a32d1e8
commit fc2d585489
709 changed files with 516391 additions and 0 deletions

View File

@@ -0,0 +1,184 @@
package e_cmii
import (
"encoding/base64"
"wdd.io/agent-deploy/c_middle"
"wdd.io/agent-deploy/d_app"
"wdd.io/agent-deploy/z_dep"
)
type CmiiEnvConfig struct {
c_middle.MySQlConfig
c_middle.RedisConfig
c_middle.MongoConfig
c_middle.RabbitMQConfig
c_middle.NacosConfig
c_middle.EmqxConfig
d_app.CmiiFrontendConfig
d_app.CmiiBackendConfig
d_app.CmiiSrsConfig
}
var CmiiOutSideConfig = &CmiiEnvConfig{
MySQlConfig: c_middle.MySQlConfig{
MySQLNodePort: "33306",
MySQLRootPassword: "QzfXQhd3bQ",
MySQLRootPasswordBase64: base64.StdEncoding.EncodeToString([]byte("QzfXQhd3bQ")),
MySQLK8sAdminPassword: "fP#UaH6qQ3)8",
},
RedisConfig: c_middle.RedisConfig{},
MongoConfig: c_middle.MongoConfig{
MongoPassword: "REdPza8#oVlt",
MongoNodePort: "37017",
},
RabbitMQConfig: c_middle.RabbitMQConfig{
CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
RabbitNodePort: "35672",
RabbitDashboardNodePort: "36675",
RabbitPassword: "nYcRN91r._hj",
RabbitPasswordBase64: "blljUk45MXIuX2hq",
},
NacosConfig: c_middle.NacosConfig{
MySQLK8sAdminPassword: "fP#UaH6qQ3)8",
NacosNodePort: "38848",
},
EmqxConfig: c_middle.EmqxConfig{
EmqxNodePort: "31883",
EmqxDashboardNodePort: "38085",
EmqxWebSocketNodePort: "38083",
EmqxPassword: "odD8#Ve7.B",
},
CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
CmiiBackendConfig: d_app.CmiiBackendConfig{},
CmiiSrsConfig: d_app.CmiiSrsConfig{
RtmpPort: "31935",
WebRTCPort: "30090",
SrtPort: "30556",
WebApiPort: "30080",
MySQLK8sAdminPassword: "fP#UaH6qQ3)8",
},
}
var CmiiDevConfig = &CmiiEnvConfig{
MySQlConfig: c_middle.MySQlConfig{
MySQLNodePort: "33306",
MySQLRootPassword: "Gwubc6CxRM",
MySQLRootPasswordBase64: "R3d1YmM2Q3hSTQ==",
MySQLK8sAdminPassword: "VFJncwy58^Zm",
},
RedisConfig: c_middle.RedisConfig{},
MongoConfig: c_middle.MongoConfig{
MongoPassword: "7(#dD3zcz8",
MongoNodePort: "37017",
},
RabbitMQConfig: c_middle.RabbitMQConfig{
CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
RabbitNodePort: "35672",
RabbitDashboardNodePort: "36675",
RabbitPassword: "7v&7#w1ef)T-",
RabbitPasswordBase64: "N3YmNyN3MWVmKVQt",
},
NacosConfig: c_middle.NacosConfig{
MySQLK8sAdminPassword: "VFJncwy58^Zm",
NacosNodePort: "33848",
},
EmqxConfig: c_middle.EmqxConfig{
EmqxNodePort: "31883",
EmqxDashboardNodePort: "38085",
EmqxWebSocketNodePort: "38083",
EmqxPassword: "4YPk*DS%+5",
},
CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
CmiiBackendConfig: d_app.CmiiBackendConfig{},
CmiiSrsConfig: d_app.CmiiSrsConfig{
RtmpPort: "30935",
WebRTCPort: "30090",
SrtPort: "30556",
WebApiPort: "30557",
MySQLK8sAdminPassword: "VFJncwy58^Zm",
},
}
var CmiiDevFlightConfig = &CmiiEnvConfig{
MySQlConfig: c_middle.MySQlConfig{
MySQLNodePort: "33307",
MySQLRootPassword: "Gwubc6CxRM",
MySQLRootPasswordBase64: "R3d1YmM2Q3hSTQ==",
MySQLK8sAdminPassword: "VFJncwy58^Zm",
},
RedisConfig: c_middle.RedisConfig{},
MongoConfig: c_middle.MongoConfig{
MongoPassword: "7(#dD3zcz8",
MongoNodePort: "37018",
},
RabbitMQConfig: c_middle.RabbitMQConfig{
CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
RabbitNodePort: "35673",
RabbitDashboardNodePort: "36676",
RabbitPassword: "7v&7#w1ef)T-",
RabbitPasswordBase64: "N3YmNyN3MWVmKVQt",
},
NacosConfig: c_middle.NacosConfig{
MySQLK8sAdminPassword: "VFJncwy58^Zm",
NacosNodePort: "33849",
},
EmqxConfig: c_middle.EmqxConfig{
EmqxNodePort: "31884",
EmqxDashboardNodePort: "38086",
EmqxWebSocketNodePort: "38084",
EmqxPassword: "4YPk*DS%+5",
},
CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
CmiiBackendConfig: d_app.CmiiBackendConfig{},
CmiiSrsConfig: d_app.CmiiSrsConfig{
RtmpPort: "30936",
WebRTCPort: "30091",
SrtPort: "30558",
WebApiPort: "30559",
MySQLK8sAdminPassword: "VFJncwy58^Zm",
},
}
var CmiiDevOperationConfig = &CmiiEnvConfig{
MySQlConfig: c_middle.MySQlConfig{
MySQLNodePort: "33308",
MySQLRootPassword: "Gwubc6CxRM",
MySQLRootPasswordBase64: "R3d1YmM2Q3hSTQ==",
MySQLK8sAdminPassword: "VFJncwy58^Zm",
},
RedisConfig: c_middle.RedisConfig{},
MongoConfig: c_middle.MongoConfig{
MongoPassword: "7(#dD3zcz8",
MongoNodePort: "37019",
},
RabbitMQConfig: c_middle.RabbitMQConfig{
CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
RabbitNodePort: "35674",
RabbitDashboardNodePort: "36677",
RabbitPassword: "7v&7#w1ef)T-",
RabbitPasswordBase64: "N3YmNyN3MWVmKVQt",
},
NacosConfig: c_middle.NacosConfig{
MySQLK8sAdminPassword: "VFJncwy58^Zm",
NacosNodePort: "33850",
},
EmqxConfig: c_middle.EmqxConfig{
EmqxNodePort: "31885",
EmqxDashboardNodePort: "38087",
EmqxWebSocketNodePort: "38085",
EmqxPassword: "4YPk*DS%+5",
},
CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
CmiiBackendConfig: d_app.CmiiBackendConfig{},
CmiiSrsConfig: d_app.CmiiSrsConfig{
RtmpPort: "30937",
WebRTCPort: "30092",
SrtPort: "30560",
WebApiPort: "30561",
MySQLK8sAdminPassword: "VFJncwy58^Zm",
},
}
var CmiiIntegrationConfig = &CmiiEnvConfig{}
var CmiiUatConfig = &CmiiEnvConfig{}
var CmiiValidationConfig = &CmiiEnvConfig{}
var CmiiDemoConfig = &CmiiEnvConfig{}

View File

@@ -0,0 +1,148 @@
#!/usr/bin/env bash
### 需要修改以下的内容 ###
#### 需要修改以下的内容 ###
#### 需要修改以下的内容 ###
cmlc_app_image_list="cmlc-app-images-4.1.6.txt" # 需要修改版本
rancher_image_list="kubernetes-images-2.5.7-1.20.4.txt" # 一般不需要修改
middleware_image_list="middleware-images.txt" # 一般不需要修改
#DockerRegisterDomain="20.47.129.116:8033" # 需要根据实际修改
DockerRegisterDomain="harbor.cdcyy.com.cn" # 需要根据实际修改
HarborAdminPass=V2ryStr@ngPss # 需要跟第一脚本中的密码保持一致
#### 需要修改以上的内容 ###
#### 需要修改以上的内容 ###
#### 需要修改以上的内容 ###
downloadAllNeededImages() {
while [[ $# > 0 ]]; do
pulled=""
while IFS= read -r i; do
[ -z "${i}" ] && continue
echo "开始下载:${i}"
if docker pull "${i}" >/dev/null 2>&1; then
echo "Image pull success: ${i}"
pulled="${pulled} ${i}"
else
if docker inspect "${i}" >/dev/null 2>&1; then
pulled="${pulled} ${i}"
else
echo "Image pull failed: ${i}"
fi
fi
echo "-------------------------------------------------"
done <"${1}"
shift
done
}
downloadAllNeededImagesAndCompress() {
while [[ $# > 0 ]]; do
pulled=""
while IFS= read -r i; do
[ -z "${i}" ] && continue
echo "开始下载:${i}"
if docker pull "${i}" >/dev/null 2>&1; then
echo "Image pull success: ${i}"
pulled="${pulled} ${i}"
else
if docker inspect "${i}" >/dev/null 2>&1; then
pulled="${pulled} ${i}"
else
echo "Image pull failed: ${i}"
fi
fi
echo "-------------------------------------------------"
done <"${1}"
compressPacName="$(echo ${1} | cut -d"." -f1).tar.gz"
echo "Creating ${compressPacName} with $(echo ${pulled} | wc -w | tr -d '[:space:]') images"
docker save $(echo ${pulled}) | gzip --stdout >${compressPacName}
shift
done
echo "已经完成打包工作!"
}
pushRKEImageToHarbor() {
linux_images=()
while IFS= read -r i; do
[ -z "${i}" ] && continue
linux_images+=("${i}")
done <"${rancher_image_list}"
# docker login -u admin -p ${HarborAdminPass} ${DockerRegisterDomain}
docker login -u rad02_drone -p Drone@1234 harbor.cdcyy.com.cn
for i in "${linux_images[@]}"; do
[ -z "${i}" ] && continue
case $i in
*/*)
image_name="${DockerRegisterDomain}/${i}"
;;
*)
image_name="${DockerRegisterDomain}/rancher/${i}"
;;
esac
echo "开始镜像至私有仓库推送:${image_name}"
docker tag "${i}" "${image_name}"
docker push "${image_name}"
echo "-------------------------------------------------"
done
}
pushCMLCAPPImageToHarbor() {
app_images=()
while IFS= read -r i; do
[ -z "${i}" ] && continue
app_images+=("${i}")
done <"${cmlc_app_image_list}"
docker login -u rad02_drone -p Drone@1234 harbor.cdcyy.com.cn
# docker login -u admin -p ${HarborAdminPass} ${DockerRegisterDomain}
for app in "${app_images[@]}"; do
[ -z "${app}" ] && continue
image_name="${DockerRegisterDomain}/$(echo ${app} | cut -d"/" -f2-8)"
echo "开始镜像至私有仓库推送:${image_name}"
docker tag "${app}" "${image_name}"
docker push "${image_name}"
echo "-------------------------------------------------"
done
}
pushMiddlewareImageToHarbor() {
middleware_image=()
while IFS= read -r i; do
[ -z "${i}" ] && continue
middleware_image+=("${i}")
done <"${middleware_image_list}"
# docker login -u admin -p ${HarborAdminPass} ${DockerRegisterDomain}
docker login -u rad02_drone -p Drone@1234 harbor.cdcyy.com.cn
for app in "${middleware_image[@]}"; do
[ -z "${app}" ] && continue
case ${app} in
*/*/*)
image_name="${DockerRegisterDomain}/cmii/$(echo "${app}" | cut -d"/" -f3-8)"
;;
*/*)
image_name="${DockerRegisterDomain}/cmii/$(echo "${app}" | cut -d"/" -f2-8)"
;;
esac
echo "开始镜像至私有仓库推送:${image_name}"
docker tag "${app}" "${image_name}"
docker push "${image_name}"
echo "-------------------------------------------------"
done
}
#downloadAllNeededImagesAndCompress "${middleware_image_list}"
downloadAllNeededImages "${middleware_image_list}"
#pushRKEImageToHarbor
#pushCMLCAPPImageToHarbor
pushMiddlewareImageToHarbor

View File

@@ -0,0 +1,164 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: cmlc-nfs-client-provisioner
# replace with namespace where provisioner is deployed
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: cmlc-nfs-client-provisioner-runner
rules:
- apiGroups:
- ""
resources:
- persistentvolumes
verbs:
- get
- list
- watch
- create
- delete
- apiGroups:
- ""
resources:
- persistentvolumeclaims
verbs:
- get
- list
- watch
- update
- apiGroups:
- storage.k8s.io
resources:
- storageclasses
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- events
verbs:
- watch
- create
- update
- patch
- apiGroups:
- ""
resources:
- services
verbs:
- get
- apiGroups:
- extensions
resourceNames:
- nfs-provisioner
resources:
- podsecuritypolicies
verbs:
- use
- apiGroups:
- ""
resources:
- endpoints
verbs:
- get
- list
- watch
- create
- update
- patch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: cmlc-run-nfs-client-provisioner
subjects:
- kind: ServiceAccount
name: cmlc-nfs-client-provisioner
# replace with namespace where provisioner is deployed
namespace: kube-system
roleRef:
kind: ClusterRole
name: cmlc-nfs-client-provisioner-runner
apiGroup: rbac.authorization.k8s.io
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: cmlc-leader-locking-nfs-client-provisioner
# replace with namespace where provisioner is deployed
namespace: kube-system
rules:
- apiGroups: [ "" ]
resources: [ "endpoints" ]
verbs: [ "get", "list", "watch", "create", "update", "patch" ]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: cmlc-leader-locking-nfs-client-provisioner
subjects:
- kind: ServiceAccount
name: cmlc-nfs-client-provisioner
# replace with namespace where provisioner is deployed
namespace: kube-system
roleRef:
kind: Role
name: cmlc-leader-locking-nfs-client-provisioner
apiGroup: rbac.authorization.k8s.io
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nfs-prod-distribute
provisioner: cmlc-nfs-client-provisioner
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cmlc-nfs-client-provisioner
labels:
app: cmlc-nfs-client-provisioner
# replace with namespace where provisioner is deployed
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
app: cmlc-nfs-client-provisioner
strategy:
type: Recreate
template:
metadata:
labels:
app: cmlc-nfs-client-provisioner
spec:
serviceAccountName: cmlc-nfs-client-provisioner
imagePullSecrets:
- name: harborsecret
containers:
- name: cmlc-nfs-client-provisioner
image: harbor.cdcyy.com.cn/cmii/nfs-subdir-external-provisioner:v4.0.2
volumeMounts:
- name: nfs-client-root
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: cmlc-nfs-client-provisioner
- name: NFS_SERVER
value: yfcsnfs.com
- name: NFS_PATH
value: /drone/zyly
volumes:
- name: nfs-client-root
nfs:
server: yfcsnfs.com
path: /drone/zyly

View File

@@ -0,0 +1,9 @@
kind: Secret
apiVersion: v1
metadata:
name: harborsecret
namespace: uavcloud-devoperation
data:
.dockerconfigjson: >-
ewoJImF1dGhzIjogewoJCSJoYXJib3ItcWEuc3JlLmNkY3l5LmNuIjogewoJCQkiYXV0aCI6ICJjbUZrTURKZlpISnZibVU2UkhKdmJtVkFNVEl6TkE9PSIKCQl9LAogICAgICAgICAgICAgICAgImhhcmJvci5jZGN5eS5jb20uY24iOiB7CgkJCSJhdXRoIjogImNtRmtNREpmWkhKdmJtVTZSSEp2Ym1WQU1USXpOQT09IgoJCX0KCX0sCgkiSHR0cEhlYWRlcnMiOiB7CgkJIlVzZXItQWdlbnQiOiAiRG9ja2VyLUNsaWVudC8xOS4wMy45IChsaW51eCkiCgl9Cn0=
type: kubernetes.io/dockerconfigjson