server.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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" binging:"min=7,max=21"`
  20. }
  21. func (s *Server) GetCADir() string {
  22. if s.Demo {
  23. return lego.LEDirectoryStaging
  24. }
  25. if s.CADir != "" {
  26. return s.CADir
  27. }
  28. return lego.LEDirectoryProduction
  29. }
  30. func (s *Server) GetCertRenewalInterval() int {
  31. if s.CertRenewalInterval < 7 {
  32. return 7
  33. }
  34. if s.CertRenewalInterval > 21 {
  35. return 21
  36. }
  37. return s.CertRenewalInterval
  38. }
  39. var ServerSettings = Server{
  40. HttpHost: "0.0.0.0",
  41. HttpPort: "9000",
  42. RunMode: "debug",
  43. HTTPChallengePort: "9180",
  44. Database: "database",
  45. StartCmd: "login",
  46. Demo: false,
  47. PageSize: 10,
  48. CADir: "",
  49. GithubProxy: "",
  50. CertRenewalInterval: 7,
  51. }