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

12345678910111213141516171819202122232425262728293031323334
  1. package config
  2. import (
  3. "gitlink.org.cn/cloudream/common/pkg/distlock"
  4. log "gitlink.org.cn/cloudream/common/pkg/logger"
  5. c "gitlink.org.cn/cloudream/common/utils/config"
  6. "gitlink.org.cn/cloudream/common/utils/ipfs"
  7. racfg "gitlink.org.cn/cloudream/rabbitmq/config"
  8. )
  9. type Config struct {
  10. ID int64 `json:"id"`
  11. GRPCListenAddress string `json:"grpcListenAddress"`
  12. GRPCPort int `json:"grpcPort"`
  13. ECPacketSize int64 `json:"ecPacketSize"`
  14. LocalIP string `json:"localIP"`
  15. ExternalIP string `json:"externalIP"`
  16. StorageBaseDir string `json:"storageBaseDir"`
  17. TempFileLifetime int `json:"tempFileLifetime"` // temp状态的副本最多能保持多久时间,单位:秒
  18. Logger log.Config `json:"logger"`
  19. RabbitMQ racfg.Config `json:"rabbitMQ"`
  20. IPFS ipfs.Config `json:"ipfs"`
  21. DistLock distlock.Config `json:"distlock"`
  22. }
  23. var cfg Config
  24. func Init() error {
  25. return c.DefaultLoad("agent", &cfg)
  26. }
  27. func Cfg() *Config {
  28. return &cfg
  29. }

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