95 lines
2.1 KiB
Go
95 lines
2.1 KiB
Go
package a_init
|
|
|
|
import (
|
|
"bufio"
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
"wdd.io/agent-go/a_agent"
|
|
)
|
|
|
|
/*
|
|
完全离线模式
|
|
交互模式 手动运行 接受输入并且执行指令 类似于cli
|
|
|
|
1. 环境信息检测打印输出
|
|
|
|
2. 接受用户输入 执行指令
|
|
|
|
3. 功能
|
|
3.1 安装docker
|
|
3.2 安装docker-compose
|
|
3.3 安装minio
|
|
3.4 安装rabbitmq
|
|
3.5 安装kubernetes
|
|
*/
|
|
|
|
// BastionModeInit 堡垒机模式 完全离线模式
|
|
func BastionModeInit() {
|
|
|
|
// Build For Operator
|
|
_ = &a_agent.AgentServerInfo{
|
|
ServerName: "BastionSingle",
|
|
ServerIPPbV4: "127.0.0.1",
|
|
ServerIPInV4: "127.0.0.1",
|
|
ServerIPPbV6: "",
|
|
ServerIPInV6: "",
|
|
Location: "Bastion",
|
|
Provider: "Bastion",
|
|
ManagePort: "22",
|
|
CPUCore: "",
|
|
CPUBrand: "",
|
|
OSInfo: "",
|
|
OSKernelInfo: "",
|
|
TCPControl: "",
|
|
Virtualization: "",
|
|
Platform: "",
|
|
PlatformFamily: "",
|
|
PlatformVersion: "",
|
|
KernelVersion: "",
|
|
KernelArch: "",
|
|
IoSpeed: "",
|
|
MemoryTotal: "",
|
|
DiskTotal: "",
|
|
DiskUsage: "",
|
|
Comment: "",
|
|
MachineID: "",
|
|
AgentVersion: "",
|
|
TopicName: "BastionNode",
|
|
}
|
|
|
|
// re-get agentInfo from status module
|
|
//agentInfo := a_status.ReportAgentInfo()
|
|
//refreshAgentInfoByStatusInfo(agentInfo, agentServerInfo)
|
|
//buildAgentOsOperator(agentInfo, agentServerInfo)
|
|
|
|
// install docker
|
|
//agentOsOperator := a_executor.AgentOsOperatorCache
|
|
// boot up minio & rabbitmq
|
|
//agentOsOperator.InstallDockerFromLocalExec(nil)
|
|
//agentOsOperator.InstallDockerComposeFromLocalExec()
|
|
|
|
// build for socks server
|
|
|
|
reader := bufio.NewReader(os.Stdin)
|
|
|
|
for {
|
|
fmt.Print("> ")
|
|
text, _ := reader.ReadString('\n')
|
|
text = strings.TrimSpace(text)
|
|
|
|
if text == "quit" {
|
|
break
|
|
} else if text == "help" {
|
|
fmt.Println("Available commands:")
|
|
fmt.Println("- help: show this help message")
|
|
fmt.Println("- quit: exit the program")
|
|
fmt.Println("- [command name]: execute a command")
|
|
} else {
|
|
// Execute the command
|
|
fmt.Println("Executing command:", text)
|
|
}
|
|
}
|
|
|
|
}
|