server.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package settings
  2. import (
  3. "github.com/go-acme/lego/v4/lego"
  4. )
  5. type Server struct {
  6. HttpHost string `json:"http_host" protected:"true"`
  7. HttpPort string `json:"http_port" protected:"true"`
  8. RunMode string `json:"run_mode" protected:"true"`
  9. JwtSecret string `json:"jwt_secret" protected:"true"`
  10. NodeSecret string `json:"node_secret" protected:"true"`
  11. HTTPChallengePort string `json:"http_challenge_port"`
  12. Email string `json:"email" protected:"true"`
  13. Database string `json:"database" protected:"true"`
  14. StartCmd string `json:"start_cmd" protected:"true"`
  15. CADir string `json:"ca_dir" binding:"omitempty,url"`
  16. Demo bool `json:"demo" protected:"true"`
  17. PageSize int `json:"page_size" protected:"true"`
  18. GithubProxy string `json:"github_proxy" binding:"omitempty,url"`
  19. CertRenewalInterval int `json:"cert_renewal_interval" binding:"min=7,max=21"`
  20. RecursiveNameservers []string `json:"recursive_nameservers" binding:"omitempty,dive,hostname_port"`
  21. }
  22. func (s *Server) GetCADir() string {
  23. if s.Demo {
  24. return lego.LEDirectoryStaging
  25. }
  26. if s.CADir != "" {
  27. return s.CADir
  28. }
  29. return lego.LEDirectoryProduction
  30. }
  31. func (s *Server) GetCertRenewalInterval() int {
  32. if s.CertRenewalInterval < 7 {
  33. return 7
  34. }
  35. if s.CertRenewalInterval > 21 {
  36. return 21
  37. }
  38. return s.CertRenewalInterval
  39. }
  40. var ServerSettings = Server{
  41. HttpHost: "0.0.0.0",
  42. HttpPort: "9000",
  43. RunMode: "debug",
  44. HTTPChallengePort: "9180",
  45. Database: "database",
  46. StartCmd: "login",
  47. Demo: false,
  48. PageSize: 10,
  49. CADir: "",
  50. GithubProxy: "",
  51. CertRenewalInterval: 7,
  52. RecursiveNameservers: make([]string, 0),
  53. }