zhaoyupeng f4f3590aec feat(hsnet): add upsert.sh script for hs-net deployment automation
- Implement upsert.sh script to automate hs-net deployment steps
- Copy token file to /etc/yizhisec/token
- Detect local IP and update /etc/hosts accordingly
- Replace placeholder IPs in server.conf files
- Create required directories including /mnt/huge and workspace paths
- Copy configuration files and binaries based on CPU AVX support
- Copy lastVersion.txt to workspace
- Load hs-net container image using k0s ctr
- Install, enable, and start hs-net systemd service
- Write upsert.sh file to workdir with appropriate permissions
2025-12-01 17:47:58 +08:00
2025-11-28 19:39:26 +08:00
2025-11-24 18:38:21 +08:00
2025-11-24 18:38:21 +08:00
2025-11-24 18:38:21 +08:00
2025-11-24 18:38:21 +08:00

hsv2/forge

一个用于构建与安装 HybridScope v2 相关依赖与资源的命令行工具。基于 Go 与 Cobra 构建,提供统一的 make 流程与简单的 install 占位命令。

环境要求

  • Go 1.25.2
  • Linux 环境,能够访问外部下载源(如 artifactory.yizhisec.comdocker.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.yaml
      • mysql:下载 MySQL operator 并生成 cluster.yaml,支持 --replica-count--storage-size
      • redis:下载 Redis chart 并生成 values.yaml,支持 --replica-count--password
      • emqx:生成 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/downloaderpkg/archiver:下载与解压工具

开发与维护

  • 构建:go build ./...
  • 测试:go test ./...
  • 代码检查:go vet ./...
  • 格式化:go fmt ./...
  • 依赖清理:go mod tidy

注意事项

  • 部分子命令会从公司内网仓库下载资源,请确保网络可达。
  • 如果仅试运行流程,可使用 --disable-dependency-check 快速跳过依赖检查。
Description
hsv2 ha maker/installer
Readme 5.4 MiB
Languages
Go 87.3%
Shell 12.7%