feat: 删除不需要文件夹
This commit is contained in:
344
restagent/config/config.go
Normal file
344
restagent/config/config.go
Normal file
@@ -0,0 +1,344 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"ems.agt/lib/core/conf"
|
||||
"ems.agt/lib/global"
|
||||
"ems.agt/lib/log"
|
||||
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
||||
type DbConfig struct {
|
||||
Type string `yaml:"type"`
|
||||
User string `yaml:"user"`
|
||||
Password string `yaml:"password"`
|
||||
Host string `yaml:"host"`
|
||||
Port string `yaml:"port"`
|
||||
Name string `yaml:"name"`
|
||||
Backup string `yaml:"backup"`
|
||||
}
|
||||
|
||||
// Yaml struct of config
|
||||
type YamlConfig struct {
|
||||
Logger struct {
|
||||
File string `yaml:"file"`
|
||||
Level string `yaml:"level"`
|
||||
Duration int `yaml:"duration"`
|
||||
Count int `yaml:"count"`
|
||||
} `yaml:"logger"`
|
||||
|
||||
Rest []struct {
|
||||
IPv4 string `yaml:"ipv4"`
|
||||
IPv6 string `yaml:"ipv6"`
|
||||
Port uint16 `yaml:"port"`
|
||||
Scheme string `yaml:"scheme"`
|
||||
CaFile string `yaml:"caFile"`
|
||||
CertFile string `yaml:"certFile"`
|
||||
KeyFile string `yaml:"keyFile"`
|
||||
} `yaml:"rest"`
|
||||
|
||||
WebServer struct {
|
||||
Enabled bool `yaml:"enabled"`
|
||||
RootDir string `yaml:"rootDir"`
|
||||
Listen []struct {
|
||||
Addr string `yaml:"addr"`
|
||||
Scheme string `yaml:"scheme"`
|
||||
CaFile string `yaml:"caFile"`
|
||||
CertFile string `yaml:"certFile"`
|
||||
KeyFile string `yaml:"keyFile"`
|
||||
} `yaml:"listen"`
|
||||
} `yaml:"webServer"`
|
||||
|
||||
Database DbConfig `yaml:"database"`
|
||||
|
||||
OMC struct {
|
||||
UriPrefix string `yaml:"uriPrefix"`
|
||||
NeType string `yaml:"neType"`
|
||||
NeId string `yaml:"neId"`
|
||||
RmUID string `yaml:"rmUID"`
|
||||
NeName string `yaml:"neName"`
|
||||
Province string `yaml:"province"`
|
||||
Vendor string `yaml:"vendor"`
|
||||
Dn string `yaml:"dn"`
|
||||
Chk2Ne bool `yaml:"chk2ne"`
|
||||
Sn string `yaml:"sn"`
|
||||
CheckSign bool `yaml:"checksign"`
|
||||
Backup string `yaml:"backup"`
|
||||
Upload string `yaml:"upload"`
|
||||
FrontUpload string `yaml:"frontUpload"`
|
||||
FrontTraceDir string `yaml:"frontTraceDir"`
|
||||
Software string `yaml:"software"`
|
||||
License string `yaml:"license"`
|
||||
GtpUri string `yaml:"gtpUri"`
|
||||
CheckContentType bool `yaml:"checkContentType"`
|
||||
TestMode bool `yaml:"testMode"`
|
||||
RBACMode bool `yaml:"rbacMode"`
|
||||
RunDir string `yaml:"runDir"`
|
||||
} `yaml:"omc"`
|
||||
|
||||
Alarm struct {
|
||||
ForwardAlarm bool `yaml:"forwardAlarm"`
|
||||
Email struct {
|
||||
Smtp string `yaml:"smtp"`
|
||||
Port uint16 `yaml:"port"`
|
||||
User string `yaml:"user"`
|
||||
Password string `yaml:"password"`
|
||||
} `json:"email"`
|
||||
SMS struct {
|
||||
ApiURL string `yaml:"apiURL"`
|
||||
AccessKeyID string `yaml:"AccessKeyID"`
|
||||
AccessKeySecret string `yaml:"accessKeySecret"`
|
||||
SignName string `yaml:"signName"`
|
||||
TemplateCode string `yaml:"templateCode"`
|
||||
} `json:"sms"`
|
||||
} `yaml:"alarm"`
|
||||
|
||||
MML struct {
|
||||
Port int `yaml:"port"`
|
||||
Sleep int64 `yaml:"sleep"`
|
||||
User string `yaml:"user"`
|
||||
Password string `ymal:"password"`
|
||||
MmlHome string `yaml:"mmlHome"`
|
||||
Upload string `yaml:"upload"`
|
||||
} `yaml:"mml"`
|
||||
|
||||
NE struct {
|
||||
Addr string `yaml:"addr"`
|
||||
Port uint16 `yaml:"port"`
|
||||
User string `yaml:"user"`
|
||||
EtcDir string `yaml:"etcdir"`
|
||||
BinDir string `yaml:"bindir"`
|
||||
OmcDir string `yaml:"omcdir"`
|
||||
ScpDir string `yaml:"scpdir"`
|
||||
LicenseDir string `yaml:"licensedir"`
|
||||
} `yaml:"ne"`
|
||||
|
||||
Auth struct {
|
||||
Crypt string `yaml:"crypt"`
|
||||
Token bool `yaml:"token"`
|
||||
Expires uint32 `yaml:"expires"`
|
||||
Session string `yaml:"session"`
|
||||
PublicKey string `yaml:"publicKey"`
|
||||
PrivateKey string `yaml:"privateKey"`
|
||||
} `yaml:"auth"`
|
||||
|
||||
Params struct {
|
||||
RmUIDMaxNum int `yaml:"rmuidmaxnum"`
|
||||
AlarmIDMaxNum int `yaml:"alarmidmaxnum"`
|
||||
PmIDMaxNum int `yaml:"pmidmaxnum"`
|
||||
SubIDMaxNum int `yaml:"subidmaxnum"`
|
||||
UriMaxLen int `yaml:"urimaxlen"`
|
||||
RmUIDRegexp string `yaml:"rmuidregexp"`
|
||||
} `yaml:"params"`
|
||||
|
||||
TestConfig struct {
|
||||
Enabled bool `yaml:"enabled"`
|
||||
File string `yaml:"file"`
|
||||
} `yaml:"testConfig"`
|
||||
}
|
||||
|
||||
type TestDatas struct {
|
||||
UDM struct {
|
||||
CapUsed uint32 `yaml:"capUsed"`
|
||||
FeatureEnabled []string `yaml:"featureEnabled"`
|
||||
} `yaml:"udm"`
|
||||
AUSF struct {
|
||||
CapUsed uint32 `yaml:"capUsed"`
|
||||
FeatureEnabled []string `yaml:"featureEnabled"`
|
||||
} `yaml:"ausf"`
|
||||
AMF struct {
|
||||
CapUsed uint32 `yaml:"capUsed"`
|
||||
FeatureEnabled []string `yaml:"featureEnabled"`
|
||||
} `yaml:"amf"`
|
||||
SMF struct {
|
||||
CapUsed uint32 `yaml:"capUsed"`
|
||||
FeatureEnabled []string `yaml:"featureEnabled"`
|
||||
} `yaml:"smf"`
|
||||
UPF struct {
|
||||
CapUsed uint32 `yaml:"capUsed"`
|
||||
FeatureEnabled []string `yaml:"featureEnabled"`
|
||||
} `yaml:"upf"`
|
||||
}
|
||||
|
||||
type NeTestData struct {
|
||||
CapUsed uint32 `yaml:"capUsed"`
|
||||
FeatureEnabled []string `yaml:"featureEnabled"`
|
||||
}
|
||||
type TestDataMap struct {
|
||||
NeTestDatas []map[string]NeTestData
|
||||
}
|
||||
|
||||
var yamlConfig YamlConfig
|
||||
|
||||
func ReadConfig(configFile string) {
|
||||
yamlFile, err := os.ReadFile(configFile)
|
||||
if err != nil {
|
||||
fmt.Println("Read yaml config file error:", err)
|
||||
os.Exit(2)
|
||||
}
|
||||
// fmt.Println("yamlfile:", string(yamlFile))
|
||||
|
||||
err = yaml.Unmarshal(yamlFile, &yamlConfig)
|
||||
if err != nil {
|
||||
fmt.Println("Unmarshal error:", err)
|
||||
os.Exit(3)
|
||||
}
|
||||
}
|
||||
|
||||
func WriteYamlConfig(newConfigData YamlConfig, configFile string) {
|
||||
// 将配置转换回YAML数据
|
||||
newYamlData, err := yaml.Marshal(&newConfigData)
|
||||
if err != nil {
|
||||
log.Errorf("Failed to marshal YAML: %v", err)
|
||||
}
|
||||
|
||||
// 将新的YAML数据写入文件
|
||||
err = os.WriteFile(configFile, newYamlData, 0644)
|
||||
if err != nil {
|
||||
log.Errorf("Failed to write YAML file: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
var mapYaml map[string]interface{}
|
||||
|
||||
func ReadParamConfig(fileName string) *map[string]interface{} {
|
||||
file, err := os.ReadFile(fileName)
|
||||
if err != nil {
|
||||
fmt.Println("Read yaml file error:", err)
|
||||
}
|
||||
|
||||
mapYaml = make(map[string]interface{})
|
||||
|
||||
err = yaml.Unmarshal(file, &mapYaml)
|
||||
if err != nil {
|
||||
fmt.Printf("yaml.Unmarshal: %v when to struct", err)
|
||||
}
|
||||
// fmt.Println("mapYaml:", mapYaml)
|
||||
|
||||
return &mapYaml
|
||||
}
|
||||
|
||||
func GetYamlConfig() *YamlConfig {
|
||||
return &yamlConfig
|
||||
}
|
||||
|
||||
func GetAuthFromConfig() interface{} {
|
||||
return yamlConfig.Auth
|
||||
}
|
||||
|
||||
func GetExpiresFromConfig() uint32 {
|
||||
return yamlConfig.Auth.Expires
|
||||
}
|
||||
|
||||
func GetRmUIDFromConfig() string {
|
||||
return yamlConfig.OMC.RmUID
|
||||
}
|
||||
|
||||
func GetRmUIDRegexpFromConfig() string {
|
||||
return yamlConfig.Params.RmUIDRegexp
|
||||
}
|
||||
|
||||
func GetRmUIDMaxNumFromConfig() int {
|
||||
return yamlConfig.Params.RmUIDMaxNum
|
||||
}
|
||||
|
||||
func GetAlarmIDMaxNumFromConfig() int {
|
||||
return yamlConfig.Params.AlarmIDMaxNum
|
||||
}
|
||||
|
||||
func GetPmIDMaxNumFromConfig() int {
|
||||
return yamlConfig.Params.PmIDMaxNum
|
||||
}
|
||||
|
||||
func GetSubIDMaxNumFromConfig() int {
|
||||
return yamlConfig.Params.SubIDMaxNum
|
||||
}
|
||||
|
||||
func GetUriMaxLenFromConfig() int {
|
||||
return yamlConfig.Params.UriMaxLen
|
||||
}
|
||||
|
||||
func GetLogLevel() log.LogLevel {
|
||||
var logLevel log.LogLevel
|
||||
switch strings.ToLower(yamlConfig.Logger.Level) {
|
||||
case "trace":
|
||||
logLevel = log.LOG_TRACE
|
||||
case "info":
|
||||
logLevel = log.LOG_INFO
|
||||
case "debug":
|
||||
logLevel = log.LOG_DEBUG
|
||||
case "warn":
|
||||
logLevel = log.LOG_WARN
|
||||
case "error":
|
||||
logLevel = log.LOG_ERROR
|
||||
case "fatal":
|
||||
logLevel = log.LOG_FATAL
|
||||
case "off":
|
||||
logLevel = log.LOG_OFF
|
||||
default:
|
||||
logLevel = log.LOG_DEBUG
|
||||
}
|
||||
return logLevel
|
||||
}
|
||||
|
||||
var (
|
||||
DefaultUriPrefix string = "/api/rest"
|
||||
UriPrefix string = "/api/rest"
|
||||
//TestDataUDM []map[string]interface{}
|
||||
TDatas map[string]NeTestData
|
||||
)
|
||||
|
||||
func ReadTestConfigYaml(pfile string) (ret error) {
|
||||
file, err := os.ReadFile(pfile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = yaml.Unmarshal(file, &TDatas)
|
||||
if err != nil {
|
||||
fmt.Println("Failed to Unmarshal:", err)
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetDefaultUserAgent() string {
|
||||
return "OMC-restagent/" + global.Version
|
||||
}
|
||||
|
||||
const defaultConfigFile = "./etc/restconf.yaml"
|
||||
|
||||
func init() {
|
||||
cfile := flag.String("c", defaultConfigFile, "config file")
|
||||
pv := flag.Bool("version", false, "print version")
|
||||
ph := flag.Bool("help", false, "print help")
|
||||
|
||||
global.BuildTime = "Wed May 31 18:24:04 CST 2023"
|
||||
global.GoVer = "go version go1.15.7 linux/arm64"
|
||||
flag.Parse()
|
||||
if *pv {
|
||||
fmt.Printf("OMC restagent version: %s\n%s\n%s\n\n", global.Version, global.BuildTime, global.GoVer)
|
||||
os.Exit(0)
|
||||
}
|
||||
if *ph {
|
||||
flag.Usage()
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
// 使用viper读取配置
|
||||
conf.InitConfig(*cfile)
|
||||
|
||||
ReadConfig(*cfile)
|
||||
if GetYamlConfig().OMC.UriPrefix != "" {
|
||||
UriPrefix = GetYamlConfig().OMC.UriPrefix
|
||||
}
|
||||
if GetYamlConfig().TestConfig.Enabled {
|
||||
ReadTestConfigYaml(GetYamlConfig().TestConfig.File)
|
||||
}
|
||||
}
|
||||
111
restagent/config/map.go
Normal file
111
restagent/config/map.go
Normal file
@@ -0,0 +1,111 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"log"
|
||||
|
||||
"gopkg.in/yaml.v3"
|
||||
|
||||
"ems.agt/lib/global"
|
||||
)
|
||||
|
||||
type Uri2Object struct {
|
||||
Uri string `yaml:"uri"`
|
||||
Object []Object `yaml:"object"`
|
||||
}
|
||||
|
||||
type Object struct {
|
||||
Name string `yaml:"name"`
|
||||
Syntax string `yaml:"syntax"`
|
||||
Oid string `yaml:"oid"`
|
||||
}
|
||||
|
||||
var uri2Object []Uri2Object
|
||||
|
||||
func ReadMap(pfile string) (ret error) {
|
||||
file, err := ioutil.ReadFile(pfile)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return err
|
||||
}
|
||||
|
||||
err = yaml.Unmarshal(file, &uri2Object)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return err
|
||||
}
|
||||
/*
|
||||
for _, v := range uri2Object {
|
||||
log.Println(v)
|
||||
}
|
||||
*/
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetOid(uri string, oids *[]string) *[]string {
|
||||
for _, v := range uri2Object {
|
||||
if uri == v.Uri {
|
||||
for _, o := range v.Object {
|
||||
*oids = append(*oids, o.Oid)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return oids
|
||||
}
|
||||
|
||||
func GetOidByFileds(uri string, fields []string, oids *[]string) *[]string {
|
||||
for _, v := range uri2Object {
|
||||
if uri == v.Uri {
|
||||
for _, o := range v.Object {
|
||||
if global.IsContain(o.Name, fields) || len(fields) == 0 {
|
||||
*oids = append(*oids, o.Oid)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return oids
|
||||
}
|
||||
|
||||
type NameOid struct {
|
||||
Name string
|
||||
Oid string
|
||||
}
|
||||
|
||||
type NameValue struct {
|
||||
Name string
|
||||
Value string
|
||||
}
|
||||
|
||||
func GetDataOid(Uri string, nameOids *[]NameOid) *[]NameOid {
|
||||
var nameOid NameOid
|
||||
for _, v := range uri2Object {
|
||||
if Uri == v.Uri {
|
||||
for _, o := range v.Object {
|
||||
nameOid.Name = o.Name
|
||||
nameOid.Oid = o.Oid
|
||||
*nameOids = append(*nameOids, nameOid)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nameOids
|
||||
}
|
||||
|
||||
func GetDataOidByFields(uri string, fields []string, nameOids *[]NameOid) *[]NameOid {
|
||||
var nameOid NameOid
|
||||
for _, v := range uri2Object {
|
||||
if uri == v.Uri {
|
||||
for _, o := range v.Object {
|
||||
nameOid.Name = o.Name
|
||||
nameOid.Oid = o.Oid
|
||||
if len(fields) == 0 || global.IsContainP(nameOid.Name, &fields, len(fields)) {
|
||||
*nameOids = append(*nameOids, nameOid)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nameOids
|
||||
}
|
||||
18
restagent/etc/certs/ca_cert.pem
Normal file
18
restagent/etc/certs/ca_cert.pem
Normal file
@@ -0,0 +1,18 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIC4jCCAcqgAwIBAgICB+cwDQYJKoZIhvcNAQELBQAwEjEQMA4GA1UEAxMHUm9v
|
||||
dCBDQTAeFw0yMzA4MTIxODA5MzZaFw0zMzA4MTIxODA5MzZaMBIxEDAOBgNVBAMT
|
||||
B1Jvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUTcFiT1GT
|
||||
Zq9ROKTuWm6IfFthO6ysthEKevwkgJGDRCwF+K6rx3j7izTDfLkXum5OPbcd/yiE
|
||||
B40Yrq9X2ckX260xG9PjDmGUaq8q5sza85Gg2hrW6wiLF9y8yYK3/v7716d0y6st
|
||||
jt71pH554R98m0zHkbkmrFEagWR5cEoVM6MPZp2wdDnOFBBRiB1BrbHMpAFiKJ6s
|
||||
oqm1yhUwCeeR/Hs09JF8KfOFhV4qAEVvE1cviHucCEvLBaG6xBzbKvYV2iOPu6u2
|
||||
o818wphqmSZYoj3/O4/EyVgvj1VdSqmkTSudiiIhLAa8/2JKrW1v7wFQjRkwNwdf
|
||||
h6UR5liIUwk7AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD
|
||||
AQH/MB0GA1UdDgQWBBRtEF/Jyw6Zz3v0K5uA6aMOr9LXRTANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEAErmFo6JjEoFZv8R2gwNUq7ln+YEh2hX4myLlNDfTpYeGnn2Ge70Kmb0o
|
||||
dkSyanDd9tGImcbEOttWAYve3vetvN3g+GONbf5pV7ClIbVV5MsjN/aGwj/TQWhu
|
||||
ttmfu9IV2b5HyFEM61eoHVrNoWiNpbNHTu5D/XF8sg5JkseTnJF06foykzAx28i6
|
||||
JcttunYn5SoWTIS9Ydu07X7uBcTeFBcKfH0xg4QlsNppiM5lIxBbp0WjQ8jyWw+b
|
||||
Lyef4N6hmiaOf6P6qwaVZkEBhK6MVf1zadURuUSWAkhwGFjA7IbjbJ7OfYLXkYp3
|
||||
mIrXQzjxz6AfyOcY/FsgcaDLf5xbYw==
|
||||
-----END CERTIFICATE-----
|
||||
BIN
restagent/etc/certs/omc_pri.key.aes_en
Normal file
BIN
restagent/etc/certs/omc_pri.key.aes_en
Normal file
Binary file not shown.
9
restagent/etc/certs/omc_pub.key
Normal file
9
restagent/etc/certs/omc_pub.key
Normal file
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA10O52xwLqvwrrof3Ckso
|
||||
QAXgQOMfIHB5HfrJYrd31tJlJbFw+bR1JHXIAdqh9Cz+H0ir8KfBXS/U2XgI5fbI
|
||||
upkzg3cRv86nuksGtrKHzi9Q7lYYzGWVW9Tc/hcvdibG6XwLSNYemFN6JrOa5mZ7
|
||||
IabtZLuPRwFCBx2XC/dg45wxrGWIe7fbw2SpGId76erwSn/oKJtoy5Ash7LrOkp6
|
||||
lu8L0QQNfs9cRntjf4aQo99ppWvUF0H6OFBsGymwRfPRtWqLiwK824zrpXKMLFX3
|
||||
e4FjFO7WQNR1spOuL0bH+Ym1cEPYUn8LJN9OaiodjEXc1pM1E5MHWXGMhnhiE9q3
|
||||
jwIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
27
restagent/etc/certs/private_key.pem
Normal file
27
restagent/etc/certs/private_key.pem
Normal file
@@ -0,0 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEpAIBAAKCAQEAlE3BYk9Rk2avUTik7lpuiHxbYTusrLYRCnr8JICRg0QsBfiu
|
||||
q8d4+4s0w3y5F7puTj23Hf8ohAeNGK6vV9nJF9utMRvT4w5hlGqvKubM2vORoNoa
|
||||
1usIixfcvMmCt/7++9endMurLY7e9aR+eeEffJtMx5G5JqxRGoFkeXBKFTOjD2ad
|
||||
sHQ5zhQQUYgdQa2xzKQBYiierKKptcoVMAnnkfx7NPSRfCnzhYVeKgBFbxNXL4h7
|
||||
nAhLywWhusQc2yr2Fdojj7urtqPNfMKYapkmWKI9/zuPxMlYL49VXUqppE0rnYoi
|
||||
ISwGvP9iSq1tb+8BUI0ZMDcHX4elEeZYiFMJOwIDAQABAoIBAFVJVhIsXVRwdBg4
|
||||
hBkS5ogVRBPp1obIeYpWadSwH36m4M5aUlE1eKzoRGK7wlIUA8V5FmroxysOkKUG
|
||||
KI5UD6Jp0fLw9uyX46QPqkb4zgyIkFI5u7+nEJW1Flt3Y3Ze7dJ1FbdEPWAIzs3j
|
||||
WFzNC2eEhCYs9pZ3+HhOuzJfUitYU6ts83tazSms+7E027e/v2ubtYOzluEoj4YK
|
||||
MM+ocqJOlXUOhyTATDaLs4fM567bwwFeriODQqmMIhXLf3HiBPfPYhoAlwPUV51L
|
||||
bAjIPwG2/jy0yXPenYOUqSMP1i+XkyTL4eVqOLLQUI+BsEaToS8M7Lf4KRQE0vQm
|
||||
uAkEA9ECgYEAxCsKXtkYXrma8UziSJgQBj88TfACyuYZBPkpBFJhffPVOreYzqmn
|
||||
gsE38oHlLhCrezsxvScivS/Cwt7kgBTE9r6xmH8y2f0P3PNmtazQCqovG1gsNZ1t
|
||||
9PZQmxbVUfx/7KRJ1Q5zX3x5C0P2c6XYv/1h/SQQ8PYXDhRxWZFVSikCgYEAwYlt
|
||||
AoP8j6yHDMk10vJd0fKT1lztcHcQLvH3HQn2kHci2GCxySvcac49hpXTDeNdUzcQ
|
||||
I9UWo1MggNojME3WHUTiZD5DYUzuNUBTkc0kMHWy79/YNAzvF9312MSyJ0NlytBQ
|
||||
ISh0z0sPSxDjW+XCi/8LGu1rrremBqvh0rNIrMMCgYEAt+C8VNHcZRZHpX3y8icP
|
||||
hjuKFGgwxe3Pb/j5uKJb3ktMCUEFjFo8uXTSM5AMuhRIGTgQVIS1rG5zemSh/Wj6
|
||||
g2uWXyKEEQ+D6hGBqjP1wrlpdJE+x3btFdw5DFbn2HT9mF0bFAn6nXu4npWzEw5X
|
||||
UQd67WT8OFIEpF8HLPTs5JkCgYBQlL6dmITU8Vm9mh1d+mnT23NwgnqeJATJ9xcT
|
||||
sS1HE0Of4grEHw4Dw8pcOg+JLcyStE91C+kEEb1ryOdz2kS3JRI5+K6nWZeo9mKV
|
||||
R1u1DZx2QbZMXcJDJriRC7y9mlNMsZVbaPPRx4fTknGHts9c6NEf4hC+y1pGVtSM
|
||||
nPc6bwKBgQCrtb6srow9o0acH7mMmieDuqvT8DQ6rHWoizgneZTuvIo6SPO6nRnR
|
||||
jfgfQkqr9IiLh9awSblQEN9fnddog7a1yS4cUZueiP5dmtFvp4B9Scnt+BoHpOLk
|
||||
rrU2i7grAye4Cd003+pqhSERGCKSzb3fTSYiMypKsxeH2bs8nrRu2A==
|
||||
-----END RSA PRIVATE KEY-----
|
||||
8
restagent/etc/certs/public_key.pem
Normal file
8
restagent/etc/certs/public_key.pem
Normal file
@@ -0,0 +1,8 @@
|
||||
-----BEGIN RSA PUBLIC KEY-----
|
||||
MIIBCgKCAQEAlE3BYk9Rk2avUTik7lpuiHxbYTusrLYRCnr8JICRg0QsBfiuq8d4
|
||||
+4s0w3y5F7puTj23Hf8ohAeNGK6vV9nJF9utMRvT4w5hlGqvKubM2vORoNoa1usI
|
||||
ixfcvMmCt/7++9endMurLY7e9aR+eeEffJtMx5G5JqxRGoFkeXBKFTOjD2adsHQ5
|
||||
zhQQUYgdQa2xzKQBYiierKKptcoVMAnnkfx7NPSRfCnzhYVeKgBFbxNXL4h7nAhL
|
||||
ywWhusQc2yr2Fdojj7urtqPNfMKYapkmWKI9/zuPxMlYL49VXUqppE0rnYoiISwG
|
||||
vP9iSq1tb+8BUI0ZMDcHX4elEeZYiFMJOwIDAQAB
|
||||
-----END RSA PUBLIC KEY-----
|
||||
30
restagent/etc/certs/rootca.crt
Normal file
30
restagent/etc/certs/rootca.crt
Normal file
@@ -0,0 +1,30 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFKTCCAxGgAwIBAgIUIN48tRvspOjaIxbavyrZ/M7IvacwDQYJKoZIhvcNAQEL
|
||||
BQAwHjELMAkGA1UEBhMCQ04xDzANBgNVBAMMBlJvb3RDQTAgFw0yMzA4MjIwMzQw
|
||||
MDVaGA8yMTIzMDcyOTAzNDAwNVowHjELMAkGA1UEBhMCQ04xDzANBgNVBAMMBlJv
|
||||
b3RDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALzyKbRc0hIDXsnI
|
||||
Yo0DLjfGexwFmhgE6jFR6EWc4V2jVenkTrEahzpKYkhf2SrnEZuuZN/XU0JDAzUE
|
||||
k8sNF6AUQOAQ6rwaHLB8ZZVEbl8F49F376RGAicg/AzIPytL1ebT1WR8YxoQgd6i
|
||||
+B7H+6zcKDS8RREwpuVngNdVJ7/mUsxDFPVGpOsQQUsEdkZb/S7txRktHYBAXmiX
|
||||
fZFC6aL/L9tXKJDcDiTQTyRuA08+uzFxgCF6/8XL8PD8+i8FzZLl0enadDy4ZiLA
|
||||
pk+vrFmre+ETHHPf4lI1Ptz3fPNsvCS1HO73SJTgpGK0zpcvB32EqPuhPEKy33C0
|
||||
dsY+CQcuACvhEk1EQjsSXkuoaPCV/aCmBhS3AMMRuD+73rs9G2DbJQc2KTkyiqM6
|
||||
FO9MNGKUHDIEE9O8iBqagBZ7XXqwcf0zr+YdjT47RAM31uROKBECipc0BOSEHJ3w
|
||||
sjMjLvqDHpP5NeoTnAIVt6djGQK8AWRKuICCtJ59llSmAMWjvsT4VD6ooVRln6ye
|
||||
j6tLzlnmZvtxEmdOXL/Y7A/HnEb+uAtifsOvZUw/CQpdHRsrUdNUSOozTW/uXgp3
|
||||
5lHx9B6HWuxOGagxaaLhD8W5TsqjdSc2BqX23Up/p84RaLrwHjXaesTq7Y/Ckd8T
|
||||
wIfUc2HtdtFt7YrBr3pkJeI/HjcNAgMBAAGjXTBbMB0GA1UdDgQWBBSr39jHWOmo
|
||||
14F/m0G/Irn6oVwNTzAfBgNVHSMEGDAWgBSr39jHWOmo14F/m0G/Irn6oVwNTzAM
|
||||
BgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAE+Br
|
||||
fsui1ac9meqmgTPnwG91GhqITmVBKwLpwJ3vNHqU/6SOlsw31GZ689kxpOYsMh19
|
||||
PwYQ9OYQmz2LGbiVgf3m/mG9S4dnGQecqEAt0WBgYOOJ+tWwmtaDa1y1KEKJIGx2
|
||||
R4NYmlihSqobgl3f7/WWtwZM9BZCFAubh757gOiDFDgTukbJxfFVIRy8MVWg5Voz
|
||||
KZK1toIVI617SignK65L4JbdEPgnD803vYsmn+Mk5PvKLVd1jB/M/Sqxd1W7gqr5
|
||||
nIT+WRJIs4SONQkxEP3e5aO2OQyify37a9P1IW8bPOtvZeQKnTSMIwVVyQV+Y6Az
|
||||
4+a74ngLRAgk4ek9wycIHtv9ZzN0o6vwWBQ73DqyLLY2IVX/8LtrNO6LE9TpoMCa
|
||||
tGVLZ1M5d1/eVYZC60y/lst/MRUyGgvB9tjiaNxo0Ni9quFifPAq/zx9AWo+7nIP
|
||||
0RAahOvRZE5NM5LmgaVvMTXYflkfBXChDwL0gXa6rBt5y3/htZ8Cw1Tqi1v3Kv1s
|
||||
hnD+zMD/Okrp76ZA/N2wib0p1Is1t+CFGdcmFOVEzkxXK37RreWay3cmdlTrzF5P
|
||||
8kGivh2WApouy97rrhJo7R8rpUplD37Z5SiqtlOfBUaGIzpVapz19UTN5OTq10xo
|
||||
yBSUGoQ/AGchVrHobdLPTgJNWU/L4QEPloEOGxg=
|
||||
-----END CERTIFICATE-----
|
||||
30
restagent/etc/certs/rootca.pem
Normal file
30
restagent/etc/certs/rootca.pem
Normal file
@@ -0,0 +1,30 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFKTCCAxGgAwIBAgIUIN48tRvspOjaIxbavyrZ/M7IvacwDQYJKoZIhvcNAQEL
|
||||
BQAwHjELMAkGA1UEBhMCQ04xDzANBgNVBAMMBlJvb3RDQTAgFw0yMzA4MjIwMzQw
|
||||
MDVaGA8yMTIzMDcyOTAzNDAwNVowHjELMAkGA1UEBhMCQ04xDzANBgNVBAMMBlJv
|
||||
b3RDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALzyKbRc0hIDXsnI
|
||||
Yo0DLjfGexwFmhgE6jFR6EWc4V2jVenkTrEahzpKYkhf2SrnEZuuZN/XU0JDAzUE
|
||||
k8sNF6AUQOAQ6rwaHLB8ZZVEbl8F49F376RGAicg/AzIPytL1ebT1WR8YxoQgd6i
|
||||
+B7H+6zcKDS8RREwpuVngNdVJ7/mUsxDFPVGpOsQQUsEdkZb/S7txRktHYBAXmiX
|
||||
fZFC6aL/L9tXKJDcDiTQTyRuA08+uzFxgCF6/8XL8PD8+i8FzZLl0enadDy4ZiLA
|
||||
pk+vrFmre+ETHHPf4lI1Ptz3fPNsvCS1HO73SJTgpGK0zpcvB32EqPuhPEKy33C0
|
||||
dsY+CQcuACvhEk1EQjsSXkuoaPCV/aCmBhS3AMMRuD+73rs9G2DbJQc2KTkyiqM6
|
||||
FO9MNGKUHDIEE9O8iBqagBZ7XXqwcf0zr+YdjT47RAM31uROKBECipc0BOSEHJ3w
|
||||
sjMjLvqDHpP5NeoTnAIVt6djGQK8AWRKuICCtJ59llSmAMWjvsT4VD6ooVRln6ye
|
||||
j6tLzlnmZvtxEmdOXL/Y7A/HnEb+uAtifsOvZUw/CQpdHRsrUdNUSOozTW/uXgp3
|
||||
5lHx9B6HWuxOGagxaaLhD8W5TsqjdSc2BqX23Up/p84RaLrwHjXaesTq7Y/Ckd8T
|
||||
wIfUc2HtdtFt7YrBr3pkJeI/HjcNAgMBAAGjXTBbMB0GA1UdDgQWBBSr39jHWOmo
|
||||
14F/m0G/Irn6oVwNTzAfBgNVHSMEGDAWgBSr39jHWOmo14F/m0G/Irn6oVwNTzAM
|
||||
BgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAE+Br
|
||||
fsui1ac9meqmgTPnwG91GhqITmVBKwLpwJ3vNHqU/6SOlsw31GZ689kxpOYsMh19
|
||||
PwYQ9OYQmz2LGbiVgf3m/mG9S4dnGQecqEAt0WBgYOOJ+tWwmtaDa1y1KEKJIGx2
|
||||
R4NYmlihSqobgl3f7/WWtwZM9BZCFAubh757gOiDFDgTukbJxfFVIRy8MVWg5Voz
|
||||
KZK1toIVI617SignK65L4JbdEPgnD803vYsmn+Mk5PvKLVd1jB/M/Sqxd1W7gqr5
|
||||
nIT+WRJIs4SONQkxEP3e5aO2OQyify37a9P1IW8bPOtvZeQKnTSMIwVVyQV+Y6Az
|
||||
4+a74ngLRAgk4ek9wycIHtv9ZzN0o6vwWBQ73DqyLLY2IVX/8LtrNO6LE9TpoMCa
|
||||
tGVLZ1M5d1/eVYZC60y/lst/MRUyGgvB9tjiaNxo0Ni9quFifPAq/zx9AWo+7nIP
|
||||
0RAahOvRZE5NM5LmgaVvMTXYflkfBXChDwL0gXa6rBt5y3/htZ8Cw1Tqi1v3Kv1s
|
||||
hnD+zMD/Okrp76ZA/N2wib0p1Is1t+CFGdcmFOVEzkxXK37RreWay3cmdlTrzF5P
|
||||
8kGivh2WApouy97rrhJo7R8rpUplD37Z5SiqtlOfBUaGIzpVapz19UTN5OTq10xo
|
||||
yBSUGoQ/AGchVrHobdLPTgJNWU/L4QEPloEOGxg=
|
||||
-----END CERTIFICATE-----
|
||||
26
restagent/etc/certs/tsa-omc.crt
Normal file
26
restagent/etc/certs/tsa-omc.crt
Normal file
@@ -0,0 +1,26 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEYDCCAkigAwIBAgIUGZ67LDulO9kcRtwAwQGEC1oV5NUwDQYJKoZIhvcNAQEL
|
||||
BQAwHjELMAkGA1UEBhMCQ04xDzANBgNVBAMMBlJvb3RDQTAeFw0yMzA4MjIwMzQw
|
||||
MjVaFw0yMzA4MjMwMzQwMjVaMDwxCzAJBgNVBAYTAkNOMQ0wCwYDVQQKDARUZXN0
|
||||
MR4wHAYDVQQDDBVUaW1lc3RhbXAgQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEB
|
||||
AQUAA4IBDwAwggEKAoIBAQC1vnKPYHUYPQSvGmfgSxZQley/hvJZyY9dun3hYv1P
|
||||
h5PydHqkwM6t6wS+f9WTm2RyCvfRJrwn356gKm3DoDePs7T2kIEwnljMFRT8HDEC
|
||||
SujKz2MBBW/b9eU6Bz9sQ4XHmSTVE/mJF4DiMRxmflUPZ+Mis80XbpFO91tdhDHZ
|
||||
f0RX5D9ihaS/WTnkOV+ISMxxK1PB/zITlxAk15irYsMM8dCq0iUy/B3+bcGH1YzL
|
||||
aKqbFw+nrm6NTxYLo4q3ERtLl49l9UXXcoNMvB70fk6i4kXrn7+AEdb3SPCFX0hb
|
||||
qxUbCrLLDWf5x5JM9+49tkyQ7N36TSj92Q+05jp/f1MdAgMBAAGjeDB2MB0GA1Ud
|
||||
DgQWBBRghFzHbuyke/ayjjVJuSgPKzwfRTAfBgNVHSMEGDAWgBSr39jHWOmo14F/
|
||||
m0G/Irn6oVwNTzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDAWBgNVHSUB
|
||||
Af8EDDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQsFAAOCAgEAAvKfbV0s2AGHKgEX
|
||||
X33/N5nV8v109fjmQ0tzN1UvnamxYQLpgCLILN0yeWP4E5LKmzPWnTXG10woEasp
|
||||
pAtXqYtgZZbvfqlkaryS5IJ73F6uO0hJK7iUswnpGxm9fxS04hhvsx3YRQnaaJ0m
|
||||
Ek5JpXNsdQVN87iyGtnzp1uHY2csdyw9XDCQxDDXJ3hvLBthHAADeX+h8JX7G3xc
|
||||
u85ON+w/rVIJIMpPQKg5gvNVzA/krebToSmOS6+f2O1UUj4PxwPPfBHugepzZYpF
|
||||
grWy1vzz2DAZdNQs39c10a5/C5VrH77V++SoQBfYzCAI7YhA/L6ONIKW4nP3zFX3
|
||||
zMmevHYR/WzQlN8twJhyAx7Y6AEjZNnfS2CvZj6UWvVUFbcVD5N9qgLuZxdDezQt
|
||||
RAsVcSN5q5FURl99oi3X9sGoq/rI47MEU96hSG4pfiBTlt6VbYyWvBLeRWLccLPi
|
||||
KtvV3wd6F8bqp+U2d/XQFTyQ5jfZcrCVvIesv4euTq+kTypjjjLadgzsy56ivoAx
|
||||
UvjcJFZ2HVoKpv1SusOMsgg5nZf4lhE5zxYQOtEwzhOXv4U81ctIVHOKYZdDefWm
|
||||
wC7dTtH9NxaWQZu07Y27wihkBARdnW1azgWorwzKYcGFT+pwrAPRUScj/vqsJkUH
|
||||
KagSCD6B6qh4zSj0UANX3V6QcfQ=
|
||||
-----END CERTIFICATE-----
|
||||
26
restagent/etc/certs/tsa-omc.pem
Normal file
26
restagent/etc/certs/tsa-omc.pem
Normal file
@@ -0,0 +1,26 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEYDCCAkigAwIBAgIUGZ67LDulO9kcRtwAwQGEC1oV5NUwDQYJKoZIhvcNAQEL
|
||||
BQAwHjELMAkGA1UEBhMCQ04xDzANBgNVBAMMBlJvb3RDQTAeFw0yMzA4MjIwMzQw
|
||||
MjVaFw0yMzA4MjMwMzQwMjVaMDwxCzAJBgNVBAYTAkNOMQ0wCwYDVQQKDARUZXN0
|
||||
MR4wHAYDVQQDDBVUaW1lc3RhbXAgQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEB
|
||||
AQUAA4IBDwAwggEKAoIBAQC1vnKPYHUYPQSvGmfgSxZQley/hvJZyY9dun3hYv1P
|
||||
h5PydHqkwM6t6wS+f9WTm2RyCvfRJrwn356gKm3DoDePs7T2kIEwnljMFRT8HDEC
|
||||
SujKz2MBBW/b9eU6Bz9sQ4XHmSTVE/mJF4DiMRxmflUPZ+Mis80XbpFO91tdhDHZ
|
||||
f0RX5D9ihaS/WTnkOV+ISMxxK1PB/zITlxAk15irYsMM8dCq0iUy/B3+bcGH1YzL
|
||||
aKqbFw+nrm6NTxYLo4q3ERtLl49l9UXXcoNMvB70fk6i4kXrn7+AEdb3SPCFX0hb
|
||||
qxUbCrLLDWf5x5JM9+49tkyQ7N36TSj92Q+05jp/f1MdAgMBAAGjeDB2MB0GA1Ud
|
||||
DgQWBBRghFzHbuyke/ayjjVJuSgPKzwfRTAfBgNVHSMEGDAWgBSr39jHWOmo14F/
|
||||
m0G/Irn6oVwNTzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDAWBgNVHSUB
|
||||
Af8EDDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQsFAAOCAgEAAvKfbV0s2AGHKgEX
|
||||
X33/N5nV8v109fjmQ0tzN1UvnamxYQLpgCLILN0yeWP4E5LKmzPWnTXG10woEasp
|
||||
pAtXqYtgZZbvfqlkaryS5IJ73F6uO0hJK7iUswnpGxm9fxS04hhvsx3YRQnaaJ0m
|
||||
Ek5JpXNsdQVN87iyGtnzp1uHY2csdyw9XDCQxDDXJ3hvLBthHAADeX+h8JX7G3xc
|
||||
u85ON+w/rVIJIMpPQKg5gvNVzA/krebToSmOS6+f2O1UUj4PxwPPfBHugepzZYpF
|
||||
grWy1vzz2DAZdNQs39c10a5/C5VrH77V++SoQBfYzCAI7YhA/L6ONIKW4nP3zFX3
|
||||
zMmevHYR/WzQlN8twJhyAx7Y6AEjZNnfS2CvZj6UWvVUFbcVD5N9qgLuZxdDezQt
|
||||
RAsVcSN5q5FURl99oi3X9sGoq/rI47MEU96hSG4pfiBTlt6VbYyWvBLeRWLccLPi
|
||||
KtvV3wd6F8bqp+U2d/XQFTyQ5jfZcrCVvIesv4euTq+kTypjjjLadgzsy56ivoAx
|
||||
UvjcJFZ2HVoKpv1SusOMsgg5nZf4lhE5zxYQOtEwzhOXv4U81ctIVHOKYZdDefWm
|
||||
wC7dTtH9NxaWQZu07Y27wihkBARdnW1azgWorwzKYcGFT+pwrAPRUScj/vqsJkUH
|
||||
KagSCD6B6qh4zSj0UANX3V6QcfQ=
|
||||
-----END CERTIFICATE-----
|
||||
27
restagent/etc/certs/tsa-omc_pri.key
Normal file
27
restagent/etc/certs/tsa-omc_pri.key
Normal file
@@ -0,0 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEowIBAAKCAQEAtb5yj2B1GD0Erxpn4EsWUJXsv4byWcmPXbp94WL9T4eT8nR6
|
||||
pMDOresEvn/Vk5tkcgr30Sa8J9+eoCptw6A3j7O09pCBMJ5YzBUU/BwxAkroys9j
|
||||
AQVv2/XlOgc/bEOFx5kk1RP5iReA4jEcZn5VD2fjIrPNF26RTvdbXYQx2X9EV+Q/
|
||||
YoWkv1k55DlfiEjMcStTwf8yE5cQJNeYq2LDDPHQqtIlMvwd/m3Bh9WMy2iqmxcP
|
||||
p65ujU8WC6OKtxEbS5ePZfVF13KDTLwe9H5OouJF65+/gBHW90jwhV9IW6sVGwqy
|
||||
yw1n+ceSTPfuPbZMkOzd+k0o/dkPtOY6f39THQIDAQABAoIBADgq2YDSEJ4jDXWI
|
||||
NZ4t1oGlM/ulGvUAw9v1rL2hOCQCBIkj0ltkcvtw7JBrNXhex9Yu6ZOr4u53v7BE
|
||||
LJQOyd0RbtXcpvB9n3fC9C9ODx9kQzmaikBgi8dw4Rzj7Ifq/kdHXwizGaVyrBQ7
|
||||
lUlfta4DL0EkTDf3pdS/wW7PUhCjLPEPH6GqkDilsIGGudDT5pqUVB/fkLq4rPl4
|
||||
QhQixDCwTtesPMeMMCy+bjB5hojRzENZ9ste4eSpF0BJQyUjKLWkyCPjFZKtM1l8
|
||||
C+fZT/tVeyMkGpOXywhtuYSaAeoeaqrPjvMzN1H3slx0i9J6lIS/T+94jXuA5Zbw
|
||||
iXR6GAkCgYEA4D6K02Nnu1vk/NnhqK8AiP9gWUxArGaQ8BKkhAXEi7/oLhRfnJE0
|
||||
eNgmZLKk4pMZmC9tf5WiBXdcHDZwjxequi02AtdU4p0emStJ7L/if3YLdWKCOdjw
|
||||
3jkMdtHmQRT3bUFppKkH4n+EAg08QOT1HLoFVmcfKkjZQ9igbfFoAx8CgYEAz3sn
|
||||
G6ZpF7wbxdWyPxuko9O8r9V6xFa6pWpuy5X1rVXUEy4u7pwn3D7xgOT3v83HdkIG
|
||||
aRlIR8YbEcekpO+hqRPljvm3zYDsEXs4I1fBmnxSrO9aX0IImEabTCTuRAUZRGMe
|
||||
Vzrk2rqCmuO0zDmBN+/uxqlK5us3wAguO+vbPkMCgYAgSIC9/BKkA4/M4yU8nq0q
|
||||
C/H4CSVKbJ2zIkvzAc2Q/PjVIXO+W509RIkKeDmKsPi/UxylgIpJ1Sw6l4/O2e5n
|
||||
TTj4Yb3DvjD4hiXnYpyeEwWFScBLybKrm3Ty6jcG6ZjRbthhr0AGWKtNjFA/W3b6
|
||||
QsGf9cqj0McOoHJAQb/iqwKBgH9c0+bvQjflqw7IXUDMEUbX5U3yuAfqTWzZZuXm
|
||||
Sgd7VlHn2btzdCyJHurGoybEhRqc8R52/J3CiD9j1DfDOfN2WUZpGGE4MLGSeCWJ
|
||||
6ziP9Jhf3ZP4DxqazR3y1ag/kQEf7zIQ3wc90oqOGR/8dMwHpwWgSnByF6jz3J2/
|
||||
7LfNAoGBAMJsi2nJF3jzWwZLY9pQQ2/Icdojk0yUE0a9skdh5R6MjpzwQ3FydbB0
|
||||
PxUxfJlAjS06kV/URo11AdQZXm/QKyb8uJPyRppJ7DZ0vsiDWysElqUHX/E/H6kI
|
||||
QaQvePQ59HcgkJVh9wFI5blHtTyMrGR76kmZN5ClL05ITkqdnWJp
|
||||
-----END RSA PRIVATE KEY-----
|
||||
27
restagent/etc/certs/tsa-omc_pri.pem
Normal file
27
restagent/etc/certs/tsa-omc_pri.pem
Normal file
@@ -0,0 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEowIBAAKCAQEAtb5yj2B1GD0Erxpn4EsWUJXsv4byWcmPXbp94WL9T4eT8nR6
|
||||
pMDOresEvn/Vk5tkcgr30Sa8J9+eoCptw6A3j7O09pCBMJ5YzBUU/BwxAkroys9j
|
||||
AQVv2/XlOgc/bEOFx5kk1RP5iReA4jEcZn5VD2fjIrPNF26RTvdbXYQx2X9EV+Q/
|
||||
YoWkv1k55DlfiEjMcStTwf8yE5cQJNeYq2LDDPHQqtIlMvwd/m3Bh9WMy2iqmxcP
|
||||
p65ujU8WC6OKtxEbS5ePZfVF13KDTLwe9H5OouJF65+/gBHW90jwhV9IW6sVGwqy
|
||||
yw1n+ceSTPfuPbZMkOzd+k0o/dkPtOY6f39THQIDAQABAoIBADgq2YDSEJ4jDXWI
|
||||
NZ4t1oGlM/ulGvUAw9v1rL2hOCQCBIkj0ltkcvtw7JBrNXhex9Yu6ZOr4u53v7BE
|
||||
LJQOyd0RbtXcpvB9n3fC9C9ODx9kQzmaikBgi8dw4Rzj7Ifq/kdHXwizGaVyrBQ7
|
||||
lUlfta4DL0EkTDf3pdS/wW7PUhCjLPEPH6GqkDilsIGGudDT5pqUVB/fkLq4rPl4
|
||||
QhQixDCwTtesPMeMMCy+bjB5hojRzENZ9ste4eSpF0BJQyUjKLWkyCPjFZKtM1l8
|
||||
C+fZT/tVeyMkGpOXywhtuYSaAeoeaqrPjvMzN1H3slx0i9J6lIS/T+94jXuA5Zbw
|
||||
iXR6GAkCgYEA4D6K02Nnu1vk/NnhqK8AiP9gWUxArGaQ8BKkhAXEi7/oLhRfnJE0
|
||||
eNgmZLKk4pMZmC9tf5WiBXdcHDZwjxequi02AtdU4p0emStJ7L/if3YLdWKCOdjw
|
||||
3jkMdtHmQRT3bUFppKkH4n+EAg08QOT1HLoFVmcfKkjZQ9igbfFoAx8CgYEAz3sn
|
||||
G6ZpF7wbxdWyPxuko9O8r9V6xFa6pWpuy5X1rVXUEy4u7pwn3D7xgOT3v83HdkIG
|
||||
aRlIR8YbEcekpO+hqRPljvm3zYDsEXs4I1fBmnxSrO9aX0IImEabTCTuRAUZRGMe
|
||||
Vzrk2rqCmuO0zDmBN+/uxqlK5us3wAguO+vbPkMCgYAgSIC9/BKkA4/M4yU8nq0q
|
||||
C/H4CSVKbJ2zIkvzAc2Q/PjVIXO+W509RIkKeDmKsPi/UxylgIpJ1Sw6l4/O2e5n
|
||||
TTj4Yb3DvjD4hiXnYpyeEwWFScBLybKrm3Ty6jcG6ZjRbthhr0AGWKtNjFA/W3b6
|
||||
QsGf9cqj0McOoHJAQb/iqwKBgH9c0+bvQjflqw7IXUDMEUbX5U3yuAfqTWzZZuXm
|
||||
Sgd7VlHn2btzdCyJHurGoybEhRqc8R52/J3CiD9j1DfDOfN2WUZpGGE4MLGSeCWJ
|
||||
6ziP9Jhf3ZP4DxqazR3y1ag/kQEf7zIQ3wc90oqOGR/8dMwHpwWgSnByF6jz3J2/
|
||||
7LfNAoGBAMJsi2nJF3jzWwZLY9pQQ2/Icdojk0yUE0a9skdh5R6MjpzwQ3FydbB0
|
||||
PxUxfJlAjS06kV/URo11AdQZXm/QKyb8uJPyRppJ7DZ0vsiDWysElqUHX/E/H6kI
|
||||
QaQvePQ59HcgkJVh9wFI5blHtTyMrGR76kmZN5ClL05ITkqdnWJp
|
||||
-----END RSA PRIVATE KEY-----
|
||||
134
restagent/etc/restconf-t.yaml
Normal file
134
restagent/etc/restconf-t.yaml
Normal file
@@ -0,0 +1,134 @@
|
||||
# file: log file name
|
||||
# level: /trace/debug/info/warn/error/fatal, default: debug
|
||||
# duration: rotation time with xx hours, example: 1/12/24 hours
|
||||
# count: rotation count of log, default is 30 rotation
|
||||
logger:
|
||||
file: d:/local.git/ems.agt/restagent/log/restagent-t.log
|
||||
level: trace
|
||||
duration: 24
|
||||
count: 2
|
||||
|
||||
# rest agent listen ipv4/v6 and port, support multiple routines
|
||||
# ip: 0.0.0.0 or ::0, support IPv4/v6
|
||||
rest:
|
||||
- ipv4: 0.0.0.0
|
||||
ipv6: fe80::f6bb:7d5f:bcb2:763b%7
|
||||
port: 3030
|
||||
- ipv4: 0.0.0.0
|
||||
ipv6: fe80::f6bb:7d5f:bcb2:763b%7
|
||||
port: 6060
|
||||
|
||||
database:
|
||||
type: mysql
|
||||
user: root
|
||||
password: 1000omc@kp!
|
||||
host: 127.0.0.1
|
||||
port: 33066
|
||||
name: omc_db
|
||||
backup: d:/local.git/ems.agt/restagent/database
|
||||
|
||||
# Redis 缓存数据,数据源声明全小写
|
||||
redis:
|
||||
dataSource:
|
||||
# OMC系统使用库
|
||||
default:
|
||||
port: 6379 # Redis port
|
||||
host: "192.168.0.229" # Redis host
|
||||
password: ""
|
||||
db: 10 # Redis db_num
|
||||
# UDM网元用户库
|
||||
udmuser:
|
||||
port: 6379 # Redis port
|
||||
host: "192.168.0.229"
|
||||
password: ""
|
||||
db: 0 # Redis db_num
|
||||
# 多个数据源时可以用这个指定默认的数据源
|
||||
defaultDataSourceName: "default"
|
||||
|
||||
mml:
|
||||
port: 4100
|
||||
sleep: 200
|
||||
user: admin
|
||||
password: admin
|
||||
mmlHome: ./mmlhome
|
||||
|
||||
ne:
|
||||
user: root
|
||||
etcdir: /usr/local/etc
|
||||
bindir: /usr/local/bin
|
||||
omcdir: /usr/local/omc
|
||||
scpdir: /tmp
|
||||
licensedir: /usr/local/etc/{neType}/license
|
||||
|
||||
# chk2ne: true/false, if put OmcNeConfig parameters to NE
|
||||
omc:
|
||||
uriPrefix: /api/rest
|
||||
neType: OMC
|
||||
neId: 001
|
||||
rmUID: 4400HX101
|
||||
neName: OMC
|
||||
province: GD
|
||||
vendor: ""
|
||||
dn: 4600
|
||||
chk2ne: false
|
||||
sn: 13750650
|
||||
checksign: false
|
||||
backup: ./backup
|
||||
upload: ./upload
|
||||
frontUpload: d:/local.git/fe.ems/upload
|
||||
frontTraceDir: d:/local.git/fe.ems/trace
|
||||
software: ./software
|
||||
license: ./license
|
||||
gtpUri: gtp:192.168.2.119:2152
|
||||
checkContentType: false
|
||||
testMode: false
|
||||
rbacMode: true
|
||||
runDir:
|
||||
|
||||
# Alarm module setting
|
||||
# Forward interface:
|
||||
# email/sms
|
||||
alarm:
|
||||
forwardAlarm: true
|
||||
email:
|
||||
smtp: smtp@xxx.com.cn
|
||||
port: 25
|
||||
user: smtpuser
|
||||
password: smtpuser@omc
|
||||
sms:
|
||||
apiURL: http://smsc.xxx.com.cn/
|
||||
accessKeyID: xxxx
|
||||
accessKeySecret: xxxx
|
||||
signName: xxx SMSC
|
||||
templateCode: 1000
|
||||
|
||||
#User authorized information
|
||||
# crypt: mysql/md5/bcrypt
|
||||
# token: true/false to check accessToken
|
||||
# expires for session, unit: second
|
||||
# Support single/multiple session of user
|
||||
auth:
|
||||
crypt: bcrypt
|
||||
token: true
|
||||
expires: 1800
|
||||
session: multiple
|
||||
publicKey: ./etc/certs/omc_pub.key
|
||||
privateKey: ./etc/certs/omc_pri.key
|
||||
|
||||
# Parameter for limit number
|
||||
# rmuid_maxnum: the max number of rmUID, default: 50
|
||||
# alarmid_maxnum: the max number of AlarmID, default: 50
|
||||
# pmid_maxnum: the max number of pmID, default: 50
|
||||
# subid_maxnum: the max number of subscription ID, default: 20
|
||||
# uri_maxlen: the max length of uri, default: 8192
|
||||
# rmuid_regexp: regexp pattern of rmUID
|
||||
params:
|
||||
rmuidmaxnum: 50
|
||||
alarmidmaxnum: 50
|
||||
pmidmaxnum: 50
|
||||
subidmaxnum: 20
|
||||
urimaxlen: 2100000
|
||||
rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"
|
||||
testConfig:
|
||||
enabled: true
|
||||
file: ./etc/testconfig.yaml
|
||||
156
restagent/etc/restconf.yaml
Normal file
156
restagent/etc/restconf.yaml
Normal file
@@ -0,0 +1,156 @@
|
||||
# file: log file name
|
||||
# level: /trace/debug/info/warn/error/fatal, default: debug
|
||||
# duration: rotation time with xx hours, example: 1/12/24 hours
|
||||
# count: rotation count of log, default is 30 rotation
|
||||
logger:
|
||||
file: d:/local.git/ems.agt/restagent/log/restagent.log
|
||||
level: trace
|
||||
duration: 24
|
||||
count: 2
|
||||
|
||||
# rest agent listen ipv4/v6 and port, support multiple routines
|
||||
# ip: 0.0.0.0 or ::0, support IPv4/v6
|
||||
rest:
|
||||
- ipv4: 0.0.0.0
|
||||
ipv6:
|
||||
port: 3040
|
||||
- ipv4: 0.0.0.0
|
||||
ipv6:
|
||||
port: 4443
|
||||
scheme: https
|
||||
caFile: ./etc/certs/rootca.crt
|
||||
certFile: ./etc/certs/tsa-omc.crt
|
||||
keyFile: ./etc/certs/tsa-omc_pri.key
|
||||
|
||||
webServer:
|
||||
enabled: true
|
||||
rootDir: d:/local.git/fe.ems
|
||||
listen:
|
||||
- addr: :8080
|
||||
schema: http
|
||||
- addr: :8443
|
||||
scheme: https
|
||||
caFile: ./etc/certs/rootca.crt
|
||||
certFile: ./etc/certs/tsa-omc.crt
|
||||
keyFile: ./etc/certs/tsa-omc_pri.key
|
||||
|
||||
database:
|
||||
type: mysql
|
||||
user: root
|
||||
# password: 1000omc@kp!
|
||||
# host: "192.168.2.119"
|
||||
# port: 33066
|
||||
password: "root@1234"
|
||||
host: "192.168.30.244"
|
||||
port: 3306
|
||||
name: omc_db
|
||||
backup: d:/local.git/ems.agt/restagent/database
|
||||
|
||||
# Redis 缓存数据,数据源声明全小写
|
||||
redis:
|
||||
dataSource:
|
||||
# OMC系统使用库
|
||||
default:
|
||||
port: 6379 # Redis port
|
||||
host: "192.168.0.229" # Redis host
|
||||
password: ""
|
||||
db: 10 # Redis db_num
|
||||
# UDM网元用户库
|
||||
udmuser:
|
||||
port: 6379 # Redis port
|
||||
host: "192.168.0.229"
|
||||
password: ""
|
||||
db: 0 # Redis db_num
|
||||
# 多个数据源时可以用这个指定默认的数据源
|
||||
defaultDataSourceName: "default"
|
||||
|
||||
mml:
|
||||
port: 4100
|
||||
sleep: 200
|
||||
user: admin
|
||||
password: admin
|
||||
mmlHome: ./mmlhome
|
||||
upload: /home/agtuser
|
||||
|
||||
ne:
|
||||
user: root
|
||||
etcdir: /usr/local/etc
|
||||
bindir: /usr/local/bin
|
||||
omcdir: /usr/local/omc
|
||||
scpdir: /tmp
|
||||
licensedir: /usr/local/etc/{neType}/license
|
||||
|
||||
# chk2ne: true/false, if put OmcNeConfig parameters to NE
|
||||
omc:
|
||||
uriPrefix: /api/rest/oam
|
||||
neType: OMC
|
||||
neId: 001
|
||||
rmUID: 4400HX101
|
||||
neName: OMC
|
||||
province: GD
|
||||
vendor: ""
|
||||
dn: 4600
|
||||
chk2ne: false
|
||||
sn: 13750650
|
||||
checksign: false
|
||||
backup: ./backup
|
||||
upload: ./upload
|
||||
frontUpload: C:\AMP\Probject\ems_frontend\upload
|
||||
frontTraceDir: d:/local.git/fe.ems/trace
|
||||
software: ./software
|
||||
license: ./license
|
||||
gtpUri: gtp:192.168.2.119:2152
|
||||
checkContentType: false
|
||||
testMode: false
|
||||
rbacMode: true
|
||||
runDir:
|
||||
|
||||
# Alarm module setting
|
||||
# Forward interface:
|
||||
# email/sms
|
||||
alarm:
|
||||
forwardAlarm: true
|
||||
email:
|
||||
smtp: smtp@xxx.com.cn
|
||||
port: 25
|
||||
user: smtpuser
|
||||
password: smtpuser@omc
|
||||
sms:
|
||||
apiURL: http://smsc.xxx.com.cn/
|
||||
accessKeyID: xxxx
|
||||
accessKeySecret: xxxx
|
||||
signName: xxx SMSC
|
||||
templateCode: 1000
|
||||
|
||||
#User authorized information
|
||||
# crypt: mysql/md5/bcrypt
|
||||
# token: true/false to check accessToken
|
||||
# expires for session, unit: second
|
||||
# Support single/multiple session of user
|
||||
#
|
||||
auth:
|
||||
crypt: bcrypt
|
||||
token: true
|
||||
expires: 1800
|
||||
session: multiple
|
||||
publicKey: ./etc/certs/omc_pub.key
|
||||
privateKey: ./etc/certs/omc_pri.key
|
||||
|
||||
# Parameter for limit number
|
||||
# rmuid_maxnum: the max number of rmUID, default: 50
|
||||
# alarmid_maxnum: the max number of AlarmID, default: 50
|
||||
# pmid_maxnum: the max number of pmID, default: 50
|
||||
# subid_maxnum: the max number of subscription ID, default: 20
|
||||
# uri_maxlen: the max length of uri, default: 8192
|
||||
# rmuid_regexp: regexp pattern of rmUID
|
||||
params:
|
||||
rmuidmaxnum: 50
|
||||
alarmidmaxnum: 50
|
||||
pmidmaxnum: 50
|
||||
subidmaxnum: 20
|
||||
urimaxlen: 2100000
|
||||
rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"
|
||||
|
||||
testConfig:
|
||||
enabled: true
|
||||
file: ./etc/testconfig.yaml
|
||||
19
restagent/etc/testconfig.yaml
Normal file
19
restagent/etc/testconfig.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
UDM:
|
||||
capUsed: 16
|
||||
featureEnabled: [N8,N10,N13]
|
||||
AUSF:
|
||||
capUsed: 16
|
||||
featureEnabled: [N12]
|
||||
AMF:
|
||||
capUsed: 16
|
||||
featureEnabled: [N1,N2,N8,N11,N12,N14,N15]
|
||||
SMF:
|
||||
capUsed: 16
|
||||
featureEnabled: [N4,N7,N10,N11]
|
||||
UPF:
|
||||
capUsed: 16
|
||||
featureEnabled: [N3,N4,N6,N9]
|
||||
OMC:
|
||||
capUsed: 0
|
||||
featureEnabled: []
|
||||
|
||||
26
restagent/makefile
Normal file
26
restagent/makefile
Normal file
@@ -0,0 +1,26 @@
|
||||
# Makefile for rest agent project
|
||||
|
||||
PROJECT = OMC
|
||||
VERSION = 1.6.2
|
||||
PLATFORM = amd64
|
||||
ARMPLATFORM = aarch64
|
||||
BUILDDIR = ../../build
|
||||
DEBBUILDDIR = ../../debbuild
|
||||
RPMBUILDDIR = $(HOME)/goprojects/rpmbuild
|
||||
INSTALLDIR = /usr/local/omc
|
||||
RELEASEDIR = ../../release
|
||||
LIBDIR = ems.agt/lib
|
||||
BINNAME = restagent
|
||||
|
||||
.PHONY: build $(BINNAME)
|
||||
build $(BINNAME):
|
||||
go build -o $(BINNAME) -v -ldflags "-X '$(LIBDIR)/global.Version=$(VERSION)' \
|
||||
-X '$(LIBDIR)/global.BuildTime=`date`' \
|
||||
-X '$(LIBDIR)/global.GoVer=`go version`'"
|
||||
|
||||
run: $(BINNAME)
|
||||
./$(BINNAME)
|
||||
|
||||
clean:
|
||||
rm ./$(BINNAME)
|
||||
|
||||
211
restagent/restagent.go
Normal file
211
restagent/restagent.go
Normal file
@@ -0,0 +1,211 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"crypto/x509"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/http"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"ems.agt/lib/core/redis"
|
||||
"ems.agt/lib/dborm"
|
||||
"ems.agt/lib/global"
|
||||
"ems.agt/lib/log"
|
||||
"ems.agt/lib/routes"
|
||||
|
||||
"ems.agt/features/dbrest"
|
||||
"ems.agt/features/fm"
|
||||
"ems.agt/features/lm"
|
||||
"ems.agt/features/pm"
|
||||
"ems.agt/restagent/config"
|
||||
)
|
||||
|
||||
// const defaultConfigFile = "./etc/restconf.yaml"
|
||||
|
||||
// func init() {
|
||||
// cfile := flag.String("c", defaultConfigFile, "config file")
|
||||
// pv := flag.Bool("v", false, "print version")
|
||||
// ph := flag.Bool("h", false, "print help")
|
||||
|
||||
// flag.Parse()
|
||||
// if *pv {
|
||||
// fmt.Printf("OMC restagent version: %s\n%s\n%s\n\n", global.Version, global.BuildTime, global.GoVer)
|
||||
// os.Exit(0)
|
||||
// }
|
||||
// if *ph {
|
||||
// flag.Usage()
|
||||
// os.Exit(0)
|
||||
// }
|
||||
|
||||
// config.ReadConfig(*cfile)
|
||||
// config.UriPrefix = config.GetYamlConfig().OMC.UriPrefix
|
||||
// //fmt.Println(config.UriPrefix)
|
||||
// }
|
||||
|
||||
func listenIPv6(ipv6 string, port int) {
|
||||
//
|
||||
addr := &net.TCPAddr{
|
||||
IP: net.ParseIP(ipv6),
|
||||
Port: port,
|
||||
}
|
||||
|
||||
listener, err := net.ListenTCP("tcp6", addr)
|
||||
if err != nil {
|
||||
fmt.Println("Failed to listen:", err)
|
||||
return
|
||||
}
|
||||
|
||||
server := &http.Server{}
|
||||
err = server.Serve(listener)
|
||||
if err != nil {
|
||||
fmt.Println("Failed to serve:", err)
|
||||
}
|
||||
}
|
||||
|
||||
func HttpListen(addr string, router http.Handler) {
|
||||
err := http.ListenAndServe(addr, router)
|
||||
if err != nil {
|
||||
fmt.Println("ListenAndServe err:", err)
|
||||
os.Exit(5)
|
||||
}
|
||||
}
|
||||
|
||||
func HttpListenTLS(addr, certFile, keyFile string, router http.Handler) {
|
||||
err := http.ListenAndServeTLS(addr, certFile, keyFile, router)
|
||||
if err != nil {
|
||||
fmt.Println("ListenAndServeTLS err:", err)
|
||||
os.Exit(6)
|
||||
}
|
||||
}
|
||||
|
||||
func HttpListenConfigTLS(addr, caFile, certFile, keyFile string, router http.Handler) {
|
||||
// 加载根证书
|
||||
caCert, err := os.ReadFile(caFile)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
caCertPool := x509.NewCertPool()
|
||||
caCertPool.AppendCertsFromPEM(caCert)
|
||||
|
||||
// 创建自定义的TLS配置
|
||||
tlsConfig := &tls.Config{
|
||||
ClientCAs: caCertPool,
|
||||
ClientAuth: tls.RequireAndVerifyClientCert,
|
||||
}
|
||||
|
||||
// 创建HTTP服务器
|
||||
server := &http.Server{
|
||||
Addr: addr,
|
||||
Handler: router,
|
||||
TLSConfig: tlsConfig,
|
||||
}
|
||||
|
||||
err = server.ListenAndServeTLS(certFile, keyFile)
|
||||
if err != nil {
|
||||
fmt.Println("ListenAndServeTLS err:", err)
|
||||
os.Exit(6)
|
||||
}
|
||||
}
|
||||
|
||||
func HttpListenWebServerTLS(addr, certFile, keyFile string) {
|
||||
err := http.ListenAndServeTLS(addr, certFile, keyFile, nil)
|
||||
if err != nil {
|
||||
fmt.Println("ListenAndServeTLS err:", err)
|
||||
os.Exit(7)
|
||||
}
|
||||
}
|
||||
|
||||
func HttpListenWebServer(addr string) {
|
||||
err := http.ListenAndServe(addr, nil)
|
||||
if err != nil {
|
||||
fmt.Println("ListenAndServe err:", err)
|
||||
os.Exit(7)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
conf := config.GetYamlConfig()
|
||||
|
||||
log.InitLogger(conf.Logger.File, conf.Logger.Duration, conf.Logger.Count, "omc:restagent", config.GetLogLevel())
|
||||
fmt.Printf("OMC restagent version: %s\n", global.Version)
|
||||
log.Infof("========================= OMC restagent startup =========================")
|
||||
log.Infof("OMC restagent version: %s %s %s", global.Version, global.BuildTime, global.GoVer)
|
||||
|
||||
err := dborm.InitDbClient(conf.Database.Type, conf.Database.User, conf.Database.Password,
|
||||
conf.Database.Host, conf.Database.Port, conf.Database.Name)
|
||||
if err != nil {
|
||||
fmt.Println("dborm.initDbClient err:", err)
|
||||
os.Exit(4)
|
||||
}
|
||||
err = fm.InitDbClient(conf.Database.Type, conf.Database.User, conf.Database.Password,
|
||||
conf.Database.Host, conf.Database.Port, conf.Database.Name)
|
||||
if err != nil {
|
||||
fmt.Println("dborm.initDbClient err:", err)
|
||||
os.Exit(4)
|
||||
}
|
||||
err = pm.InitDbClient(conf.Database.Type, conf.Database.User, conf.Database.Password,
|
||||
conf.Database.Host, conf.Database.Port, conf.Database.Name)
|
||||
if err != nil {
|
||||
fmt.Println("dborm.initDbClient err:", err)
|
||||
os.Exit(4)
|
||||
}
|
||||
err = dbrest.InitDbClient(conf.Database.Type, conf.Database.User, conf.Database.Password,
|
||||
conf.Database.Host, conf.Database.Port, conf.Database.Name)
|
||||
if err != nil {
|
||||
fmt.Println("rests.initDbClient err:", err)
|
||||
os.Exit(4)
|
||||
}
|
||||
err = lm.InitDbClient(conf.Database.Type, conf.Database.User, conf.Database.Password,
|
||||
conf.Database.Host, conf.Database.Port, conf.Database.Name)
|
||||
if err != nil {
|
||||
fmt.Println("lm.initDbClient err:", err)
|
||||
os.Exit(4)
|
||||
}
|
||||
|
||||
// 连接redis
|
||||
redis.Connect()
|
||||
|
||||
router := routes.NewRouter()
|
||||
|
||||
// 开启监控采集
|
||||
// monitor.StartMonitor(false, "")
|
||||
|
||||
for _, rest := range conf.Rest {
|
||||
// ipv4 goroutines
|
||||
if rest.IPv4 != "" {
|
||||
listen := rest.IPv4 + ":" + strconv.Itoa(int(rest.Port))
|
||||
if strings.ToLower(rest.Scheme) == "https" {
|
||||
go HttpListenTLS(listen, rest.CertFile, rest.KeyFile, router)
|
||||
} else {
|
||||
go HttpListen(listen, router)
|
||||
}
|
||||
|
||||
}
|
||||
// ipv6 goroutines
|
||||
if rest.IPv6 != "" {
|
||||
listenv6 := "[" + rest.IPv6 + "]" + ":" + strconv.Itoa(int(rest.Port))
|
||||
if strings.ToLower(rest.Scheme) == "https" {
|
||||
go HttpListenTLS(listenv6, rest.CertFile, rest.KeyFile, router)
|
||||
} else {
|
||||
go HttpListen(listenv6, router)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if conf.WebServer.Enabled {
|
||||
fs := http.FileServer(http.Dir(conf.WebServer.RootDir))
|
||||
http.Handle("/", fs)
|
||||
for _, listen := range conf.WebServer.Listen {
|
||||
if strings.ToLower(listen.Scheme) == "https" {
|
||||
go HttpListenWebServerTLS(listen.Addr, listen.CertFile, listen.KeyFile)
|
||||
} else {
|
||||
go HttpListenWebServer(listen.Addr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
select {}
|
||||
}
|
||||
Reference in New Issue
Block a user