fix(node): 默认自动加载本目录 node.ini——裸跑 ./zonat-node 不再缺密钥报错
改了什么: -config 默认值改为 node.ini; 未显式指定且文件不存在时按无配置启动(纯 flag/老部署兼容); 缺密钥报错文案补 node.ini 途径 为什么: 部署目录裸跑二进制(不经 start.sh)时不会主动带 -config, 直接报缺少 jwt-secret; 自动加载同目录配置后包内开箱即跑
This commit is contained in:
+9
-2
@@ -20,7 +20,7 @@ import (
|
|||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
var (
|
var (
|
||||||
config = flag.String("config", "", "配置文件路径(node.ini); 显式 flag 可覆盖配置项")
|
config = flag.String("config", "node.ini", "配置文件路径; 默认自动加载本目录 node.ini, 文件不存在且未显式 -config 时按无配置启动")
|
||||||
addr = flag.String("addr", ":5212", "桥接监听地址")
|
addr = flag.String("addr", ":5212", "桥接监听地址")
|
||||||
tunnelBind = flag.String("tunnel-bind", "0.0.0.0", "隧道监听绑定地址")
|
tunnelBind = flag.String("tunnel-bind", "0.0.0.0", "隧道监听绑定地址")
|
||||||
jwtSecret = flag.String("jwt-secret", "", "agent 登录 JWT 校验密钥(HS256)")
|
jwtSecret = flag.String("jwt-secret", "", "agent 登录 JWT 校验密钥(HS256)")
|
||||||
@@ -51,6 +51,13 @@ func main() {
|
|||||||
explicit := map[string]bool{}
|
explicit := map[string]bool{}
|
||||||
flag.Visit(func(f *flag.Flag) { explicit[f.Name] = true })
|
flag.Visit(func(f *flag.Flag) { explicit[f.Name] = true })
|
||||||
|
|
||||||
|
// 自动加载: -config 未显式指定且默认路径不存在 → 按无配置启动(兼容纯 flag/老部署)
|
||||||
|
if !explicit["config"] {
|
||||||
|
if _, err := os.Stat(*config); err != nil {
|
||||||
|
*config = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
finalAddr = *addr
|
finalAddr = *addr
|
||||||
finalTunnelBind = *tunnelBind
|
finalTunnelBind = *tunnelBind
|
||||||
@@ -107,7 +114,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if finalSecret == "" {
|
if finalSecret == "" {
|
||||||
slog.Error("缺少 jwt-secret(agent 登录 JWT 校验密钥; -jwt-secret 或配置文件 server.jwt-secret)")
|
slog.Error("缺少 jwt-secret(agent 登录 JWT 校验密钥; -jwt-secret、-config 指定文件或本目录 node.ini 的 server.jwt-secret)")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user