Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=kuadrant.io
Index ¶
- Constants
- Variables
- type AdditionalHeader
- type AdditionalHeaders
- type AdditionalHeadersRef
- type DNSHealthCheckProbe
- type DNSHealthCheckProbeList
- type DNSHealthCheckProbeSpec
- type DNSHealthCheckProbeStatus
- type DNSRecord
- type DNSRecordList
- type DNSRecordSpec
- type DNSRecordStatus
- type DNSRecordType
- type Endpoint
- func (in *Endpoint) DeepCopy() *Endpoint
- func (in *Endpoint) DeepCopyInto(out *Endpoint)
- func (e *Endpoint) GetProviderSpecificProperty(key string) (ProviderSpecificProperty, bool)
- func (e *Endpoint) SetID() string
- func (e *Endpoint) SetProviderSpecific(name, value string)
- func (e *Endpoint) String() string
- func (e *Endpoint) WithSetIdentifier(setIdentifier string) *Endpoint
- type HealthProtocol
- type Labels
- type ManagedHost
- type ManagedZone
- type ManagedZoneList
- type ManagedZoneReference
- type ManagedZoneSpec
- type ManagedZoneStatus
- type ProviderAccessor
- type ProviderRef
- type ProviderSpecific
- type ProviderSpecificProperty
- type TTL
- type Targets
Constants ¶
const ( // CNAMERecordType is an RFC 1035 CNAME record. CNAMERecordType DNSRecordType = "CNAME" // ARecordType is an RFC 1035 A record. ARecordType DNSRecordType = "A" // NSRecordType is a name server record. NSRecordType DNSRecordType = "NS" DefaultGeo string = "default" )
const ( ProviderSpecificWeight = "weight" ProviderSpecificGeoCode = "geo-code" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kuadrant.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AdditionalHeader ¶
func (*AdditionalHeader) DeepCopy ¶
func (in *AdditionalHeader) DeepCopy() *AdditionalHeader
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalHeader.
func (*AdditionalHeader) DeepCopyInto ¶
func (in *AdditionalHeader) DeepCopyInto(out *AdditionalHeader)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdditionalHeaders ¶
type AdditionalHeaders []AdditionalHeader
func (AdditionalHeaders) DeepCopy ¶
func (in AdditionalHeaders) DeepCopy() AdditionalHeaders
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalHeaders.
func (AdditionalHeaders) DeepCopyInto ¶
func (in AdditionalHeaders) DeepCopyInto(out *AdditionalHeaders)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdditionalHeadersRef ¶
type AdditionalHeadersRef struct {
Name string `json:"name"`
}
func (*AdditionalHeadersRef) DeepCopy ¶
func (in *AdditionalHeadersRef) DeepCopy() *AdditionalHeadersRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalHeadersRef.
func (*AdditionalHeadersRef) DeepCopyInto ¶
func (in *AdditionalHeadersRef) DeepCopyInto(out *AdditionalHeadersRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSHealthCheckProbe ¶
type DNSHealthCheckProbe struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DNSHealthCheckProbeSpec `json:"spec,omitempty"` Status DNSHealthCheckProbeStatus `json:"status,omitempty"` }
DNSHealthCheckProbe is the Schema for the dnshealthcheckprobes API
func (*DNSHealthCheckProbe) DeepCopy ¶
func (in *DNSHealthCheckProbe) DeepCopy() *DNSHealthCheckProbe
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSHealthCheckProbe.
func (*DNSHealthCheckProbe) DeepCopyInto ¶
func (in *DNSHealthCheckProbe) DeepCopyInto(out *DNSHealthCheckProbe)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSHealthCheckProbe) DeepCopyObject ¶
func (in *DNSHealthCheckProbe) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DNSHealthCheckProbe) Default ¶
func (p *DNSHealthCheckProbe) Default()
type DNSHealthCheckProbeList ¶
type DNSHealthCheckProbeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DNSHealthCheckProbe `json:"items"` }
DNSHealthCheckProbeList contains a list of DNSHealthCheckProbe
func (*DNSHealthCheckProbeList) DeepCopy ¶
func (in *DNSHealthCheckProbeList) DeepCopy() *DNSHealthCheckProbeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSHealthCheckProbeList.
func (*DNSHealthCheckProbeList) DeepCopyInto ¶
func (in *DNSHealthCheckProbeList) DeepCopyInto(out *DNSHealthCheckProbeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSHealthCheckProbeList) DeepCopyObject ¶
func (in *DNSHealthCheckProbeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSHealthCheckProbeSpec ¶
type DNSHealthCheckProbeSpec struct { Port int `json:"port,omitempty"` Host string `json:"host,omitempty"` Address string `json:"address,omitempty"` Path string `json:"path,omitempty"` Protocol HealthProtocol `json:"protocol,omitempty"` Interval metav1.Duration `json:"interval,omitempty"` AdditionalHeadersRef *AdditionalHeadersRef `json:"additionalHeadersRef,omitempty"` FailureThreshold *int `json:"failureThreshold,omitempty"` ExpectedResponses []int `json:"expectedResponses,omitempty"` AllowInsecureCertificate bool `json:"allowInsecureCertificate,omitempty"` }
DNSHealthCheckProbeSpec defines the desired state of DNSHealthCheckProbe
func (*DNSHealthCheckProbeSpec) DeepCopy ¶
func (in *DNSHealthCheckProbeSpec) DeepCopy() *DNSHealthCheckProbeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSHealthCheckProbeSpec.
func (*DNSHealthCheckProbeSpec) DeepCopyInto ¶
func (in *DNSHealthCheckProbeSpec) DeepCopyInto(out *DNSHealthCheckProbeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSHealthCheckProbeStatus ¶
type DNSHealthCheckProbeStatus struct { LastCheckedAt metav1.Time `json:"lastCheckedAt"` ConsecutiveFailures int `json:"consecutiveFailures,omitempty"` Reason string `json:"reason,omitempty"` Status int `json:"status,omitempty"` Healthy *bool `json:"healthy"` }
DNSHealthCheckProbeStatus defines the observed state of DNSHealthCheckProbe
func (*DNSHealthCheckProbeStatus) DeepCopy ¶
func (in *DNSHealthCheckProbeStatus) DeepCopy() *DNSHealthCheckProbeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSHealthCheckProbeStatus.
func (*DNSHealthCheckProbeStatus) DeepCopyInto ¶
func (in *DNSHealthCheckProbeStatus) DeepCopyInto(out *DNSHealthCheckProbeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecord ¶
type DNSRecord struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DNSRecordSpec `json:"spec,omitempty"` Status DNSRecordStatus `json:"status,omitempty"` }
DNSRecord is the Schema for the dnsrecords API
func (*DNSRecord) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecord.
func (*DNSRecord) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSRecord) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSRecordList ¶
type DNSRecordList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DNSRecord `json:"items"` }
DNSRecordList contains a list of DNSRecord
func (*DNSRecordList) DeepCopy ¶
func (in *DNSRecordList) DeepCopy() *DNSRecordList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordList.
func (*DNSRecordList) DeepCopyInto ¶
func (in *DNSRecordList) DeepCopyInto(out *DNSRecordList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSRecordList) DeepCopyObject ¶
func (in *DNSRecordList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSRecordSpec ¶
type DNSRecordSpec struct { // +kubebuilder:validation:Required // +required ManagedZoneRef *ManagedZoneReference `json:"managedZone,omitempty"` // +kubebuilder:validation:MinItems=1 // +optional Endpoints []*Endpoint `json:"endpoints,omitempty"` }
DNSRecordSpec defines the desired state of DNSRecord
func (*DNSRecordSpec) DeepCopy ¶
func (in *DNSRecordSpec) DeepCopy() *DNSRecordSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordSpec.
func (*DNSRecordSpec) DeepCopyInto ¶
func (in *DNSRecordSpec) DeepCopyInto(out *DNSRecordSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecordStatus ¶
type DNSRecordStatus struct { // conditions are any conditions associated with the record in the managed zone. // // If publishing the record fails, the "Failed" condition will be set with a // reason and message describing the cause of the failure. Conditions []metav1.Condition `json:"conditions,omitempty"` // observedGeneration is the most recently observed generation of the // DNSRecord. When the DNSRecord is updated, the controller updates the // corresponding record in each managed zone. If an update for a // particular zone fails, that failure is recorded in the status // condition for the zone so that the controller can determine that it // needs to retry the update for that specific zone. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // endpoints are the last endpoints that were successfully published by the provider // // Provides a simple mechanism to store the current provider records in order to // delete any that are no longer present in DNSRecordSpec.Endpoints // // Note: This will not be required if/when we switch to using external-dns since when // running with a "sync" policy it will clean up unused records automatically. Endpoints []*Endpoint `json:"endpoints,omitempty"` }
DNSRecordStatus defines the observed state of DNSRecord
func (*DNSRecordStatus) DeepCopy ¶
func (in *DNSRecordStatus) DeepCopy() *DNSRecordStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordStatus.
func (*DNSRecordStatus) DeepCopyInto ¶
func (in *DNSRecordStatus) DeepCopyInto(out *DNSRecordStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecordType ¶
type DNSRecordType string
DNSRecordType is a DNS resource record type. +kubebuilder:validation:Enum=CNAME;A
type Endpoint ¶
type Endpoint struct { // The hostname of the DNS record DNSName string `json:"dnsName,omitempty"` // The targets the DNS record points to Targets Targets `json:"targets,omitempty"` // RecordType type of record, e.g. CNAME, A, SRV, TXT etc RecordType string `json:"recordType,omitempty"` // Identifier to distinguish multiple records with the same name and type (e.g. Route53 records with routing policies other than 'simple') SetIdentifier string `json:"setIdentifier,omitempty"` // TTL for the record RecordTTL TTL `json:"recordTTL,omitempty"` // Labels stores labels defined for the Endpoint // +optional Labels Labels `json:"labels,omitempty"` // ProviderSpecific stores provider specific config // +optional ProviderSpecific ProviderSpecific `json:"providerSpecific,omitempty"` }
Endpoint is a high-level way of a connection between a service and an IP
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Endpoint) GetProviderSpecificProperty ¶
func (e *Endpoint) GetProviderSpecificProperty(key string) (ProviderSpecificProperty, bool)
GetProviderSpecificProperty returns a ProviderSpecificProperty if the property exists.
func (*Endpoint) SetProviderSpecific ¶
SetProviderSpecific sets a provider specific key/value pair.
func (*Endpoint) WithSetIdentifier ¶
WithSetIdentifier applies the given set identifier to the endpoint.
type HealthProtocol ¶
type HealthProtocol string
HealthProtocol represents the protocol to use when making a health check request
const ( HttpProtocol HealthProtocol = "HTTP" HttpsProtocol HealthProtocol = "HTTPS" )
func NewHealthProtocol ¶
func NewHealthProtocol(p string) HealthProtocol
func (HealthProtocol) IsHttp ¶
func (p HealthProtocol) IsHttp() bool
func (HealthProtocol) IsHttps ¶
func (p HealthProtocol) IsHttps() bool
func (HealthProtocol) ToScheme ¶
func (p HealthProtocol) ToScheme() string
type Labels ¶
Labels store metadata related to the endpoint it is then stored in a persistent storage via serialization
func (Labels) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Labels.
func (Labels) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedHost ¶
type ManagedHost struct { Subdomain string Host string ManagedZone *ManagedZone DnsRecord *DNSRecord }
func (*ManagedHost) DeepCopy ¶
func (in *ManagedHost) DeepCopy() *ManagedHost
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedHost.
func (*ManagedHost) DeepCopyInto ¶
func (in *ManagedHost) DeepCopyInto(out *ManagedHost)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedZone ¶
type ManagedZone struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ManagedZoneSpec `json:"spec,omitempty"` Status ManagedZoneStatus `json:"status,omitempty"` }
ManagedZone is the Schema for the managedzones API
func (*ManagedZone) DeepCopy ¶
func (in *ManagedZone) DeepCopy() *ManagedZone
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedZone.
func (*ManagedZone) DeepCopyInto ¶
func (in *ManagedZone) DeepCopyInto(out *ManagedZone)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagedZone) DeepCopyObject ¶
func (in *ManagedZone) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ManagedZone) GetProviderRef ¶
func (mz *ManagedZone) GetProviderRef() ProviderRef
type ManagedZoneList ¶
type ManagedZoneList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ManagedZone `json:"items"` }
ManagedZoneList contains a list of ManagedZone
func (*ManagedZoneList) DeepCopy ¶
func (in *ManagedZoneList) DeepCopy() *ManagedZoneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedZoneList.
func (*ManagedZoneList) DeepCopyInto ¶
func (in *ManagedZoneList) DeepCopyInto(out *ManagedZoneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagedZoneList) DeepCopyObject ¶
func (in *ManagedZoneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManagedZoneReference ¶
type ManagedZoneReference struct { // `name` is the name of the managed zone. // Required Name string `json:"name"` }
ManagedZoneReference holds a reference to a ManagedZone
func (*ManagedZoneReference) DeepCopy ¶
func (in *ManagedZoneReference) DeepCopy() *ManagedZoneReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedZoneReference.
func (*ManagedZoneReference) DeepCopyInto ¶
func (in *ManagedZoneReference) DeepCopyInto(out *ManagedZoneReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedZoneSpec ¶
type ManagedZoneSpec struct { // ID is the provider assigned id of this zone (i.e. route53.HostedZone.ID). // +optional ID string `json:"id,omitempty"` //Domain name of this ManagedZone // +kubebuilder:validation:Pattern=`^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$` DomainName string `json:"domainName"` //Description for this ManagedZone Description string `json:"description"` // Reference to another managed zone that this managed zone belongs to. // +optional ParentManagedZone *ManagedZoneReference `json:"parentManagedZone,omitempty"` // +required SecretRef ProviderRef `json:"dnsProviderSecretRef"` }
ManagedZoneSpec defines the desired state of ManagedZone
func (*ManagedZoneSpec) DeepCopy ¶
func (in *ManagedZoneSpec) DeepCopy() *ManagedZoneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedZoneSpec.
func (*ManagedZoneSpec) DeepCopyInto ¶
func (in *ManagedZoneSpec) DeepCopyInto(out *ManagedZoneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedZoneStatus ¶
type ManagedZoneStatus struct { // List of status conditions to indicate the status of a ManagedZone. // Known condition types are `Ready`. // +listType=map // +listMapKey=type // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` // observedGeneration is the most recently observed generation of the // ManagedZone. ObservedGeneration int64 `json:"observedGeneration,omitempty"` // The ID assigned by this provider for this zone (i.e. route53.HostedZone.ID) ID string `json:"id,omitempty"` // The number of records in the provider zone RecordCount int64 `json:"recordCount,omitempty"` // The NameServers assigned by the provider for this zone (i.e. route53.DelegationSet.NameServers) NameServers []*string `json:"nameServers,omitempty"` }
ManagedZoneStatus defines the observed state of a Zone
func (*ManagedZoneStatus) DeepCopy ¶
func (in *ManagedZoneStatus) DeepCopy() *ManagedZoneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedZoneStatus.
func (*ManagedZoneStatus) DeepCopyInto ¶
func (in *ManagedZoneStatus) DeepCopyInto(out *ManagedZoneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderAccessor ¶
type ProviderAccessor interface { GetNamespace() string GetProviderRef() ProviderRef }
+kubebuilder:object:generate=false
type ProviderRef ¶
type ProviderRef struct { //+required Name string `json:"name"` }
func (*ProviderRef) DeepCopy ¶
func (in *ProviderRef) DeepCopy() *ProviderRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderRef.
func (*ProviderRef) DeepCopyInto ¶
func (in *ProviderRef) DeepCopyInto(out *ProviderRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderSpecific ¶
type ProviderSpecific []ProviderSpecificProperty
ProviderSpecific holds configuration which is specific to individual DNS providers
func (ProviderSpecific) DeepCopy ¶
func (in ProviderSpecific) DeepCopy() ProviderSpecific
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderSpecific.
func (ProviderSpecific) DeepCopyInto ¶
func (in ProviderSpecific) DeepCopyInto(out *ProviderSpecific)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderSpecificProperty ¶
type ProviderSpecificProperty struct { Name string `json:"name,omitempty"` Value string `json:"value,omitempty"` }
ProviderSpecificProperty holds the name and value of a configuration which is specific to individual DNS providers
func (*ProviderSpecificProperty) DeepCopy ¶
func (in *ProviderSpecificProperty) DeepCopy() *ProviderSpecificProperty
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderSpecificProperty.
func (*ProviderSpecificProperty) DeepCopyInto ¶
func (in *ProviderSpecificProperty) DeepCopyInto(out *ProviderSpecificProperty)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Targets ¶
type Targets []string
Targets is a representation of a list of targets for an endpoint.
func (Targets) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Targets.
func (Targets) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.