feat: 🏡 make apps
This commit is contained in:
99
internal/controller/maker/app.gateway.go
Normal file
99
internal/controller/maker/app.gateway.go
Normal file
@@ -0,0 +1,99 @@
|
||||
package maker
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"gitea.loveuer.com/yizhisec/pkg3/logger"
|
||||
"yizhisec.com/hsv2/forge/internal/opt"
|
||||
"yizhisec.com/hsv2/forge/pkg/resource"
|
||||
)
|
||||
|
||||
func (m *maker) AppGateway(ctx context.Context, replica int) error {
|
||||
const (
|
||||
_config = `Version: "3"
|
||||
Database:
|
||||
Elastic:
|
||||
Address: http://es-service.db-es:9200
|
||||
Mysql:
|
||||
Address: mysql.db-mysql:3306
|
||||
DBName: mie
|
||||
Password: L0hMysql.
|
||||
UserName: root
|
||||
Redis:
|
||||
Address: redis-master.db-redis:6379
|
||||
Password: HybridScope0xRed1s.
|
||||
Gateway:
|
||||
Cert:
|
||||
ClientCrt: /yizhisec/ssl/client.crt
|
||||
ClientKey: /yizhisec/ssl/client.key
|
||||
TokenFilePath: /etc/yizhisec/token
|
||||
Key:
|
||||
Token: TtKVnSzEHO3jRv/GWg3f5k3H1OVfMnPZ1Ke9E6MSCXk=
|
||||
Log:
|
||||
Dir: ./log
|
||||
Level: 1
|
||||
Name: gateway_controller
|
||||
Sentry:
|
||||
TracesSampleRate: 1
|
||||
UserManagement:
|
||||
Host: user-service
|
||||
Port: 9013
|
||||
Web:
|
||||
Host: 0.0.0.0
|
||||
Mode: release
|
||||
Port: 9012
|
||||
WorkDir: /yizhisec/gateway_controller/workspace
|
||||
YosGuard:
|
||||
Host: 172.17.0.1
|
||||
Port: 7788`
|
||||
_upsert = `#!/bin/bash
|
||||
|
||||
kubectl create configmap config-gateway --namespace hsv2 --from-file=config.yml=./config.yml --dry-run=client -o yaml | kubectl apply -f -
|
||||
kubectl apply -f deployment.yaml
|
||||
kubectl rollout restart deployment gateway-deployment -n hsv2`
|
||||
)
|
||||
var (
|
||||
err error
|
||||
workdir = filepath.Join(opt.Cfg.Make.Dir, "app", "gateway")
|
||||
)
|
||||
|
||||
logger.Info("☑️ maker.AppGateway: 开始构建 gateway 应用..., dir = %s", workdir)
|
||||
logger.Debug("☑️ maker.AppGateway: 开始创建工作目录 = %s", workdir)
|
||||
if err = os.MkdirAll(workdir, 0755); err != nil {
|
||||
logger.Debug("❌ maker.AppGateway: 创建目录失败: %v", err)
|
||||
return err
|
||||
}
|
||||
logger.Debug("✅ maker.AppGateway: 创建工作目录成功 = %s", workdir)
|
||||
|
||||
if replica < 1 {
|
||||
replica = 1
|
||||
}
|
||||
|
||||
logger.Debug("☑️ maker.AppGateway: 开始构建 yaml 资源文件")
|
||||
content := []byte(fmt.Sprintf(resource.YAMLAppGateway, replica))
|
||||
if err = os.WriteFile(filepath.Join(workdir, "deployment.yaml"), content, 0644); err != nil {
|
||||
logger.Debug("❌ maker.AppGateway: 写入 deployment.yaml 失败: %v", err)
|
||||
return err
|
||||
}
|
||||
logger.Debug("✅ maker.AppGateway: 开始 yaml 资源文件成功")
|
||||
|
||||
logger.Debug("☑️ maker.AppGateway: 开始构建 config 文件")
|
||||
if err = os.WriteFile(filepath.Join(workdir, "config.yml"), []byte(_config), 0644); err != nil {
|
||||
logger.Debug("❌ maker.AppGateway: 写入 config.yml 失败: %v", err)
|
||||
return err
|
||||
}
|
||||
logger.Debug("✅ maker.AppGateway: 构建 config 文件成功")
|
||||
|
||||
logger.Debug("☑️ maker.AppGateway: 开始构建 upsert.sh 脚本")
|
||||
if err = os.WriteFile(filepath.Join(workdir, "upsert.sh"), []byte(_upsert), 0755); err != nil {
|
||||
logger.Debug("❌ maker.AppGateway: 写入 upsert.sh 失败: %v", err)
|
||||
return err
|
||||
}
|
||||
logger.Debug("✅ maker.AppGateway: 构建 upsert.sh 脚本成功")
|
||||
|
||||
logger.Info("✅ maker.AppGateway: 构建 gateway 应用成功!!!")
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user