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.5 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package config
  2. import (
  3. "gitlink.org.cn/cloudream/common/pkgs/distlock"
  4. log "gitlink.org.cn/cloudream/common/pkgs/logger"
  5. "gitlink.org.cn/cloudream/common/pkgs/mq"
  6. cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
  7. c "gitlink.org.cn/cloudream/common/utils/config"
  8. stgmodels "gitlink.org.cn/cloudream/storage/common/models"
  9. "gitlink.org.cn/cloudream/storage/common/pkgs/connectivity"
  10. db "gitlink.org.cn/cloudream/storage/common/pkgs/db2/config"
  11. "gitlink.org.cn/cloudream/storage/common/pkgs/downloader"
  12. "gitlink.org.cn/cloudream/storage/common/pkgs/downloader/strategy"
  13. "gitlink.org.cn/cloudream/storage/common/pkgs/grpc"
  14. )
  15. type Config struct {
  16. ID cdssdk.HubID `json:"id"`
  17. ListenAddr string `json:"listenAddr"`
  18. Local stgmodels.LocalMachineInfo `json:"local"`
  19. GRPC *grpc.Config `json:"grpc"`
  20. Logger log.Config `json:"logger"`
  21. RabbitMQ mq.Config `json:"rabbitMQ"`
  22. DistLock distlock.Config `json:"distlock"`
  23. Connectivity connectivity.Config `json:"connectivity"`
  24. Downloader downloader.Config `json:"downloader"`
  25. DownloadStrategy strategy.Config `json:"downloadStrategy"`
  26. DB db.Config `json:"db"`
  27. }
  28. var cfg Config
  29. func Init(path string) error {
  30. if path == "" {
  31. return c.DefaultLoad("client2", &cfg)
  32. }
  33. return c.Load(path, &cfg)
  34. }
  35. func Cfg() *Config {
  36. return &cfg
  37. }

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