autocert

package
v0.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2025 License: MIT Imports: 171 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CertFileDefault    = certBasePath + "cert.crt"
	KeyFileDefault     = certBasePath + "priv.key"
	ACMEKeyFileDefault = certBasePath + "acme.key"
)
View Source
const (
	ProviderLocal            = "local"
	ProviderPseudo           = "pseudo"
	Provideracmedns          = "acmedns"
	Provideractive24         = "active24"
	Provideralidns           = "alidns"
	Providerallinkl          = "allinkl"
	Providerarvancloud       = "arvancloud"
	Providerauroradns        = "auroradns"
	Providerautodns          = "autodns"
	Provideraxelname         = "axelname"
	Providerazuredns         = "azuredns"
	Providerbaiducloud       = "baiducloud"
	Providerbindman          = "bindman"
	Providerbluecat          = "bluecat"
	Providerbookmyname       = "bookmyname"
	Providerbunny            = "bunny"
	Providercheckdomain      = "checkdomain"
	Providercivo             = "civo"
	Providerclouddns         = "clouddns"
	Providercloudflare       = "cloudflare"
	Providercloudns          = "cloudns"
	Providercloudru          = "cloudru"
	Providerconoha           = "conoha"
	Providerconstellix       = "constellix"
	Providercorenetworks     = "corenetworks"
	Providercpanel           = "cpanel"
	Providerderak            = "derak"
	Providerdesec            = "desec"
	Providerdesignate        = "designate"
	Providerdigitalocean     = "digitalocean"
	Providerdirectadmin      = "directadmin"
	Providerdnshomede        = "dnshomede"
	Providerdnsimple         = "dnsimple"
	Providerdnsmadeeasy      = "dnsmadeeasy"
	Providerdode             = "dode"
	Providerdomeneshop       = "domeneshop"
	Providerdreamhost        = "dreamhost"
	Providerduckdns          = "duckdns"
	Providerdyn              = "dyn"
	Providerdynu             = "dynu"
	Providereasydns          = "easydns"
	Provideredgedns          = "edgedns"
	Providerefficientip      = "efficientip"
	Providerepik             = "epik"
	Providerexec             = "exec"
	Providerexoscale         = "exoscale"
	Providerf5xc             = "f5xc"
	Providerfreemyip         = "freemyip"
	Providergandi            = "gandi"
	Providergandiv5          = "gandiv5"
	Providergcloud           = "gcloud"
	Providergcore            = "gcore"
	Providerglesys           = "glesys"
	Providergodaddy          = "godaddy"
	Providergoogledomains    = "googledomains"
	Providerhetzner          = "hetzner"
	Providerhostingde        = "hostingde"
	Providerhosttech         = "hosttech"
	Providerhttpnet          = "httpnet"
	Providerhttpreq          = "httpreq"
	Providerhuaweicloud      = "huaweicloud"
	Providerhurricane        = "hurricane"
	Providerhyperone         = "hyperone"
	Provideribmcloud         = "ibmcloud"
	Provideriij              = "iij"
	Provideriijdpf           = "iijdpf"
	Providerinfoblox         = "infoblox"
	Providerinfomaniak       = "infomaniak"
	Providerinternetbs       = "internetbs"
	Providerinwx             = "inwx"
	Providerionos            = "ionos"
	Provideripv64            = "ipv64"
	Provideriwantmyname      = "iwantmyname"
	Providerjoker            = "joker"
	Providerliara            = "liara"
	Providerlightsail        = "lightsail"
	Providerlimacity         = "limacity"
	Providerlinode           = "linode"
	Providerliquidweb        = "liquidweb"
	Providerloopia           = "loopia"
	Providerluadns           = "luadns"
	Providermailinabox       = "mailinabox"
	Providermanageengine     = "manageengine"
	Providermetaname         = "metaname"
	Providermetaregistrar    = "metaregistrar"
	Providermijnhost         = "mijnhost"
	Providermittwald         = "mittwald"
	Providermyaddr           = "myaddr"
	Providermydnsjp          = "mydnsjp"
	Providernamecheap        = "namecheap"
	Providernamedotcom       = "namedotcom"
	Providernamesilo         = "namesilo"
	Providernearlyfreespeech = "nearlyfreespeech"
	Providernetcup           = "netcup"
	Providernetlify          = "netlify"
	Providernicmanager       = "nicmanager"
	Providernifcloud         = "nifcloud"
	Providernjalla           = "njalla"
	Providernodion           = "nodion"
	Providerns1              = "ns1"
	Provideroraclecloud      = "oraclecloud"
	Providerotc              = "otc"
	Providerovh              = "ovh"
	Providerpdns             = "pdns"
	Providerplesk            = "plesk"
	Providerporkbun          = "porkbun"
	Providerrackspace        = "rackspace"
	Providerrainyun          = "rainyun"
	Providerrcodezero        = "rcodezero"
	Providerregfish          = "regfish"
	Providerregru            = "regru"
	Providerrfc2136          = "rfc2136"
	Providerrimuhosting      = "rimuhosting"
	Providerroute53          = "route53"
	Providersafedns          = "safedns"
	Providersakuracloud      = "sakuracloud"
	Providerscaleway         = "scaleway"
	Providerselectel         = "selectel"
	Providerselectelv2       = "selectelv2"
	Providerselfhostde       = "selfhostde"
	Providerservercow        = "servercow"
	Providershellrent        = "shellrent"
	Providersimply           = "simply"
	Providersonic            = "sonic"
	Providerspaceship        = "spaceship"
	Providerstackpath        = "stackpath"
	Providertechnitium       = "technitium"
	Providertencentcloud     = "tencentcloud"
	Providertimewebcloud     = "timewebcloud"
	Providertransip          = "transip"
	Providerultradns         = "ultradns"
	Providervariomedia       = "variomedia"
	Providervegadns          = "vegadns"
	Providervercel           = "vercel"
	Providerversio           = "versio"
	Providervinyldns         = "vinyldns"
	Providervkcloud          = "vkcloud"
	Providervolcengine       = "volcengine"
	Providervscale           = "vscale"
	Providervultr            = "vultr"
	Providerwebnames         = "webnames"
	Providerwebsupport       = "websupport"
	Providerwedos            = "wedos"
	Providerwestcn           = "westcn"
	Provideryandex           = "yandex"
	Provideryandex360        = "yandex360"
	Providerzoneee           = "zoneee"
	Providerzonomi           = "zonomi"
)

Variables

View Source
var (
	ErrMissingDomain   = gperr.New("missing field 'domains'")
	ErrMissingEmail    = gperr.New("missing field 'email'")
	ErrMissingProvider = gperr.New("missing field 'provider'")
	ErrInvalidDomain   = gperr.New("invalid domain")
	ErrUnknownProvider = gperr.New("unknown provider")
)
View Source
var ErrGetCertFailure = errors.New("get certificate failed")

Functions

This section is empty.

Types

type AutocertConfig

type AutocertConfig struct {
	Email       string      `json:"email,omitempty"`
	Domains     []string    `json:"domains,omitempty"`
	CertPath    string      `json:"cert_path,omitempty"`
	KeyPath     string      `json:"key_path,omitempty"`
	ACMEKeyPath string      `json:"acme_key_path,omitempty"`
	Provider    string      `json:"provider,omitempty"`
	Options     ProviderOpt `json:"options,omitempty"`
}

func (*AutocertConfig) GetProvider

func (cfg *AutocertConfig) GetProvider() (*Provider, gperr.Error)

func (*AutocertConfig) Validate

func (cfg *AutocertConfig) Validate() gperr.Error

Validate implements the utils.CustomValidator interface.

type CertExpiries

type CertExpiries map[string]time.Time

type CertState

type CertState int
const (
	CertStateValid CertState = iota
	CertStateExpired
	CertStateMismatch
)

type DummyConfig

type DummyConfig struct{}

func NewDummyDefaultConfig

func NewDummyDefaultConfig() *DummyConfig

type DummyProvider

type DummyProvider struct{}

func NewDummyDNSProviderConfig

func NewDummyDNSProviderConfig(*DummyConfig) (*DummyProvider, error)

func (DummyProvider) CleanUp

func (DummyProvider) CleanUp(domain, token, keyAuth string) error

func (DummyProvider) Present

func (DummyProvider) Present(domain, token, keyAuth string) error

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

func (*Provider) GetCert

func (p *Provider) GetCert(_ *tls.ClientHelloInfo) (*tls.Certificate, error)

func (*Provider) GetCertPath

func (p *Provider) GetCertPath() string

func (*Provider) GetExpiries

func (p *Provider) GetExpiries() CertExpiries

func (*Provider) GetKeyPath

func (p *Provider) GetKeyPath() string

func (*Provider) GetName

func (p *Provider) GetName() string

func (*Provider) LoadCert

func (p *Provider) LoadCert() error

func (*Provider) ObtainCert

func (p *Provider) ObtainCert() error

func (*Provider) ScheduleRenewal

func (p *Provider) ScheduleRenewal(parent task.Parent)

func (*Provider) Setup

func (p *Provider) Setup() (err error)

func (*Provider) ShouldRenewOn

func (p *Provider) ShouldRenewOn() time.Time

ShouldRenewOn returns the time at which the certificate should be renewed.

type ProviderGenerator

type ProviderGenerator func(ProviderOpt) (challenge.Provider, gperr.Error)

type ProviderOpt

type ProviderOpt map[string]any

type User

type User struct {
	Email        string
	Registration *registration.Resource
	// contains filtered or unexported fields
}

func (*User) GetEmail

func (u *User) GetEmail() string

func (*User) GetPrivateKey

func (u *User) GetPrivateKey() crypto.PrivateKey

func (*User) GetRegistration

func (u *User) GetRegistration() *registration.Resource

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL