1
0
forked from x/icebergs
This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-04-01 20:08:39 +08:00
parent 0028f79073
commit a42eb5ac4a
3 changed files with 34 additions and 39 deletions

View File

@ -142,28 +142,35 @@ const (
CMD_ERR = "cmd_err" CMD_ERR = "cmd_err"
CMD_OUT = "cmd_out" CMD_OUT = "cmd_out"
SH = "sh"
LN = "ln"
MV = "mv"
RM = "rm"
GO = "go"
GIT = "git"
WGET = "wget"
CURL = "curl"
TAIL = "tail"
MAN = "man"
RUN = "run" RUN = "run"
KILL = "kill"
FIND = "find"
GREP = "grep"
SUDO = "sudo"
EXEC = "exec"
EXIT = "exit"
ECHO = "echo"
REST = "rest" REST = "rest"
RELAY = "relay"
OPENS = "opens"
PARAM = "param" PARAM = "param"
OPENS = "opens"
RELAY = "relay"
)
const (
SH = "sh"
LN = "ln"
MV = "mv"
RM = "rm"
FIND = "find"
GREP = "grep"
TAIL = "tail"
WGET = "wget"
CURL = "curl"
SUDO = "sudo"
EXEC = "exec"
EXIT = "exit"
ECHO = "echo"
KILL = "kill"
GO = "go"
GIT = "git"
MAN = "man"
YUM = "yum"
) )
const SYSTEM = "system" const SYSTEM = "system"

View File

@ -133,12 +133,12 @@ func _install_trash(m *ice.Message, arg ...string) {
nfs.Trash(m, m.Option(nfs.PATH)) nfs.Trash(m, m.Option(nfs.PATH))
} else { } else {
m.Cmd(cli.DAEMON, mdb.REMOVE) m.Cmd(cli.DAEMON, mdb.REMOVE)
nfs.Trash(m, kit.Path(ice.USR_LOCAL_DAEMON, m.Option(tcp.PORT), m.Option(nfs.PATH))) nfs.Trash(m, kit.Path(ice.USR_LOCAL_DAEMON, m.Option(tcp.PORT), kit.Select("", m.Option(nfs.PATH), m.Option(cli.PID) == "")))
} }
} }
func _install_service(m *ice.Message, arg ...string) { func _install_service(m *ice.Message, arg ...string) {
name := kit.Split(path.Base(arg[0]), "_-.")[0] name := kit.Split(path.Base(arg[0]), "_-.")[0]
m.Fields(len(kit.Slice(arg, 1)), "time,status,port,pid,cmd,dir") m.Fields(len(kit.Slice(arg, 1)), "time,port,pid,status,cmd,dir")
m.Cmd(mdb.SELECT, cli.DAEMON, "", mdb.HASH, func(value ice.Maps) { m.Cmd(mdb.SELECT, cli.DAEMON, "", mdb.HASH, func(value ice.Maps) {
if strings.Contains(value[ice.CMD], path.Join(ice.BIN, name)) { if strings.Contains(value[ice.CMD], path.Join(ice.BIN, name)) {
switch m.Push("", value, kit.Split(m.OptionFields())); value[mdb.STATUS] { switch m.Push("", value, kit.Split(m.OptionFields())); value[mdb.STATUS] {

View File

@ -282,27 +282,15 @@ func (s relay) Pushbin(m *ice.Message, arg ...string) {
default: default:
bin = kit.Keys(bin, cli.AMD64) bin = kit.Keys(bin, cli.AMD64)
} }
kit.If(m.Option(web.DREAM), func() { dream := m.DreamPath(m.Option(web.DREAM))
m.Options(nfs.FROM, path.Join(kit.Select(ice.USR_LOCAL_WORK, "..", ice.Info.NodeType == web.WORKER), m.Option(web.DREAM), ice.USR_PUBLISH+bin)) m.Options(nfs.FROM, path.Join(dream, ice.USR_PUBLISH+bin), nfs.PATH, path.Base(dream), nfs.FILE, ice.BIN_ICE_BIN)
m.Options(nfs.PATH, m.Option(web.DREAM), nfs.FILE, ice.BIN_ICE_BIN) if m.Cmd(SSH_TRANS, tcp.SEND); m.OptionDefault(web.PORTAL, tcp.PORT_9020) == tcp.PORT_443 {
}, func() {
m.Options(nfs.FROM, ice.USR_PUBLISH+bin, nfs.PATH, path.Base(kit.Path("")), nfs.FILE, ice.BIN_ICE_BIN)
})
m.Cmd(SSH_TRANS, tcp.SEND)
if m.OptionDefault(web.PORTAL, tcp.PORT_9020) == tcp.PORT_443 {
for i := 0; i < 30; i++ {
if m.Exists(ssh.CertPath(m.Message, m.Option(tcp.HOST))) {
break
}
m.Sleep("5s")
}
msg := m.Cmd(ssh.CERT, mdb.CREATE, m.Option(tcp.HOST)) msg := m.Cmd(ssh.CERT, mdb.CREATE, m.Option(tcp.HOST))
m.Cmd(SSH_TRANS, tcp.SEND, nfs.FROM, msg.Append(ssh.KEY), nfs.PATH, m.Option(web.DREAM), nfs.FILE, nfs.ETC_CERT_KEY) m.Cmd(SSH_TRANS, tcp.SEND, nfs.FROM, msg.Append(ssh.PEM), nfs.FILE, nfs.ETC_CERT_PEM)
m.Cmd(SSH_TRANS, tcp.SEND, nfs.FROM, msg.Append(ssh.PEM), nfs.PATH, m.Option(web.DREAM), nfs.FILE, nfs.ETC_CERT_PEM) m.Cmd(SSH_TRANS, tcp.SEND, nfs.FROM, msg.Append(ssh.KEY), nfs.FILE, nfs.ETC_CERT_KEY)
} }
cmd := "export ctx_dev=" + m.SpideOrigin(ice.DEV) + "; " + m.Template(PUSHBIN_SH) + lex.SP + kit.JoinCmds(ice.DEV, m.Option(ice.DEV), tcp.PORT, m.Option(web.PORTAL), tcp.NODENAME, m.OptionDefault(tcp.NODENAME, m.Option(MACHINE)))
s.shell(m, cmd, arg...)
s.Modify(m, kit.Simple(m.OptionSimple(MACHINE, web.DREAM, web.PORTAL))...) s.Modify(m, kit.Simple(m.OptionSimple(MACHINE, web.DREAM, web.PORTAL))...)
s.shell(m, "export ctx_dev="+m.SpideOrigin(ice.DEV)+"; "+m.Template(PUSHBIN_SH)+lex.SP+kit.JoinCmds(ice.DEV, m.Option(ice.DEV), tcp.PORT, m.Option(web.PORTAL), tcp.NODENAME, m.OptionDefault(tcp.NODENAME, m.Option(MACHINE))), arg...)
} }
func (s relay) AdminCmd(m *ice.Message, arg ...string) { func (s relay) AdminCmd(m *ice.Message, arg ...string) {