From 47c1696b7391e2a7af5fd2103ecd49d9205143b0 Mon Sep 17 00:00:00 2001 From: shy Date: Sat, 25 Jun 2022 17:37:41 +0800 Subject: [PATCH] opt forever --- base/cli/forever.go | 2 +- base/cli/runtime.go | 15 ++++++++------- base/log/log.go | 4 ++++ core/chat/pod.go | 3 +-- data.go | 6 ++++++ info.go | 8 ++++++++ init.go | 2 +- 7 files changed, 29 insertions(+), 11 deletions(-) diff --git a/base/cli/forever.go b/base/cli/forever.go index 6d846771..492087b5 100644 --- a/base/cli/forever.go +++ b/base/cli/forever.go @@ -33,7 +33,7 @@ func init() { }}, SERVE: {Name: "serve", Help: "服务", Hand: func(m *ice.Message, arg ...string) { env := []string{PATH, BinPath(), HOME, kit.Select(kit.Path(""), os.Getenv(HOME))} - for _, k := range []string{TERM, SHELL, CTX_SHY, CTX_DEV, CTX_OPS, CTX_ARG, CTX_PID, CTX_USER, CTX_SHARE, CTX_RIVER} { + for _, k := range []string{TERM, SHELL, CTX_SHY, CTX_DEV, CTX_OPS, CTX_ARG, CTX_PID, CTX_USER, CTX_SHARE, CTX_RIVER, CTX_DAEMON} { if kit.Env(k) != "" { env = append(env, k, kit.Env(k)) } diff --git a/base/cli/runtime.go b/base/cli/runtime.go index e3b5bb01..2204d31b 100644 --- a/base/cli/runtime.go +++ b/base/cli/runtime.go @@ -48,7 +48,7 @@ func _runtime_init(m *ice.Message) { m.Conf(RUNTIME, kit.Keys(BOOT, ice.BIN), _system_find(m, os.Args[0])) // 环境变量 conf - for _, k := range []string{CTX_SHY, CTX_DEV, CTX_OPS, CTX_ARG, CTX_PID, CTX_USER, CTX_SHARE, CTX_RIVER} { + for _, k := range []string{CTX_SHY, CTX_DEV, CTX_OPS, CTX_ARG, CTX_PID, CTX_USER, CTX_SHARE, CTX_RIVER, CTX_DAEMON} { m.Conf(RUNTIME, kit.Keys(CONF, k), kit.Env(k)) } @@ -120,14 +120,15 @@ const ( CTX_SHY = "ctx_shy" CTX_DEV = "ctx_dev" CTX_OPS = "ctx_ops" - CTX_ARG = "ctx_arg" CTX_POD = "ctx_pod" + CTX_ARG = "ctx_arg" - CTX_PID = "ctx_pid" - CTX_LOG = "ctx_log" - CTX_USER = "ctx_user" - CTX_SHARE = "ctx_share" - CTX_RIVER = "ctx_river" + CTX_PID = "ctx_pid" + CTX_LOG = "ctx_log" + CTX_USER = "ctx_user" + CTX_SHARE = "ctx_share" + CTX_RIVER = "ctx_river" + CTX_DAEMON = "ctx_daemon" MAKE_DOMAIN = "make.domain" ) diff --git a/base/log/log.go b/base/log/log.go index b4fe2a7d..a7c4c98d 100644 --- a/base/log/log.go +++ b/base/log/log.go @@ -3,6 +3,7 @@ package log import ( "bufio" "path" + "strings" ice "shylinux.com/x/icebergs" "shylinux.com/x/icebergs/base/mdb" @@ -126,6 +127,9 @@ var Index = &ice.Context{Name: "log", Help: "日志模块", Configs: map[string] if log.LogDisable { return // 禁用日志 } + if !strings.Contains(ice.Getenv("ctx_daemon"), "log") { + return // 没有日志 + } m.Confm(VIEW, nil, func(key string, value ice.Map) { kit.Fetch(value[mdb.LIST], func(index int, k string) { m.Conf(SHOW, kit.Keys(k, VIEW), key) diff --git a/core/chat/pod.go b/core/chat/pod.go index 438163ed..36fb5b87 100644 --- a/core/chat/pod.go +++ b/core/chat/pod.go @@ -35,7 +35,7 @@ func init() { m.RenderCmd(web.ROUTE) } else if len(arg) == 1 { // 节点首页 - if m.Cmd(web.SPACE, arg[0]).Length() == 0 { + if m.Cmd(web.SPACE, arg[0]).Length() == 0 && !strings.Contains(arg[0], ice.PT) { m.Cmd(web.DREAM, cli.START, mdb.NAME, arg[0]) } aaa.UserRoot(m) @@ -49,7 +49,6 @@ func init() { } else if arg[1] == "cmd" { // 节点命令 m.Cmdy(web.SPACE, arg[0], m.Prefix(CMD), path.Join(arg[2:]...)) } else { - m.Debug("what %v", path.Join(arg[1:]...)) m.Cmdy(web.SPACE, m.Option(ice.MSG_USERPOD), "web.chat."+strings.TrimPrefix(path.Join(arg[1:]...), "chat/")) // m.Cmdy(web.SPACE, m.Option(ice.MSG_USERPOD), "web.chat."+ice.PS+path.Join(arg[1:]...)) } diff --git a/data.go b/data.go index 6f6ba489..b18bd5b6 100644 --- a/data.go +++ b/data.go @@ -56,6 +56,9 @@ func (m *Message) ConfigOption(key ...string) { } } func (m *Message) Save(arg ...string) *Message { + if !strings.Contains(Getenv("ctx_daemon"), "ctx") { + return m + } if len(arg) == 0 { for k := range m.target.Configs { arg = append(arg, k) @@ -67,6 +70,9 @@ func (m *Message) Save(arg ...string) *Message { return m.Cmd(CONFIG, SAVE, m.Prefix(JSON), arg) } func (m *Message) Load(arg ...string) *Message { + if !strings.Contains(Getenv("ctx_daemon"), "ctx") { + return m + } if len(arg) == 0 { for k := range m.target.Configs { arg = append(arg, k) diff --git a/info.go b/info.go index 64df8ade..0172271a 100644 --- a/info.go +++ b/info.go @@ -2,6 +2,7 @@ package ice import ( "io" + "os" "path" "strings" @@ -133,3 +134,10 @@ func FileRequire(n int) string { } return path.Join("/require/"+kit.ModPath(n), path.Base(p)) } +func Getenv(key string) string { + switch key { + case "ctx_daemon": + return kit.Select("ctx,log,gdb,ssh", os.Getenv(key)) + } + return os.Getenv(key) +} diff --git a/init.go b/init.go index 385267ff..4419cae8 100644 --- a/init.go +++ b/init.go @@ -34,7 +34,7 @@ func (f *Frame) Start(m *Message, arg ...string) bool { m.Cap(CTX_STREAM, strings.Split(m.Time(), SP)[1]) m.Cmdy(INIT, arg) - for _, k := range kit.Split("log,gdb,ssh") { + for _, k := range kit.Split(Getenv("ctx_daemon")) { m.Start(k) } m.Cmd(arg)