Documentation
¶
Index ¶
- type Analyzer
- type ClusterInfo
- type DNSVerificationReport
- type DefaultAnalyzer
- type DefaultAnalyzerConfig
- type DefaultAnalyzerOption
- type DefaultVerifier
- type DefaultVerifierConfig
- type DefaultVerifierOption
- type MakeRecommendationsConfig
- type MakeRecommendationsOption
- type NoopRecommender
- type Recommender
- type RecordType
- type Resolver
- type Verifier
- type VerifyCNAMERecordConfig
- type VerifyCNAMERecordOption
- type VerifyResult
- type VerifyResultStatus
- type WithCluster
- type WithExpectedTarget
- type WithRecommender
- type WithTimeout
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Analyzer ¶
type Analyzer interface {
Analyze(*cmv1.Cluster, []VerifyResult) DNSVerificationReport
}
type ClusterInfo ¶
type DNSVerificationReport ¶
type DNSVerificationReport struct {
Cluster ClusterInfo `json:"cluster"`
Results []VerifyResult `json:"results"`
Summary summaryStats `json:"summary"`
Recommendations []string `json:"recommendations,omitempty"`
}
type DefaultAnalyzer ¶
type DefaultAnalyzer struct {
// contains filtered or unexported fields
}
func NewDefaultAnalyzer ¶
func NewDefaultAnalyzer(opts ...DefaultAnalyzerOption) *DefaultAnalyzer
func (*DefaultAnalyzer) Analyze ¶
func (a *DefaultAnalyzer) Analyze(cluster *cmv1.Cluster, results []VerifyResult) DNSVerificationReport
type DefaultAnalyzerConfig ¶
type DefaultAnalyzerConfig struct {
Recommender Recommender
}
func (*DefaultAnalyzerConfig) Default ¶
func (c *DefaultAnalyzerConfig) Default()
func (*DefaultAnalyzerConfig) Option ¶
func (c *DefaultAnalyzerConfig) Option(opts ...DefaultAnalyzerOption)
type DefaultAnalyzerOption ¶
type DefaultAnalyzerOption interface {
ConfigureDefaultAnalyzer(*DefaultAnalyzerConfig)
}
type DefaultVerifier ¶
type DefaultVerifier struct {
// contains filtered or unexported fields
}
func NewDefaultVerifier ¶
func NewDefaultVerifier(opts ...DefaultVerifierOption) *DefaultVerifier
func (*DefaultVerifier) VerifyARecord ¶
func (v *DefaultVerifier) VerifyARecord(ctx context.Context, path string) VerifyResult
VerifyARecord tests an A record and returns the result
func (*DefaultVerifier) VerifyCNAMERecord ¶
func (v *DefaultVerifier) VerifyCNAMERecord(ctx context.Context, dnsName string, opts ...VerifyCNAMERecordOption) VerifyResult
VerifyCNAMERecord tests a CNAME record and validates it points to the expected target
type DefaultVerifierConfig ¶
func (*DefaultVerifierConfig) Default ¶
func (c *DefaultVerifierConfig) Default()
func (*DefaultVerifierConfig) Option ¶
func (c *DefaultVerifierConfig) Option(opts ...DefaultVerifierOption)
type DefaultVerifierOption ¶
type DefaultVerifierOption interface {
ConfigureDefaultVerifier(*DefaultVerifierConfig)
}
type MakeRecommendationsConfig ¶
func (*MakeRecommendationsConfig) Option ¶
func (c *MakeRecommendationsConfig) Option(opts ...MakeRecommendationsOption)
type MakeRecommendationsOption ¶
type MakeRecommendationsOption interface {
ConfigureMakeRecommendations(*MakeRecommendationsConfig)
}
type NoopRecommender ¶
type NoopRecommender struct{}
func (*NoopRecommender) MakeRecommendations ¶
func (r *NoopRecommender) MakeRecommendations([]VerifyResult, ...MakeRecommendationsOption) []string
type Recommender ¶
type Recommender interface {
MakeRecommendations([]VerifyResult, ...MakeRecommendationsOption) []string
}
type RecordType ¶
type RecordType string
const ( RecordTypeA RecordType = "A" RecordTypeCNAME RecordType = "CNAME" )
type Verifier ¶
type Verifier interface {
VerifyARecord(context.Context, string) VerifyResult
VerifyCNAMERecord(context.Context, string, ...VerifyCNAMERecordOption) VerifyResult
}
type VerifyCNAMERecordConfig ¶
type VerifyCNAMERecordConfig struct {
ExpectedTarget string
}
func (*VerifyCNAMERecordConfig) Option ¶
func (c *VerifyCNAMERecordConfig) Option(opts ...VerifyCNAMERecordOption)
type VerifyCNAMERecordOption ¶
type VerifyCNAMERecordOption interface {
ConfigureVerifyCNAMERecord(*VerifyCNAMERecordConfig)
}
type VerifyResult ¶
type VerifyResult struct {
Name string `json:"name"`
Type RecordType `json:"type"`
ResolvedIPs []string `json:"resolved_ips,omitempty"` // For A records
ActualTarget string `json:"actual_target,omitempty"` // For CNAME records (actual)
ExpectedTarget string `json:"expected_target,omitempty"` // For CNAME records (expected)
Status VerifyResultStatus `json:"status"` // "PASS", "FAIL", or "SKIP"
ErrorMessage string `json:"error_message,omitempty"`
SkipReason string `json:"skip_reason,omitempty"` // Explanation for skipped records
}
type VerifyResultStatus ¶
type VerifyResultStatus string
const ( VerifyResultStatusPass VerifyResultStatus = "PASS" VerifyResultStatusFail VerifyResultStatus = "FAIL" VerifyResultStatusSkip VerifyResultStatus = "SKIP" )
type WithCluster ¶
func (WithCluster) ConfigureMakeRecommendations ¶
func (w WithCluster) ConfigureMakeRecommendations(cfg *MakeRecommendationsConfig)
type WithExpectedTarget ¶
type WithExpectedTarget string
func (WithExpectedTarget) ConfigureVerifyCNAMERecord ¶
func (w WithExpectedTarget) ConfigureVerifyCNAMERecord(cfg *VerifyCNAMERecordConfig)
type WithRecommender ¶
type WithRecommender struct {
Recommender Recommender
}
func (WithRecommender) ConfigureDefaultAnalyzer ¶
func (w WithRecommender) ConfigureDefaultAnalyzer(cfg *DefaultAnalyzerConfig)
type WithTimeout ¶
func (WithTimeout) ConfigureDefaultVerifier ¶
func (w WithTimeout) ConfigureDefaultVerifier(cfg *DefaultVerifierConfig)
Click to show internal directories.
Click to hide internal directories.