server.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. SkipInstallation bool `json:"skip_installation" protected:"true"`
  22. Name string `json:"name" binding:"omitempty,alpha_num_dash_dot"`
  23. }
  24. func (s *Server) GetCADir() string {
  25. if s.Demo {
  26. return lego.LEDirectoryStaging
  27. }
  28. if s.CADir != "" {
  29. return s.CADir
  30. }
  31. return lego.LEDirectoryProduction
  32. }
  33. func (s *Server) GetCertRenewalInterval() int {
  34. if s.CertRenewalInterval < 7 {
  35. return 7
  36. }
  37. if s.CertRenewalInterval > 21 {
  38. return 21
  39. }
  40. return s.CertRenewalInterval
  41. }
  42. var ServerSettings = Server{
  43. HttpHost: "0.0.0.0",
  44. HttpPort: "9000",
  45. RunMode: "debug",
  46. HTTPChallengePort: "9180",
  47. Database: "database",
  48. StartCmd: "login",
  49. Demo: false,
  50. PageSize: 10,
  51. CADir: "",
  52. GithubProxy: "",
  53. CertRenewalInterval: 7,
  54. RecursiveNameservers: make([]string, 0),
  55. }