finish auto_config
This commit is contained in:
parent
38375ffdda
commit
852c5e4a94
@ -1,5 +1,5 @@
|
|||||||
Name: assistant
|
Name: assistant
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9950
|
Port: 9950
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: auth
|
Name: auth
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9980
|
Port: 9980
|
||||||
MainAddress: "http://localhost:9900"
|
MainAddress: "http://localhost:9900"
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: backend
|
Name: backend
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9901
|
Port: 9901
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: canteen
|
Name: canteen
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9902
|
Port: 9902
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: data-transfer
|
Name: data-transfer
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9903
|
Port: 9903
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: home-user-auth
|
Name: home-user-auth
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9904
|
Port: 9904
|
||||||
MainAddress: "http://localhost:9900"
|
MainAddress: "http://localhost:9900"
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: inventory
|
Name: inventory
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9905
|
Port: 9905
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: map-library
|
Name: map-library
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9906
|
Port: 9906
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: orders
|
Name: orders
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9907
|
Port: 9907
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: product-model
|
Name: product-model
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9909
|
Port: 9909
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: product-template
|
Name: product-template
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9910
|
Port: 9910
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: product
|
Name: product
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9908
|
Port: 9908
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: render
|
Name: render
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 8888
|
Port: 8888
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: shopping-cart-confirmation
|
Name: shopping-cart-confirmation
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9911
|
Port: 9911
|
||||||
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
SourceMysql: fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest
|
||||||
Auth:
|
Auth:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: upload
|
Name: upload
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9912
|
Port: 9912
|
||||||
SourceMysql: "fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest"
|
SourceMysql: "fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest"
|
||||||
Env: "test"
|
Env: "test"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Name: webset
|
Name: webset
|
||||||
Host: 0.0.0.0
|
Host: localhost
|
||||||
Port: 9913
|
Port: 9913
|
||||||
SourceMysql: "fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest"
|
SourceMysql: "fusentest:XErSYmLELKMnf3Dh@tcp(110.41.19.98:3306)/fusentest"
|
||||||
Auth:
|
Auth:
|
||||||
|
91
utils/auto_config/auto_config.go
Normal file
91
utils/auto_config/auto_config.go
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
package autoconfig
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io/ioutil"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"runtime"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"gopkg.in/yaml.v2"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ConfigServer struct {
|
||||||
|
Name string
|
||||||
|
Host string `yaml:"Host"`
|
||||||
|
Port int `yaml:"Port"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func AutoGetAllServerConfig() []*ConfigServer {
|
||||||
|
var servers []*ConfigServer
|
||||||
|
etcPath := AutoGetEtcYaml()
|
||||||
|
err := filepath.Walk(*etcPath+"/server", func(path string, info os.FileInfo, err error) error {
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
// Skip if not a file or not a yaml file
|
||||||
|
if info.IsDir() || filepath.Ext(path) != ".yaml" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read file
|
||||||
|
data, err := ioutil.ReadFile(path)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unmarshal the yaml content
|
||||||
|
var server ConfigServer
|
||||||
|
err = yaml.Unmarshal(data, &server)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
dirs := strings.Split(path, "/")
|
||||||
|
|
||||||
|
server.Name = dirs[len(dirs)-3]
|
||||||
|
// Add the server to the list
|
||||||
|
servers = append(servers, &server)
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
panic("Error: " + err.Error())
|
||||||
|
}
|
||||||
|
return servers
|
||||||
|
}
|
||||||
|
|
||||||
|
func AutoGetEtcYaml() *string {
|
||||||
|
var currentFilePath string
|
||||||
|
var ok bool
|
||||||
|
|
||||||
|
_, currentFilePath, _, ok = runtime.Caller(1)
|
||||||
|
if !ok {
|
||||||
|
panic("Error: Unable to get the current file path.")
|
||||||
|
}
|
||||||
|
|
||||||
|
dirs := strings.Split(currentFilePath, "/")
|
||||||
|
dirs = dirs[0 : len(dirs)-1]
|
||||||
|
|
||||||
|
for len(dirs) != 0 {
|
||||||
|
curPath := strings.Join(dirs, "/")
|
||||||
|
|
||||||
|
dirs = dirs[0 : len(dirs)-1]
|
||||||
|
|
||||||
|
// 列出所有 curPath 下的文件夹
|
||||||
|
files, err := ioutil.ReadDir(curPath)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查找每个文件夹下是否存在 server
|
||||||
|
for _, file := range files {
|
||||||
|
if file.Name() == "server" {
|
||||||
|
return &curPath
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
7
utils/auto_config/auto_config_test.go
Normal file
7
utils/auto_config/auto_config_test.go
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
package autoconfig
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestAutoConfig(t *testing.T) {
|
||||||
|
AutoGetEtcYaml()
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user