84 lines
2.0 KiB
Go
84 lines
2.0 KiB
Go
package conf
|
||
|
||
import (
|
||
"encoding/json"
|
||
"errors"
|
||
"fmt"
|
||
"github.com/aceld/zinx/zconf"
|
||
"github.com/aceld/zinx/zlog"
|
||
"io/ioutil"
|
||
"os"
|
||
)
|
||
|
||
type Config struct {
|
||
/*
|
||
Server
|
||
*/
|
||
Mysql string `json:"mysql"`
|
||
FTPRoot string `json:"ftp_root"`
|
||
Channel []struct {
|
||
TCPPort int `json:"tcp_port"` //当前通道的TCP监听端口
|
||
BindFlag string `json:"bind_flag"` //当前通道bind 的网元信息
|
||
Province string `json:"province"` //网元所在省份
|
||
DeviceCode string `json:"device_code"` //主机编码 四位,每1位可用0-9、A-Z编码
|
||
} `json:"channel"`
|
||
|
||
//以下是zinx 的配置
|
||
Name string `json:"name"`
|
||
MaxConn int `json:"max_conn"`
|
||
WorkerPoolSize int `json:"worker_pool_size"`
|
||
HeartbeatMax int `json:"heartbeat_max"`
|
||
LogDir string `json:"log_dir"`
|
||
LogFile string `json:"log_file"`
|
||
|
||
//证书配置
|
||
CA struct {
|
||
RootCert string `json:"root_cert"` //root CA证书存放路径
|
||
Cert string `json:"cert"` // 服务端CA证书存放路径
|
||
PrivateKey string `json:"private_key"` // 服务端私钥存放路径
|
||
Check bool `json:"check"` // 是否开启服务端证书检查功能
|
||
} `json:"ca"`
|
||
}
|
||
|
||
var OmcConf Config
|
||
|
||
const ConfPath = "/conf/nbi_alarm_agent.json"
|
||
|
||
func Reload(path string) error {
|
||
if confFileExists, _ := zconf.PathExists(path); confFileExists != true {
|
||
zlog.Ins().ErrorF("Config File %s is not exist!!", path)
|
||
return errors.New("config file is not exist")
|
||
}
|
||
|
||
data, err := ioutil.ReadFile(path)
|
||
if err != nil {
|
||
return err
|
||
}
|
||
|
||
err = json.Unmarshal(data, &OmcConf)
|
||
if err != nil {
|
||
return err
|
||
}
|
||
return nil
|
||
}
|
||
|
||
func Init(path string) {
|
||
fmt.Println("filePath:", path)
|
||
if path == "" {
|
||
pwd, err := os.Getwd()
|
||
if err != nil {
|
||
pwd = "."
|
||
}
|
||
path = pwd + ConfPath
|
||
fmt.Println("path", path)
|
||
}
|
||
|
||
if err := Reload(path); err != nil {
|
||
zlog.Ins().ErrorF("Config File %s error, ", err)
|
||
|
||
panic(err)
|
||
}
|
||
}
|
||
|
||
//"mysql": "root:1000omc@kp!@tcp(192.168.2.119:33066)/omc_db?charset=utf8mb4&parseTime=True&loc=Local",
|