Documentation
¶
Overview ¶
Package address provides utilities for resolving addresses from Kubernetes resources.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddressesToStrings ¶
func AddressesToStrings(addresses []ResolvedAddress) []string
AddressesToStrings converts ResolvedAddresses to a string slice.
func DetermineRecordType ¶
func DetermineRecordType(addr ResolvedAddress) string
DetermineRecordType determines the DNS record type based on the address.
Types ¶
type ResolveResult ¶
type ResolveResult struct {
// Addresses contains all resolved addresses.
Addresses []ResolvedAddress
// ResourceVersion is the source resource's resourceVersion.
ResourceVersion string
// SourceExists indicates whether the source resource exists.
SourceExists bool
}
ResolveResult contains the result of address resolution.
type ResolvedAddress ¶
type ResolvedAddress struct {
// Value is the IP address or hostname.
Value string
// IsIPv4 indicates if this is an IPv4 address.
IsIPv4 bool
// IsIPv6 indicates if this is an IPv6 address.
IsIPv6 bool
// IsHostname indicates if this is a hostname (not an IP).
IsHostname bool
}
ResolvedAddress represents a single resolved address.
func ParseAddress ¶
func ParseAddress(addr string) ResolvedAddress
ParseAddress parses an address string and returns a ResolvedAddress.
func SelectAddresses ¶
func SelectAddresses(addresses []ResolvedAddress, policy v1alpha2.AddressSelectionPolicy) []ResolvedAddress
SelectAddresses applies the selection policy to choose addresses.
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
Resolver resolves addresses from Kubernetes resources.
func NewResolver ¶
NewResolver creates a new address resolver.
func (*Resolver) Resolve ¶
func (r *Resolver) Resolve(ctx context.Context, sourceRef *v1alpha2.DNSRecordSourceRef, defaultNamespace string) (*ResolveResult, error)
Resolve resolves addresses from the given source reference. The defaultNamespace is used when the source doesn't specify a namespace.