初始化项目
This commit is contained in:
214
agent-deploy/c_middle/DeployMiddleware.go
Normal file
214
agent-deploy/c_middle/DeployMiddleware.go
Normal file
@@ -0,0 +1,214 @@
|
||||
package c_middle
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"github.com/go-playground/validator/v10"
|
||||
"wdd.io/agent-common/logger"
|
||||
"wdd.io/agent-common/utils"
|
||||
"wdd.io/agent-deploy/z_dep"
|
||||
)
|
||||
|
||||
var (
|
||||
log = logger.Log
|
||||
DefaultMysqlConfig = &MySQlConfig{
|
||||
MySQLNodePort: "33306",
|
||||
MySQLRootPasswordBase64: base64.StdEncoding.EncodeToString([]byte("QzfXQhd3bQ")),
|
||||
MySQLRootPassword: "QzfXQhd3bQ",
|
||||
MySQLK8sAdminPassword: "fP#UaH6qQ3)8",
|
||||
}
|
||||
|
||||
DefaultRabbitConfig = &RabbitMQConfig{
|
||||
RabbitNodePort: "35672",
|
||||
RabbitDashboardNodePort: "35675",
|
||||
RabbitPassword: "nYcRN91r._hj",
|
||||
RabbitPasswordBase64: "blljUk45MXIuX2hq",
|
||||
}
|
||||
|
||||
DefaultEmqxConfig = &EmqxConfig{
|
||||
EmqxNodePort: "31883",
|
||||
EmqxDashboardNodePort: "38085",
|
||||
EmqxWebSocketNodePort: "38083",
|
||||
EmqxPassword: "odD8#Ve7.B",
|
||||
}
|
||||
|
||||
DefaultMongoConfig = &MongoConfig{
|
||||
MongoPassword: "REdPza8#oVlt",
|
||||
}
|
||||
)
|
||||
|
||||
type MySQlConfig struct {
|
||||
z_dep.CommonEnvironmentConfig
|
||||
MySQLNodePort string
|
||||
MySQLRootPassword string `validate:"required" comment:"string"`
|
||||
MySQLRootPasswordBase64 string `validate:"required" comment:"base64"`
|
||||
MySQLK8sAdminPassword string `validate:"required" comment:"string"`
|
||||
}
|
||||
|
||||
type RedisConfig struct {
|
||||
z_dep.CommonEnvironmentConfig
|
||||
}
|
||||
|
||||
type RabbitMQConfig struct {
|
||||
z_dep.CommonEnvironmentConfig
|
||||
RabbitNodePort string
|
||||
RabbitDashboardNodePort string
|
||||
RabbitPassword string
|
||||
RabbitPasswordBase64 string
|
||||
}
|
||||
|
||||
type NacosConfig struct {
|
||||
z_dep.CommonEnvironmentConfig
|
||||
MySQLK8sAdminPassword string
|
||||
NacosNodePort string
|
||||
}
|
||||
|
||||
type MongoConfig struct {
|
||||
z_dep.CommonEnvironmentConfig
|
||||
MongoPassword string
|
||||
MongoNodePort string
|
||||
}
|
||||
|
||||
type EmqxConfig struct {
|
||||
z_dep.CommonEnvironmentConfig
|
||||
EmqxNodePort string
|
||||
EmqxDashboardNodePort string
|
||||
EmqxWebSocketNodePort string
|
||||
EmqxPassword string
|
||||
}
|
||||
|
||||
func (emqx *EmqxConfig) MidEmqxDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
|
||||
// copy
|
||||
utils.CopySameFields(commonEnv, emqx)
|
||||
|
||||
validate := validator.New()
|
||||
err := validate.Struct(emqx)
|
||||
if err != nil {
|
||||
log.ErrorF("backend config validate error: %v\n", err)
|
||||
return false
|
||||
}
|
||||
|
||||
if !z_dep.ParseEnvToApplyFile(emqx, CmiiEmqxTemplate, z_dep.EmqxApplyFilePath) {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func MidEmqxDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
return commonEnv.ParseCommonEnvToApplyFile(CmiiEmqxTemplate, z_dep.EmqxApplyFilePath)
|
||||
}
|
||||
|
||||
func (mongo *MongoConfig) MidMongoDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
|
||||
// copy
|
||||
utils.CopySameFields(commonEnv, mongo)
|
||||
|
||||
validate := validator.New()
|
||||
err := validate.Struct(mongo)
|
||||
if err != nil {
|
||||
log.ErrorF("backend config validate error: %v\n", err)
|
||||
return false
|
||||
}
|
||||
|
||||
if !z_dep.ParseEnvToApplyFile(mongo, CmiiMongoTemplate, z_dep.MongoApplyFilePath) {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
func MidMongoDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
return commonEnv.ParseCommonEnvToApplyFile(CmiiMongoTemplate, z_dep.MongoApplyFilePath)
|
||||
}
|
||||
|
||||
func (rabbit *RabbitMQConfig) MidRabbitMQDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
|
||||
// copy
|
||||
utils.CopySameFields(commonEnv, rabbit)
|
||||
|
||||
validate := validator.New()
|
||||
err := validate.Struct(rabbit)
|
||||
if err != nil {
|
||||
log.ErrorF("backend config validate error: %v\n", err)
|
||||
return false
|
||||
}
|
||||
|
||||
if !z_dep.ParseEnvToApplyFile(rabbit, CmiiRabbitMQTemplate, z_dep.RabbitMQApplyFilePath) {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
func MidRabbitMQDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
return commonEnv.ParseCommonEnvToApplyFile(CmiiRabbitMQTemplate, z_dep.RabbitMQApplyFilePath)
|
||||
}
|
||||
|
||||
func (redis *RedisConfig) MidRedisDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
|
||||
// copy
|
||||
utils.CopySameFields(commonEnv, redis)
|
||||
|
||||
validate := validator.New()
|
||||
err := validate.Struct(redis)
|
||||
if err != nil {
|
||||
log.ErrorF("backend config validate error: %v\n", err)
|
||||
return false
|
||||
}
|
||||
|
||||
if !z_dep.ParseEnvToApplyFile(redis, CmiiRedisTemplate, z_dep.RedisApplyFilePath) {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
func MidRedisDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
return commonEnv.ParseCommonEnvToApplyFile(CmiiRedisTemplate, z_dep.RedisApplyFilePath)
|
||||
}
|
||||
|
||||
func (mysql *MySQlConfig) MidMySQlDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
// copy
|
||||
utils.CopySameFields(commonEnv, mysql)
|
||||
|
||||
validate := validator.New()
|
||||
err := validate.Struct(mysql)
|
||||
if err != nil {
|
||||
log.ErrorF("backend config validate error: %v\n", err)
|
||||
return false
|
||||
}
|
||||
|
||||
if !z_dep.ParseEnvToApplyFile(mysql, CmiiMySQLTemplate, z_dep.MySQLApplyFilePath) {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func MidMySQlDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
return commonEnv.ParseCommonEnvToApplyFile(CmiiMySQLTemplate, z_dep.MySQLApplyFilePath)
|
||||
}
|
||||
|
||||
func (nacos *NacosConfig) MidNacosDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
// copy
|
||||
utils.CopySameFields(commonEnv, nacos)
|
||||
|
||||
validate := validator.New()
|
||||
err := validate.Struct(nacos)
|
||||
if err != nil {
|
||||
log.ErrorF("backend config validate error: %v\n", err)
|
||||
return false
|
||||
}
|
||||
|
||||
if !z_dep.ParseEnvToApplyFile(nacos, CmiiNacosTemplate, z_dep.NacosApplyFilePath) {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func MidNacosDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
return commonEnv.ParseCommonEnvToApplyFile(CmiiNacosTemplate, z_dep.NacosApplyFilePath)
|
||||
}
|
||||
|
||||
func PVCDeploy(commonEnv *z_dep.CommonEnvironmentConfig) bool {
|
||||
return commonEnv.ParseCommonEnvToApplyFile(CmiiPVCTemplate, z_dep.PVCApplyFilePath)
|
||||
}
|
||||
Reference in New Issue
Block a user