Skip to content

Commit 0429e76

Browse files
committed
feat(gateway): add gateway gmctl
1 parent f4faba9 commit 0429e76

File tree

9 files changed

+54
-152
lines changed

9 files changed

+54
-152
lines changed

gmctl/generator/gw/gengwcfg.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ import (
77
"path/filepath"
88
)
99

10-
//go:embed tpl/gw/etc/cfg.tpl
10+
//go:embed tpl/gw/etc/properties.tpl
1111
var gwCfgTemplate string
1212

1313
func (g *GwGenerator) GenGwCfg(ctx DirContext, gctx *GwContext) error {
1414

15-
fileName := filepath.Join(ctx.GetEtc().Filename, fmt.Sprintf("%v.toml", "cfg"))
15+
fileName := filepath.Join(ctx.GetEtc().Filename, fmt.Sprintf("%v.yml", "properties"))
1616

1717
return util.With("gwCfg").GoFmt(false).Parse(gwCfgTemplate).SaveTo(map[string]any{
1818
"project": ctx.GetProjectName(),

gmctl/generator/gw/gengwserver.go

Lines changed: 0 additions & 18 deletions
This file was deleted.

gmctl/generator/gw/gwgenator.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,5 @@ func (g *GwGenerator) Generate(gctx *GwContext) error {
5757
return err
5858
}
5959

60-
err = g.GenGwServer(dirCtx, gctx)
61-
if err != nil {
62-
return err
63-
}
64-
6560
return nil
6661
}
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package main
22

33
import (
4-
"context"
5-
"gateway/internal/app"
64
"gateway/internal/config"
5+
"github.com/huerni/gmitex/core/discovery"
6+
"github.com/huerni/gmitex/core/gateway"
77
)
88

99
func main() {
10-
discovery.EnableDiscovery()
11-
server := core.NewAPIGatewayServer()
12-
server.Start()
10+
discovery.EnableDiscovery(config.GetRegisterCenter())
11+
server := core.NewAPIGatewayServer(config.GetServerConfig())
12+
server.Start(config.GetGatewayRouter())
1313
}

gmctl/generator/gw/tpl/gw/docker-compose.tpl

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,3 @@ services:
2525
- "2379:2379"
2626
- "2380:2380"
2727

28-
traefik:
29-
image: "traefik:latest"
30-
restart: always
31-
container_name: {{.project}}-traefik
32-
command:
33-
- "--api.insecure=true"
34-
- "--providers.docker=false"
35-
- "--providers.etcd=true"
36-
- "--providers.etcd.endpoints={{.project}}-etcd:2379"
37-
- "--entrypoints.web.address=:80"
38-
ports:
39-
- "8090:80"
40-
- "9090:8080"
41-

gmctl/generator/gw/tpl/gw/etc/cfg.tpl

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
server:
2+
port: 8790
3+
contextPath: /
4+
timeout: 10
5+
host:
6+
registerCenter:
7+
refreshFrequency: 30
8+
# eureka:
9+
# serviceUrls: [ http://localhost:8761 ]
10+
etcd:
11+
prefix: test
12+
endpoints: ["127.0.0.1:2379"]
13+
14+
gateway:
15+
routers:
16+
gmitest:
17+
path: /api/v1/gmitest/**
18+
serviceId: gmitest
19+
stripPrefix: false
20+
timeout: 30

gmctl/generator/gw/tpl/gw/internal/app/gwserver.tpl

Lines changed: 0 additions & 59 deletions
This file was deleted.
Lines changed: 27 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,44 @@
11
package config
22

33
import (
4-
"github.com/huerni/gmitex/pkg/config"
5-
"github.com/zeromicro/go-zero/core/conf"
4+
"github.com/huerni/gmitex/core/gateway/config"
5+
"gopkg.in/yaml.v2"
6+
"io/ioutil"
7+
8+
"github.com/huerni/gmitex/core/logger"
69
)
710

8-
type Config struct {
9-
Prefix string `json:"prefix"`
11+
var appConfig = &AppConfig{}
1012

11-
Etcd config.EtcdConf `json:"etcd,option"`
12-
Mysql config.MysqlConf `json:"mysql,option"`
13-
}
13+
type AppConfig struct {
14+
// eureka 配置信息
15+
RegisterCenter *config.RegisterCenter `yaml:"registerCenter"`
1416
15-
var (
16-
Cfg *Config
17-
)
17+
// 路由配置信息
18+
GatewayRouter *config.Routers `yaml:"gateway"`
1819
19-
func InitConfig(filePath string) (*Config, error) {
20-
if Cfg == nil {
21-
Cfg = &Config{}
22-
conf.MustLoad(filePath, Cfg)
23-
err := FigureConf(Cfg)
24-
if err != nil {
25-
return nil, err
26-
}
27-
}
20+
// web 服务配置信息
21+
Server *config.ServerConfig `yaml:"server"`
22+
}
2823

29-
return Cfg, nil
24+
func GetServerConfig() *config.ServerConfig {
25+
return appConfig.Server
3026
}
3127

32-
func GetConfig() *Config {
33-
return Cfg
28+
func GetGatewayRouter() *config.Routers {
29+
return appConfig.GatewayRouter
3430
}
3531

36-
func FigureConf(c *Config) error {
37-
err := c.Etcd.FigureConfig()
38-
if err != nil {
39-
return err
40-
}
32+
func GetRegisterCenter() *config.RegisterCenter {
33+
return appConfig.RegisterCenter
34+
}
4135

42-
err = c.Mysql.FigureConfig()
36+
func init() {
37+
logger.Info("加载路由配置信息")
38+
data, err := ioutil.ReadFile("etc/properties.yml")
4339
if err != nil {
44-
return err
40+
logger.Error("从 conf/properties.yml 配置文件中加载配置信息失败")
4541
}
46-
47-
return nil
42+
yaml.Unmarshal(data, appConfig)
43+
logger.Info("路由配置信息解析完成")
4844
}

0 commit comments

Comments
 (0)