Documentation
¶
Index ¶
- Constants
- func AlignHostname(host string) string
- func NormalizeHostname(host string) string
- func SupportedRecordType(t string) bool
- func ValidateDomainName(name string) error
- type Cache
- type DNSNameSet
- type DNSSet
- func (this *DNSSet) Clone() *DNSSet
- func (this *DNSSet) DeleteTxtAttr(name string)
- func (this *DNSSet) GetTxtAttr(name string) string
- func (this *DNSSet) Match(that *DNSSet) bool
- func (this *DNSSet) MatchRecordTypeSubset(that *DNSSet, recordType string) bool
- func (this *DNSSet) SetRecordSet(recordType string, ttl int64, values ...string)
- func (this *DNSSet) SetTxtAttr(name string, value string)
- type DNSSetName
- type DNSSets
- func (dnssets DNSSets) AddRecordSet(name DNSSetName, policy *RoutingPolicy, recordSet *RecordSet)
- func (dnssets DNSSets) AddRecordSetFromProvider(dnsName string, recordSet *RecordSet)
- func (dnssets DNSSets) AddRecordSetFromProviderEx(setName DNSSetName, policy *RoutingPolicy, recordSet *RecordSet)
- func (dnssets DNSSets) Clone() DNSSets
- func (dnssets DNSSets) RemoveRecordSet(name DNSSetName, recordSetType string)
- type Group
- type GroupInfo
- type GroupKey
- type Record
- type RecordSet
- func (rs *RecordSet) Add(records ...*Record) *RecordSet
- func (rs *RecordSet) Clone() *RecordSet
- func (rs *RecordSet) DeleteAttr(name string)
- func (rs *RecordSet) DiffTo(set *RecordSet) (new Records, update Records, delete Records)
- func (rs *RecordSet) GetAttr(name string) string
- func (rs *RecordSet) Length() int
- func (rs *RecordSet) Match(set *RecordSet) bool
- func (rs *RecordSet) RecordString() string
- func (rs *RecordSet) SetAttr(name string, value string)
- func (rs *RecordSet) String() string
- type RecordSets
- type Records
- type RoutingPolicy
- type ZoneID
Constants ¶
View Source
const ( CONTROLLER_GROUP_DNS_CONTROLLERS = "dnscontrollers" CONTROLLER_GROUP_DNS_SOURCES = "dnssources" CONTROLLER_GROUP_REPLICATION = "replication" )
View Source
const ( DEFAULT_CLASS = "gardendns" ANNOTATION_GROUP = "dns.gardener.cloud" CLASS_ANNOTATION = ANNOTATION_GROUP + "/class" REALM_ANNOTATION = ANNOTATION_GROUP + "/realms" NOT_RATE_LIMITED_ANNOTATION = ANNOTATION_GROUP + "/not-rate-limited" DNS_ANNOTATION = ANNOTATION_GROUP + "/dnsnames" )
View Source
const ( // AnnotationIPStack is an optional annotation for DNSEntries to specify the IP stack. // Values are 'ipv4', 'dual-stack', and 'ipv6'. If not specified, 'ipv4' is assumed. // This annotation is currently only relevant for AWS-Route53 to generate alias target A and/or AAAA records. AnnotationIPStack = ANNOTATION_GROUP + "/ip-stack" AnnotationValueIPStackIPv4 = "ipv4" AnnotationValueIPStackIPDualStack = "dual-stack" AnnotationValueIPStackIPv6 = "ipv6" // AnnotationIgnore is an optional annotation for DNSEntries and source resources to ignore them on reconciliation. AnnotationIgnore = ANNOTATION_GROUP + "/ignore" // AnnotationIgnoreValueTrue is the value for the annotation to ignore the entry on reconciliation. Same as "reconcile". AnnotationIgnoreValueTrue = "true" // AnnotationIgnoreValueReconcile is the value for the annotation to ignore the entry on reconciliation. Same as "true". AnnotationIgnoreValueReconcile = "reconcile" // AnnotationIgnoreValueFull is the value for the annotation to ignore the entry on reconciliation and deletion. // IMPORTANT NOTE: The entry is even ignored on deletion. Use with caution to avoid orphaned entries! AnnotationIgnoreValueFull = "full" // AnnotationHardIgnore is an optional annotation for a generated target DNSEntry to ignore it on reconciliation. // It is enabled if the annotation value is "true". // This annotation is not propagated from source objects to the target DNSEntry. // IMPORTANT NOTE: The entry is even ignored on deletion. Use with caution to avoid orphaned entries! AnnotationHardIgnore = ANNOTATION_GROUP + "/target-hard-ignore" // AnnotationValidationError is an optional annotation for replicated provider secrets to indicate a validation error. AnnotationValidationError = ANNOTATION_GROUP + "/validation-error" // AnnotationServiceBetaGroup is the group for beta Service annotations. AnnotationServiceBetaGroup = "service.beta.kubernetes.io" // AnnotationAwsLoadBalancerIpAddressType is an optional annotation for AWS LoadBalancer Services to specify the IP address type. // Values are 'ipv4' and 'dual-stack'. If not specified, 'ipv4' is assumed. // Behaves similar to dns.gardener.cloud/ip-stack=dual-stack AnnotationAwsLoadBalancerIpAddressType = AnnotationServiceBetaGroup + "/aws-load-balancer-ip-address-type" // AnnotationAwsLoadBalancerIpAddressTypeValueDualStack is the value for the annotation to specify dual-stack IP address type. AnnotationAwsLoadBalancerIpAddressTypeValueDualStack = "dualstack" // AnnotationOpenStackLoadBalancerGroup is the group for OpenStack LoadBalancer Service annotations. AnnotationOpenStackLoadBalancerGroup = "loadbalancer.openstack.org" // AnnotationOpenStackLoadBalancerAddress is an optional annotation for OpenStack LoadBalancer Services to specify the load balancer address. // Support for PROXY protocol on Openstack (which needs a hostname as ingress) // If the user sets the annotation `loadbalancer.openstack.org/hostname`, the // annotation `loadbalancer.openstack.org/load-balancer-address` contains the IP address. // This address can then be used to create a DNS record for the hostname specified both // in annotation `loadbalancer.openstack.org/hostname` and `dns.gardener.cloud/dnsnames` // see https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/openstack-cloud-controller-manager/expose-applications-using-loadbalancer-type-service.md#service-annotations AnnotationOpenStackLoadBalancerAddress = AnnotationOpenStackLoadBalancerGroup + "/load-balancer-address" )
View Source
const ( RS_ALIAS_A = "ALIAS" // provider specific alias for CNAME record (AWS alias target A) RS_ALIAS_AAAA = "ALIAS_AAAA" // provider specific alias for CNAME record (AWS alias target AAAA) )
View Source
const ( RS_TXT = "TXT" RS_CNAME = "CNAME" RS_A = "A" RS_AAAA = "AAAA" )
View Source
const ( // RoutingPolicyWeighted is a weighted routing policy (supported for AWS Route 53 and Google CloudDNS) RoutingPolicyWeighted = "weighted" // RoutingPolicyLatency is a latency based routing policy (supported for AWS Route 53) RoutingPolicyLatency = "latency" // RoutingPolicyGeoLocation is a geolocation based routing policy (supported for AWS Route 53 and Google CloudDNS) RoutingPolicyGeoLocation = "geolocation" // RoutingPolicyIPBased is an IP based routing policy (supported for AWS Route 53) RoutingPolicyIPBased = "ip-based" // RoutingPolicyFailover is failover routing policy (supported for AWS Route 53) RoutingPolicyFailover = "failover" )
View Source
const OPT_SETUP = "setup"
View Source
const RS_NS = "NS"
Variables ¶
This section is empty.
Functions ¶
func AlignHostname ¶
func NormalizeHostname ¶
func SupportedRecordType ¶
func ValidateDomainName ¶ added in v0.11.0
Types ¶
type DNSNameSet ¶ added in v0.13.0
type DNSNameSet map[DNSSetName]struct{}
func NewDNSNameSet ¶ added in v0.13.0
func NewDNSNameSet(names ...DNSSetName) DNSNameSet
func NewDNSNameSetFromStringSet ¶ added in v0.13.0
func NewDNSNameSetFromStringSet(dnsNames utils.StringSet, setIdentifier string) DNSNameSet
func (DNSNameSet) Add ¶ added in v0.13.0
func (s DNSNameSet) Add(name DNSSetName)
func (DNSNameSet) AddAll ¶ added in v0.13.0
func (s DNSNameSet) AddAll(names ...DNSSetName)
func (DNSNameSet) Contains ¶ added in v0.13.0
func (s DNSNameSet) Contains(name DNSSetName) bool
func (DNSNameSet) IsEmpty ¶ added in v0.13.0
func (s DNSNameSet) IsEmpty() bool
func (DNSNameSet) Remove ¶ added in v0.13.0
func (s DNSNameSet) Remove(name DNSSetName)
type DNSSet ¶
type DNSSet struct {
Name DNSSetName
UpdateGroup string
Sets RecordSets
RoutingPolicy *RoutingPolicy
}
func NewDNSSet ¶
func NewDNSSet(name DNSSetName, routingPolicy *RoutingPolicy) *DNSSet
func (*DNSSet) DeleteTxtAttr ¶ added in v0.11.0
func (*DNSSet) GetTxtAttr ¶ added in v0.11.0
func (*DNSSet) MatchRecordTypeSubset ¶ added in v0.22.2
MatchRecordTypeSubset matches DNSSet equality for given record type subset.
func (*DNSSet) SetRecordSet ¶
func (*DNSSet) SetTxtAttr ¶ added in v0.11.0
type DNSSetName ¶ added in v0.13.0
type DNSSetName struct {
// domain name of the record
DNSName string
// optional set identifier (used for record with routing policy)
SetIdentifier string
}
func (DNSSetName) Align ¶ added in v0.13.0
func (n DNSSetName) Align() DNSSetName
func (DNSSetName) Normalize ¶ added in v0.13.0
func (n DNSSetName) Normalize() DNSSetName
func (DNSSetName) String ¶ added in v0.13.0
func (n DNSSetName) String() string
func (DNSSetName) WithDNSName ¶ added in v0.13.0
func (n DNSSetName) WithDNSName(dnsName string) DNSSetName
type DNSSets ¶
type DNSSets map[DNSSetName]*DNSSet
func (DNSSets) AddRecordSet ¶
func (dnssets DNSSets) AddRecordSet(name DNSSetName, policy *RoutingPolicy, recordSet *RecordSet)
func (DNSSets) AddRecordSetFromProvider ¶
func (DNSSets) AddRecordSetFromProviderEx ¶ added in v0.13.0
func (dnssets DNSSets) AddRecordSetFromProviderEx(setName DNSSetName, policy *RoutingPolicy, recordSet *RecordSet)
func (DNSSets) RemoveRecordSet ¶
func (dnssets DNSSets) RemoveRecordSet(name DNSSetName, recordSetType string)
type RecordSet ¶
func (*RecordSet) DeleteAttr ¶ added in v0.11.0
func (*RecordSet) RecordString ¶
type RecordSets ¶
func (RecordSets) AddRecord ¶ added in v0.22.2
func (rss RecordSets) AddRecord(ty string, host string, ttl int64)
func (RecordSets) Clone ¶ added in v0.7.14
func (rss RecordSets) Clone() RecordSets
type RoutingPolicy ¶ added in v0.13.0
func NewRoutingPolicy ¶ added in v0.13.0
func NewRoutingPolicy(typ string, keyvalues ...string) *RoutingPolicy
func (*RoutingPolicy) CheckParameterKeys ¶ added in v0.13.0
func (p *RoutingPolicy) CheckParameterKeys(keys, optionalKeys []string) error
func (*RoutingPolicy) Clone ¶ added in v0.13.0
func (p *RoutingPolicy) Clone() *RoutingPolicy
Source Files
¶
Click to show internal directories.
Click to hide internal directories.