1
0

cert.go 905 B

123456789101112131415161718192021222324252627282930313233343536
  1. package settings
  2. import "github.com/go-acme/lego/v4/lego"
  3. type Cert struct {
  4. Email string `json:"email" protected:"true"`
  5. CADir string `json:"ca_dir" binding:"omitempty,url"`
  6. RenewalInterval int `json:"renewal_interval" binding:"min=7,max=21"`
  7. RecursiveNameservers []string `json:"recursive_nameservers" binding:"omitempty,dive,hostname_port"`
  8. HTTPChallengePort string `json:"http_challenge_port"`
  9. }
  10. var CertSettings = &Cert{
  11. Email: "",
  12. CADir: "",
  13. RenewalInterval: 7,
  14. RecursiveNameservers: []string{},
  15. HTTPChallengePort: "9180",
  16. }
  17. func (s *Cert) GetCADir() string {
  18. if s.CADir != "" {
  19. return s.CADir
  20. }
  21. return lego.LEDirectoryProduction
  22. }
  23. func (s *Cert) GetCertRenewalInterval() int {
  24. if s.RenewalInterval < 7 {
  25. return 7
  26. }
  27. if s.RenewalInterval > 21 {
  28. return 21
  29. }
  30. return s.RenewalInterval
  31. }