feat(front): add front app build command and minio support
- Add new command "front" with flags for replica count and vendor - Implement front app build logic in maker.AppFront method - Add minio to make command list - Add minio and minio-init images to image list - Change EMQX dependency path to "dependency/emqx" - Update app OEM logic to use model.GetVendor for vendor info - Fix app OEM download and rename logic with updated vendor fields - Modify nginx deployment manifest to allow configurable replicas - Update user app mysql address to mysql-cluster-mysql-master.db-mysql:3306 - Add server_license_init.conf generation script for configmap upsert - Clean and reformat imports across several files - Remove unused package files for make.mysql.go, make.redis.go, make.longhorn.go
This commit is contained in:
@@ -8,8 +8,8 @@ import (
|
||||
"path/filepath"
|
||||
|
||||
"gitea.loveuer.com/yizhisec/pkg3/logger"
|
||||
"github.com/samber/lo"
|
||||
"yizhisec.com/hsv2/forge/pkg/archiver"
|
||||
"yizhisec.com/hsv2/forge/pkg/model"
|
||||
"yizhisec.com/hsv2/forge/pkg/resource"
|
||||
)
|
||||
|
||||
@@ -54,30 +54,17 @@ COPY nginx.conf /etc/nginx/nginx.conf
|
||||
CMD ["nginx", "-g", "daemon off;"]`
|
||||
_image = "hub.yizhisec.com/hybridscope/v2/oem-%s:latest"
|
||||
)
|
||||
type Vendor struct {
|
||||
URL string
|
||||
Dir string
|
||||
}
|
||||
var (
|
||||
vendorURLMap = map[string]*Vendor{
|
||||
"standard": &Vendor{URL: "https://artifactory.yizhisec.com/artifactory/yizhisec-release/oem/release/2.1.0-std/oem.tar.gz", Dir: "oem"},
|
||||
"elink": &Vendor{URL: "https://artifactory.yizhisec.com/artifactory/yizhisec-release/oem/release/2.1.0-std/oem_csgElink.tar.gz", Dir: "oem_csgElink"},
|
||||
"noah": &Vendor{URL: "https://artifactory.yizhisec.com/artifactory/yizhisec-release/oem/release/2.1.0-std/oem_noah.tar.gz", Dir: "oem_noah"},
|
||||
"heishuimeng": &Vendor{URL: "https://artifactory.yizhisec.com/artifactory/yizhisec-release/oem/release/2.1.0-std/oem_heishuimeng.tar.gz", Dir: "oem_heishuimeng"},
|
||||
}
|
||||
err error
|
||||
_vendor *Vendor
|
||||
ok bool
|
||||
_vendor = model.GetVendor(vendor)
|
||||
workdir = filepath.Join(m.workdir, "app", "oem")
|
||||
output []byte
|
||||
)
|
||||
|
||||
logger.Info("☑️ maker.AppOEM: 开始构建 oem[%s], workdir = %s", vendor, workdir)
|
||||
|
||||
if _vendor, ok = vendorURLMap[vendor]; !ok {
|
||||
supported := lo.MapToSlice(vendorURLMap, func(key string, _ *Vendor) string {
|
||||
return key
|
||||
})
|
||||
if _vendor == nil {
|
||||
supported := model.GetVendorNames()
|
||||
logger.Debug("❌ maker.AppOEM: vendor not supported, 支持的 vendor 有: %v", supported)
|
||||
return fmt.Errorf("请检查 vendor 是否正确, 支持的 vendor 有: %v", supported)
|
||||
}
|
||||
@@ -91,13 +78,13 @@ CMD ["nginx", "-g", "daemon off;"]`
|
||||
|
||||
// 2. download oem.tar.gz
|
||||
logger.Debug("☑️ maker.AppOEM: 开始下载 oem[%s] url = %s", vendor, _vendor)
|
||||
if err = archiver.DownloadAndExtract(ctx, _vendor.URL, workdir); err != nil {
|
||||
logger.Debug("❌ maker.AppOEM: oem[%s] tar 下载失败, url = %s, err = %v", vendor, _vendor.URL, err)
|
||||
if err = archiver.DownloadAndExtract(ctx, _vendor.OEMUrl, workdir); err != nil {
|
||||
logger.Debug("❌ maker.AppOEM: oem[%s] tar 下载失败, url = %s, err = %v", vendor, _vendor.OEMUrl, err)
|
||||
return err
|
||||
}
|
||||
if _vendor.Dir != "oem" {
|
||||
if _vendor.OEMDir != "oem" {
|
||||
if err = os.Rename(
|
||||
filepath.Join(workdir, _vendor.Dir),
|
||||
filepath.Join(workdir, _vendor.OEMDir),
|
||||
filepath.Join(workdir, "oem"),
|
||||
); err != nil {
|
||||
logger.Debug("❌ maker.AppOEM: oem[%s] tar 重命名失败, err = %v", vendor, err)
|
||||
|
||||
Reference in New Issue
Block a user