clickhouseconf.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package servercfg
  2. import (
  3. "os"
  4. "strconv"
  5. "github.com/gravitl/netmaker/config"
  6. )
  7. func GetClickHouseConfig() config.ClickHouseConfig {
  8. return config.ClickHouseConfig{
  9. Host: GetClickHouseHost(),
  10. Port: GetClickHousePort(),
  11. Database: GetClickHouseDB(),
  12. Username: GetClickHouseUser(),
  13. Password: GetClickHousePassword(),
  14. }
  15. }
  16. func GetClickHouseHost() string {
  17. host := "localhost"
  18. if os.Getenv("CLICKHOUSE_HOST") != "" {
  19. host = os.Getenv("CLICKHOUSE_HOST")
  20. } else if config.Config.ClickHouse.Host != "" {
  21. host = config.Config.ClickHouse.Host
  22. }
  23. return host
  24. }
  25. func GetClickHousePort() int32 {
  26. port := int32(9000)
  27. envport, err := strconv.Atoi(os.Getenv("CLICKHOUSE_PORT"))
  28. if err == nil && envport != 0 {
  29. port = int32(envport)
  30. } else if config.Config.ClickHouse.Port != 0 {
  31. port = config.Config.ClickHouse.Port
  32. }
  33. return port
  34. }
  35. func GetClickHouseDB() string {
  36. db := "netmaker"
  37. if os.Getenv("CLICKHOUSE_DB") != "" {
  38. db = os.Getenv("CLICKHOUSE_DB")
  39. } else if config.Config.ClickHouse.Database != "" {
  40. db = config.Config.ClickHouse.Database
  41. }
  42. return db
  43. }
  44. func GetClickHouseUser() string {
  45. user := "netmaker"
  46. if os.Getenv("CLICKHOUSE_USER") != "" {
  47. user = os.Getenv("CLICKHOUSE_USER")
  48. } else if config.Config.ClickHouse.Username != "" {
  49. user = config.Config.ClickHouse.Username
  50. }
  51. return user
  52. }
  53. func GetClickHousePassword() string {
  54. password := "netmaker"
  55. if os.Getenv("CLICKHOUSE_PASS") != "" {
  56. password = os.Getenv("CLICKHOUSE_PASS")
  57. } else if config.Config.ClickHouse.Password != "" {
  58. password = config.Config.ClickHouse.Password
  59. }
  60. return password
  61. }