1d3c159c00815c1a5b3c9b8ee642ca636994a8af
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%