package function import "strings" type BaseFunc interface { Exec(baseFuncName string, funcArgs ...string) string } type AgentOsOperator struct { execCommandPrefix string `json:"exec_command_prefix",comment:"apt-get or yum or zapper"` canAccessInternet bool `json:"can_access_internet",comment:"是否可以访问公网"` } // Exec 执行基础功能函数 func (op *AgentOsOperator) Exec(baseFuncName string, funcArgs ...string) string { result := "" switch baseFuncName { case "shutdownFirewall": result = op.shutdownFirewall() break case "modifyHostname": result = op.modifyHostname(funcArgs) break case "disableSwap": result = op.disableSwap() break case "installDocker": result = op.installDocker(funcArgs) break case "installDockerCompose": result = op.installDockerCompose() break case "modifyDockerConfig": result = op.modifyDockerConfig() break case "installHelm": result = op.installHelm() break case "installHarbor": result = op.installHarbor(funcArgs) break case "chronyToPublicNTP": result = op.chronyToPublicNTP() break case "chronyToMaster": result = op.chronyToMaster(funcArgs) break case "installZSH": result = op.installZSH() break case "modifySshPort": result = op.modifySshPort(funcArgs) break case "openBBR": result = op.openBBR() break default: result = op.ok(funcArgs) } return result } func (op *AgentOsOperator) shutdownFirewall() string { return "" } func (op *AgentOsOperator) modifyHostname(args []string) string { return "" } func (op *AgentOsOperator) disableSwap() string { return "" } func (op *AgentOsOperator) installDocker(args []string) string { return "" } func (op *AgentOsOperator) installDockerCompose() string { return "" } func (op *AgentOsOperator) installHelm() string { return "" } func (op *AgentOsOperator) modifyDockerConfig() string { return "" } func (op *AgentOsOperator) installHarbor(args []string) string { return "" } func (op *AgentOsOperator) chronyToPublicNTP() string { return "" } func (op *AgentOsOperator) chronyToMaster(args []string) string { return "" } func (op *AgentOsOperator) installZSH() string { return "" } func (op *AgentOsOperator) modifySshPort(args []string) string { return "" } func (op *AgentOsOperator) openBBR() string { return "" } func (op *AgentOsOperator) ok(args []string) string { return "base function is ok , args are => " + strings.Join(args, " ") }