JCS-pub/hub/internal/config/config.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
}