You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

config.go 1.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package config
  2. import (
  3. log "gitlink.org.cn/cloudream/common/pkgs/logger"
  4. c "gitlink.org.cn/cloudream/common/utils/config"
  5. stgglb "gitlink.org.cn/cloudream/jcs-pub/common/globals"
  6. "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/rpc"
  7. corrpc "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/rpc/coordinator"
  8. hubrpc "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/rpc/hub"
  9. "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/sysevent"
  10. jcstypes "gitlink.org.cn/cloudream/jcs-pub/common/types"
  11. "gitlink.org.cn/cloudream/jcs-pub/hub/internal/http"
  12. "gitlink.org.cn/cloudream/jcs-pub/hub/internal/pubshards"
  13. "gitlink.org.cn/cloudream/jcs-pub/hub/internal/ticktock"
  14. )
  15. type Config struct {
  16. ID jcstypes.HubID `json:"id"`
  17. Local stgglb.LocalMachineInfo `json:"local"`
  18. RPC rpc.Config `json:"rpc"`
  19. HTTP *http.Config `json:"http"`
  20. CoordinatorRPC corrpc.PoolConfigJSON `json:"coordinatorRPC"`
  21. HubRPC hubrpc.PoolConfigJSON `json:"hubRPC"`
  22. Logger log.Config `json:"logger"`
  23. SysEvent sysevent.Config `json:"sysEvent"`
  24. TickTock ticktock.Config `json:"tickTock"`
  25. PubShards pubshards.Config `json:"pubShards"`
  26. }
  27. var cfg Config
  28. func Init(path string) error {
  29. if path == "" {
  30. return c.DefaultLoad("hub", &cfg)
  31. }
  32. return c.Load(path, &cfg)
  33. }
  34. func Cfg() *Config {
  35. return &cfg
  36. }

本项目旨在将云际存储公共基础设施化,使个人及企业可低门槛使用高效的云际存储服务(安装开箱即用云际存储客户端即可,无需关注其他组件的部署),同时支持用户灵活便捷定制云际存储的功能细节。