From c6d744da12e7bc4ebcfe6fd17fd7124c374b96e2 Mon Sep 17 00:00:00 2001 From: wubijie Date: Fri, 1 Nov 2024 14:16:24 +0800 Subject: [PATCH] add extention and unexpected handling --- configmanage/server/main.go | 37 ++++++++++++++++++----- configmanage/server/service/extentions.go | 20 ++++++++++++ 2 files changed, 49 insertions(+), 8 deletions(-) diff --git a/configmanage/server/main.go b/configmanage/server/main.go index 968b356f..815c6a17 100644 --- a/configmanage/server/main.go +++ b/configmanage/server/main.go @@ -4,6 +4,8 @@ import ( "flag" "fmt" "os" + "os/signal" + "syscall" "gitee.com/openeuler/PilotGo/sdk/logger" "gitee.com/openeuler/PilotGo/sdk/plugin/client" @@ -19,40 +21,59 @@ var config_file string func main() { fmt.Println("hello plugin-config") + // 初始化配置文件内容 flag.StringVar(&config_file, "conf", "./config.yaml", "plugin-config configuration file") flag.Parse() err := config.Init(config_file) if err != nil { - fmt.Println("failed to load configure, exit..", err) + logger.Info("failed to load configure: %s", err) os.Exit(-1) } + // 初始化日志信息 if err := logger.Init(config.Config().Logopts); err != nil { - fmt.Printf("logger init failed, please check the config file: %s", err) + logger.Info("logger init failed, please check the config file: %s", err) os.Exit(-1) } - logger.Info("Thanks to choose plugin-config!") // mysql db初始化 if err := db.MysqldbInit(config.Config().Mysql); err != nil { - fmt.Printf("mysql db init failed, please check again: %s", err) + logger.Info("mysql db init failed, please check again: %s", err) os.Exit(-1) } + // 初始化数据库表 err = service.Init() if err != nil { - fmt.Printf("init sb table error: %s\n", err) + logger.Info("init db table error: %s\n", err) os.Exit(-1) } - server := router.InitRouter() global.GlobalClient = client.DefaultClient(global.Init(config.Config().ConfigPlugin)) - + service.AddExtentions() service.AddPermission() + // 初始化路由信息 + server := router.InitRouter() go router.RegisterAPIs(server) if err := server.Run(config.Config().HttpServer.Addr); err != nil { - fmt.Printf("failed to run server: %s", err) + logger.Info("failed to run server: %s", err) os.Exit(-1) } + + c := make(chan os.Signal, 1) + signal.Notify(c, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT) + for { + s := <-c + switch s { + case syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT: + logger.Info("signal interrupted: %s", s.String()) + goto EXIT + default: + logger.Info("unknown signal: %s", s.String()) + } + } + +EXIT: + fmt.Println("Thanks to choose plugin-config!") } diff --git a/configmanage/server/service/extentions.go b/configmanage/server/service/extentions.go index 4fab2c8b..60152160 100644 --- a/configmanage/server/service/extentions.go +++ b/configmanage/server/service/extentions.go @@ -5,6 +5,26 @@ import ( "openeuler.org/PilotGo/configmanage-plugin/global" ) +// 添加扩展点信息 +func AddExtentions() { + var ex []common.Extention + pe1 := &common.PageExtention{ + Type: common.ExtentionPage, + Name: "添加配置", + URL: "/add", + Permission: "plugin.configmanage.page/menu", + } + pe2 := &common.PageExtention{ + Type: common.ExtentionPage, + Name: "查看配置", + URL: "/view", + Permission: "plugin.configmanage.page/menu", + } + ex = append(ex, pe1, pe2) + global.GlobalClient.RegisterExtention(ex) +} + +// 添加权限信息 func AddPermission() { var ps []common.Permission p1 := common.Permission{ -- Gitee