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.