From eb19fe83872bbc9d8ef334486be2da85c54718b5 Mon Sep 17 00:00:00 2001 From: Wangjunqi123 Date: Wed, 12 Jun 2024 16:49:01 +0800 Subject: [PATCH] agent: support https --- agent/conf/config.go | 13 ++++++++----- agent/handler/router.go | 12 ++++++++++-- conf/topo_agent.yaml.templete | 3 +++ 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/agent/conf/config.go b/agent/conf/config.go index 956ffba..38d913a 100644 --- a/agent/conf/config.go +++ b/agent/conf/config.go @@ -12,11 +12,14 @@ import ( ) type TopoConf struct { - Agent_addr string `yaml:"agent_addr"` - Agent_port string `yaml:"agent_port"` - Server_addr string `yaml:"server_addr"` - Datasource string `yaml:"datasource"` - Heartbeat int `yaml:"heartbeat"` + Https_enabled bool `yaml:"https_enabled"` + Public_certificate string `yaml:"cert_file"` + Private_key string `yaml:"key_file"` + Agent_addr string `yaml:"agent_addr"` + Agent_port string `yaml:"agent_port"` + Server_addr string `yaml:"server_addr"` + Datasource string `yaml:"datasource"` + Heartbeat int `yaml:"heartbeat"` } type PilotGoConf struct { diff --git a/agent/handler/router.go b/agent/handler/router.go index abe4a69..4fcb592 100755 --- a/agent/handler/router.go +++ b/agent/handler/router.go @@ -12,8 +12,16 @@ func InitWebServer() { gin.SetMode(gin.ReleaseMode) InitRouter(engine) - if err := engine.Run(conf.Config().Topo.Agent_addr); err != nil { - logger.Fatal("failed to run web server") + if conf.Config().Topo.Https_enabled { + err := engine.RunTLS(conf.Config().Topo.Agent_addr, conf.Config().Topo.Public_certificate, conf.Config().Topo.Private_key) + if err != nil { + logger.Fatal("failed to run web server: %+v", err.Error()) + } + } else { + err := engine.Run(conf.Config().Topo.Agent_addr) + if err != nil { + logger.Fatal("failed to run web server: %+v", err.Error()) + } } }() } diff --git a/conf/topo_agent.yaml.templete b/conf/topo_agent.yaml.templete index e739aab..b7c599c 100644 --- a/conf/topo_agent.yaml.templete +++ b/conf/topo_agent.yaml.templete @@ -1,4 +1,7 @@ topo: + https_enabled: false + cert_file: "" + key_file: "" agent_addr: "localhost:9992" server_addr: "localhost:9991" datasource: "gopsutil" -- Gitee