38def02bf4ee67d34d49c3cb76e152c52ca4efd8
- 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
hsv2/forge
一个用于构建与安装 HybridScope v2 相关依赖与资源的命令行工具。基于 Go 与 Cobra 构建,提供统一的 make 流程与简单的 install 占位命令。
环境要求
- Go
1.25.2 - Linux 环境,能够访问外部下载源(如
artifactory.yizhisec.com、docker.io等)
快速开始
# 构建
go build ./...
# 查看帮助
./forge --help
# 进入 make 子命令的帮助
./forge make --help
# 示例:准备 Redis 资源
./forge make redis --replica-count 2 --password ******
默认构建目录为 /root/hsv2-installation,可通过 --dir 修改。
常用命令
forge:根命令,支持全局调试开关--debug(参考internal/cmd/root.go:12)。forge make:构建依赖与资源(参考internal/cmd/make.go:13)。- 全局选项:
--dir:输出基础目录(默认/root/hsv2-installation,参考internal/cmd/make.go:40)--disable-dependency-check:禁用依赖检查(参考internal/cmd/make.go:38)
- 子命令(节选):
images:准备镜像相关资源binaries:下载并解压 K8s 相关二进制debs:下载并解压 Debian 包(Docker)flannel:生成 Flannel YAML(参考internal/cmd/make.flannel.go)longhorn:下载 Longhorn chart 并生成values.yamlmysql:下载 MySQL operator 并生成cluster.yaml,支持--replica-count与--storage-sizeredis:下载 Redis chart 并生成values.yaml,支持--replica-count与--passwordemqx:生成 EMQX 配置es:准备 Elasticsearch/Kibana 相关资源yosguard:生成 YOSGuard 配置与服务文件less-dns:生成 DNS 相关资源hs-net:占位命令,当前仅创建目录(参考internal/cmd/make.hsnet.go:23)
- 全局选项:
forge install:安装占位命令(参考internal/cmd/install.go)。
目录结构(简要)
internal/cmd:命令行入口与各make子命令实现internal/controller/maker:构建流程控制pkg/resource:内置 YAML/SQL/bash 等资源模板pkg/downloader、pkg/archiver:下载与解压工具
开发与维护
- 构建:
go build ./... - 测试:
go test ./... - 代码检查:
go vet ./... - 格式化:
go fmt ./... - 依赖清理:
go mod tidy
注意事项
- 部分子命令会从公司内网仓库下载资源,请确保网络可达。
- 如果仅试运行流程,可使用
--disable-dependency-check快速跳过依赖检查。
Description
Languages
Go
87.3%
Shell
12.7%