43 lines
1.4 KiB
Go
43 lines
1.4 KiB
Go
package config
|
|
|
|
import (
|
|
log "gitlink.org.cn/cloudream/common/pkgs/logger"
|
|
c "gitlink.org.cn/cloudream/common/utils/config"
|
|
stgglb "gitlink.org.cn/cloudream/jcs-pub/common/globals"
|
|
"gitlink.org.cn/cloudream/jcs-pub/common/pkgs/rpc"
|
|
corrpc "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/rpc/coordinator"
|
|
hubrpc "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/rpc/hub"
|
|
"gitlink.org.cn/cloudream/jcs-pub/common/pkgs/sysevent"
|
|
jcstypes "gitlink.org.cn/cloudream/jcs-pub/common/types"
|
|
"gitlink.org.cn/cloudream/jcs-pub/hub/internal/http"
|
|
"gitlink.org.cn/cloudream/jcs-pub/hub/internal/pubshards"
|
|
"gitlink.org.cn/cloudream/jcs-pub/hub/internal/ticktock"
|
|
)
|
|
|
|
type Config struct {
|
|
ID jcstypes.HubID `json:"id"`
|
|
Local stgglb.LocalMachineInfo `json:"local"`
|
|
RPC rpc.Config `json:"rpc"`
|
|
HTTP *http.Config `json:"http"`
|
|
CoordinatorRPC corrpc.PoolConfigJSON `json:"coordinatorRPC"`
|
|
HubRPC hubrpc.PoolConfigJSON `json:"hubRPC"`
|
|
Logger log.Config `json:"logger"`
|
|
SysEvent sysevent.Config `json:"sysEvent"`
|
|
TickTock ticktock.Config `json:"tickTock"`
|
|
PubShards pubshards.Config `json:"pubShards"`
|
|
}
|
|
|
|
var cfg Config
|
|
|
|
func Init(path string) error {
|
|
if path == "" {
|
|
return c.DefaultLoad("hub", &cfg)
|
|
}
|
|
|
|
return c.Load(path, &cfg)
|
|
}
|
|
|
|
func Cfg() *Config {
|
|
return &cfg
|
|
}
|