From e11d6b32259a731f54c1a2dbf97d4637dd6222e5 Mon Sep 17 00:00:00 2001 From: wubijie Date: Wed, 6 Nov 2024 10:23:04 +0800 Subject: [PATCH] Complete the sshd configuration of LoadConfigHandler logic --- configmanage/server/controller/configinstance.go | 15 +++++++++++++++ configmanage/server/service/ssh.go | 12 ++++++------ configmanage/server/service/sshd.go | 10 ++++++++++ 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/configmanage/server/controller/configinstance.go b/configmanage/server/controller/configinstance.go index 2c3acb61..8dfba54f 100644 --- a/configmanage/server/controller/configinstance.go +++ b/configmanage/server/controller/configinstance.go @@ -266,6 +266,7 @@ func LoadConfigHandler(c *gin.Context) { ci.Config = hostconfig logger.Debug("load hostconfig success") response.Success(c, ci, "load hostconfig success") + case global.SSH: sshconfig := &service.SSHConfig{ ConfigInfoUUID: ci.UUID, @@ -280,7 +281,21 @@ func LoadConfigHandler(c *gin.Context) { ci.Config = sshconfig logger.Debug("load sshconfig success") response.Success(c, ci, "load sshconfig success") + case global.SSHD: + sshdconfig := &service.SSHDConfig{ + ConfigInfoUUID: ci.UUID, + } + // 加载正在使用的配置 + err = sshdconfig.Load() + if err != nil { + logger.Error("failed to get sshdconfig file: %s", err.Error()) + response.Fail(c, "failed to get sshdconfig file:", err.Error()) + return + } + ci.Config = sshdconfig + logger.Debug("load sshdconfig success") + response.Success(c, ci, "load sshdconfig success") case global.Sysctl: diff --git a/configmanage/server/service/ssh.go b/configmanage/server/service/ssh.go index a7adf149..51541533 100644 --- a/configmanage/server/service/ssh.go +++ b/configmanage/server/service/ssh.go @@ -84,25 +84,25 @@ func (sc *SSHConfig) Load() error { return nil } -func (rc *SSHConfig) Apply() (json.RawMessage, error) { +func (sc *SSHConfig) Apply() (json.RawMessage, error) { // 从数据库获取下发的信息 - sf, err := internal.GetHostFileByUUID(rc.UUID) + sf, err := internal.GetHostFileByUUID(sc.UUID) if err != nil { return nil, err } - if sf.ConfigInfoUUID != rc.ConfigInfoUUID || sf.UUID != rc.UUID { + if sf.ConfigInfoUUID != sc.ConfigInfoUUID || sf.UUID != sc.UUID { return nil, errors.New("数据库不存在此配置") } - batchids, err := internal.GetConfigBatchByUUID(rc.ConfigInfoUUID) + batchids, err := internal.GetConfigBatchByUUID(sc.ConfigInfoUUID) if err != nil { return nil, err } - departids, err := internal.GetConfigDepartByUUID(rc.ConfigInfoUUID) + departids, err := internal.GetConfigDepartByUUID(sc.ConfigInfoUUID) if err != nil { return nil, err } - nodes, err := internal.GetConfigNodesByUUID(rc.ConfigInfoUUID) + nodes, err := internal.GetConfigNodesByUUID(sc.ConfigInfoUUID) if err != nil { return nil, err } diff --git a/configmanage/server/service/sshd.go b/configmanage/server/service/sshd.go index c7ab826c..ed59bf5a 100644 --- a/configmanage/server/service/sshd.go +++ b/configmanage/server/service/sshd.go @@ -67,3 +67,13 @@ func (sdc *SSHDConfig) Load() error { sdc.IsActive = sdf.IsActive return nil } + +// TODO: +func (sdc *SSHDConfig) Apply() (json.RawMessage, error) { + return nil, errors.New("failed to apply SSHDConfig") +} + +// TODO: +func (sdc *SSHDConfig) Collect() error { + return nil +} -- Gitee