config.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. // Copyright 2019 getensh.com. All rights reserved.
  2. // Use of this source code is governed by getensh.com.
  3. package config
  4. type LogConfig struct {
  5. Path string
  6. Level string
  7. MaxSize int
  8. MaxBackups int
  9. MaxAge int
  10. Stacktrace bool
  11. }
  12. type MysqlConfig struct {
  13. User string
  14. Password string
  15. Addr string
  16. DB string
  17. Charset string
  18. MaxIdle int
  19. MaxConn int
  20. LogMode bool
  21. }
  22. type RedisConfig struct {
  23. Addrs []string
  24. Password string
  25. DB int
  26. PoolSize int
  27. MinIdleConns int
  28. MaxRetries int
  29. Cluster bool
  30. }
  31. type ElasticConfig struct {
  32. Addrs []string
  33. Sniff bool
  34. }
  35. type ThirdPartNode struct {
  36. Host string
  37. AppKey string
  38. AppSecret string
  39. }
  40. type AliPartNode struct {
  41. AesKey string
  42. }
  43. type ThirdPartyConfig struct {
  44. Ali AliPartNode
  45. }
  46. type RPCNode struct {
  47. ServiceName string
  48. ServicePort int
  49. ServiceIp string
  50. MysqlDb string
  51. RedisDb int
  52. LogLevel string
  53. LogStacktrace bool
  54. }
  55. type KeepaliveConfig struct {
  56. ClientTime int
  57. ClientTimeout int
  58. ServerTime int
  59. ServerTimeout int
  60. ServerMiniTime int
  61. }
  62. type OssConfig struct {
  63. Protocol string
  64. Endpoint string
  65. Id string
  66. Key string
  67. PropertyCompanyBucket string
  68. GateTempUrl string
  69. }
  70. type Coupon struct {
  71. Url string
  72. Action string
  73. ExpireDate string
  74. }
  75. type RPCConfig struct {
  76. Prefix string
  77. Keepalive KeepaliveConfig
  78. Management RPCNode
  79. Company RPCNode
  80. Common RPCNode
  81. Garden RPCNode
  82. PropertyLog RPCNode
  83. System RPCNode
  84. Thirdparty RPCNode
  85. Device RPCNode
  86. }
  87. type GatewayConfig struct {
  88. AppKey string
  89. AppSecret string
  90. ServiceName string
  91. ServiceIp string
  92. ServicePort int
  93. MysqlDb string
  94. RedisDb int
  95. LogLevel string
  96. LogStacktrace bool
  97. }
  98. type JwtConfig struct {
  99. Secret string // 密钥
  100. Issuer string // 发行人
  101. Seconds int64 // 过期秒数
  102. }
  103. type Configure struct {
  104. // 基础配置
  105. K8s bool
  106. RunMode string
  107. Log LogConfig
  108. EtcdAddrs []string
  109. // 按需配置
  110. Mysql MysqlConfig
  111. Redis RedisConfig
  112. Elastic ElasticConfig
  113. ThirdParty ThirdPartyConfig
  114. Oss OssConfig
  115. Jwt JwtConfig
  116. // 所要启用的服务
  117. Rpc RPCConfig
  118. PropertyManagementGateway GatewayConfig
  119. }