Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckPort53Accessible ¶
CheckPort53Accessible checks if port 53 is accessible on the given IP. Note: This only verifies TCP connectivity. UDP "connectivity" cannot be reliably verified without sending actual DNS queries, as UDP is connectionless. A successful TCP check is a good indicator that the DNS server is running.
func GroupWildcards ¶
func GroupWildcards(reqs []DomainRequirement) []string
GroupWildcards returns unique wildcard base domains
func HasWildcards ¶
func HasWildcards(reqs []DomainRequirement) bool
HasWildcards checks if any requirements include wildcards
func IsWildcard ¶
IsWildcard checks if a domain is a wildcard domain
Types ¶
type ChallengeType ¶
type ChallengeType string
ChallengeType represents the ACME challenge type
const ( // ChallengeHTTP01 uses HTTP-01 challenge (standard, no wildcards) ChallengeHTTP01 ChallengeType = "http-01" // ChallengeDNS01 uses DNS-01 challenge (required for wildcards) ChallengeDNS01 ChallengeType = "dns-01" )
type DNSChecker ¶
type DNSChecker struct {
// contains filtered or unexported fields
}
DNSChecker handles DNS propagation verification
func NewDNSChecker ¶
func NewDNSChecker() *DNSChecker
NewDNSChecker creates a new DNS checker with default resolvers
func (*DNSChecker) CheckCNAME ¶
func (c *DNSChecker) CheckCNAME(domain string, expectedTarget string) (bool, error)
CheckCNAME checks if a CNAME record exists and points to the expected target
func (*DNSChecker) WaitForDNSPropagation ¶
func (c *DNSChecker) WaitForDNSPropagation(ctx context.Context, domain, expectedTarget string, checkInterval time.Duration, onProgress func(attempt int, elapsed time.Duration)) (bool, error)
WaitForDNSPropagation waits for DNS propagation with progress updates
type DNSPropagationResult ¶
type DNSPropagationResult struct {
Domain string
Verified bool
Attempts int
Duration time.Duration
Error error
}
DNSPropagationResult represents the result of a DNS propagation check
type DomainRequirement ¶
type DomainRequirement struct {
Domain string
IsWildcard bool
BaseDomain string // "example.com" for "*.example.com"
ChallengeType ChallengeType
ServiceName string
}
DomainRequirement represents SSL requirements for a domain
func DetectRequirements ¶
func DetectRequirements(services map[string]config.ServiceConfig) []DomainRequirement
DetectRequirements analyzes all service domains and returns SSL requirements
func FilterByChallenge ¶
func FilterByChallenge(reqs []DomainRequirement, challengeType ChallengeType) []DomainRequirement
FilterByChallenge returns requirements matching the specified challenge type