Commit 7dde3450 authored by Eric's avatar Eric

[update] add terminal register and heartbeat service

parent 4bf1af8d
package model
type Terminal struct {
Name string `json:"name"`
Comment string `json:"comment"`
ServiceAccount struct {
Id string `json:"id"`
Name string `json:"name"`
AccessKey struct {
Id string `json:"id"`
Secret string `json:"secret"`
}
} `json:"service_account"`
}
type TerminalTask struct {
Id string `json:"id"`
Name string `json:"name"`
Args string `json:"args"`
IsFinished bool
}
package service package service
func registerTerminal(name string) { import (
"fmt"
"cocogo/pkg/logger"
"cocogo/pkg/model"
)
func RegisterTerminal(name, token, comment string) (res model.Terminal) {
if client.Headers == nil {
client.Headers = make(map[string]string)
}
client.Headers["Authorization"] = fmt.Sprintf("BootstrapToken %s", token)
data := map[string]string{"name": name, "comment": comment}
err := client.Post(baseHost+TerminalRegisterURL, data, &res)
if err != nil {
logger.Error(err)
}
return
} }
func CreateServiceAccount() { func TerminalHeartBeat(sIds []string) (res []model.TerminalTask) {
data := map[string][]string{
"sessions": sIds,
}
err := authClient.Post(baseHost+TerminalHeartBeatURL, data, &res)
if err != nil {
logger.Error(err)
}
return
} }
func CreateSession() { func CreateSession() {
......
...@@ -8,11 +8,13 @@ const ( ...@@ -8,11 +8,13 @@ const (
SystemUserAssetAuthURL = "/api/assets/v1/system-user/%s/asset/%s/auth-info/" // 该系统用户对某资产的授权 SystemUserAssetAuthURL = "/api/assets/v1/system-user/%s/asset/%s/auth-info/" // 该系统用户对某资产的授权
SystemUserAuthInfoURL = "/api/assets/v1/system-user/%s/auth-info/" // 该系统用户的授权 SystemUserAuthInfoURL = "/api/assets/v1/system-user/%s/auth-info/" // 该系统用户的授权
TerminalRegisterURL = "/api/terminal/v2/terminal-registrations/" // 注册当前coco TerminalRegisterURL = "/api/terminal/v2/terminal-registrations/" // 注册当前coco
TerminalConfigURL = "/api/terminal/v1/terminal/config/" // 从jumpserver获取coco的配置 TerminalConfigURL = "/api/terminal/v1/terminal/config/" // 从jumpserver获取coco的配置
SessionListURL = "/api/terminal/v1/sessions/" //上传创建的资产会话session id TerminalHeartBeatURL = "/api/terminal/v1/terminal/status/"
SessionDetailURL = "/api/terminal/v1/sessions/%s/" // finish session的时候发送
SessionReplayURL = "/api/terminal/v1/sessions/%s/replay/" //上传录像 SessionListURL = "/api/terminal/v1/sessions/" //上传创建的资产会话session id
SessionDetailURL = "/api/terminal/v1/sessions/%s/" // finish session的时候发送
SessionReplayURL = "/api/terminal/v1/sessions/%s/replay/" //上传录像
UserAssetsURL = "/api/perms/v1/user/%s/assets/" //获取用户授权的所有资产 UserAssetsURL = "/api/perms/v1/user/%s/assets/" //获取用户授权的所有资产
UserNodesAssetsURL = "/api/perms/v1/user/%s/nodes-assets/" // 获取用户授权的所有节点信息 节点分组 UserNodesAssetsURL = "/api/perms/v1/user/%s/nodes-assets/" // 获取用户授权的所有节点信息 节点分组
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment