Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=kuadrant.io
Index ¶
- Constants
- Variables
- type ConditionReason
- type ConditionType
- type DNSRecord
- type DNSRecordList
- type DNSRecordSpec
- type DNSRecordStatus
- type DNSRecordType
- type HealthCheckSpec
- type HealthCheckStatus
- type HealthCheckStatusProbe
- type HealthProtocol
- type ManagedHost
- type ManagedZone
- type ManagedZoneList
- type ManagedZoneReference
- type ManagedZoneSpec
- type ManagedZoneStatus
- type ProviderAccessor
- type ProviderRef
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" )
const WildcardPrefix = "*."
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 ConditionReason ¶ added in v0.2.0
type ConditionReason string
type ConditionType ¶ added in v0.2.0
type ConditionType string
const ConditionTypeReady ConditionType = "Ready"
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.
func (*DNSRecord) GetRegistry ¶ added in v0.2.0
func (s *DNSRecord) GetRegistry(provider externaldnsprovider.Provider, managedDNSRecordTypes, excludeDNSRecordTypes []string) (externaldnsregistry.Registry, error)
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 { // ownerID is a unique string used to identify the owner of this record. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="OwnerID is immutable" // +optional OwnerID *string `json:"ownerID,omitempty"` // rootHost is the single root for all endpoints in a DNSRecord. // If rootHost is set, it is expected all defined endpoints are children of or equal to this rootHost // +optional RootHost *string `json:"rootHost,omitempty"` // managedZone is a reference to a ManagedZone instance to which this record will publish its endpoints. ManagedZoneRef *ManagedZoneReference `json:"managedZone"` // endpoints is a list of endpoints that will be published into the dns provider. // +kubebuilder:validation:MinItems=1 // +optional Endpoints []*externaldns.Endpoint `json:"endpoints,omitempty"` // +optional HealthCheck *HealthCheckSpec `json:"healthCheck,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"` // QueuedAt is a time when DNS record was received for the reconciliation QueuedAt metav1.Time `json:"queuedAt,omitempty"` // QueuedFor is a time when we expect a DNS record to be reconciled again QueuedFor metav1.Time `json:"queuedFor,omitempty"` // ValidFor indicates duration since the last reconciliation we consider data in the record to be valid ValidFor string `json:"validFor,omitempty"` // WriteCounter represent a number of consecutive write attempts on the same generation of the record. // It is being reset to 0 when the generation changes or there are no changes to write. WriteCounter int64 `json:"writeCounter,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 []*externaldns.Endpoint `json:"endpoints,omitempty"` HealthCheck *HealthCheckStatus `json:"healthCheck,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 HealthCheckSpec ¶ added in v0.2.0
type HealthCheckSpec struct { Endpoint string `json:"endpoint,omitempty"` Port *int `json:"port,omitempty"` Protocol *HealthProtocol `json:"protocol,omitempty"` FailureThreshold *int `json:"failureThreshold,omitempty"` }
HealthCheckSpec configures health checks in the DNS provider. By default this health check will be applied to each unique DNS A Record for the listeners assigned to the target gateway
func (*HealthCheckSpec) DeepCopy ¶ added in v0.2.0
func (in *HealthCheckSpec) DeepCopy() *HealthCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckSpec.
func (*HealthCheckSpec) DeepCopyInto ¶ added in v0.2.0
func (in *HealthCheckSpec) DeepCopyInto(out *HealthCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckStatus ¶ added in v0.2.0
type HealthCheckStatus struct { Conditions []metav1.Condition `json:"conditions,omitempty"` Probes []HealthCheckStatusProbe `json:"probes,omitempty"` }
func (*HealthCheckStatus) DeepCopy ¶ added in v0.2.0
func (in *HealthCheckStatus) DeepCopy() *HealthCheckStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckStatus.
func (*HealthCheckStatus) DeepCopyInto ¶ added in v0.2.0
func (in *HealthCheckStatus) DeepCopyInto(out *HealthCheckStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckStatusProbe ¶ added in v0.2.0
type HealthCheckStatusProbe struct { ID string `json:"id"` IPAddress string `json:"ipAddress"` Host string `json:"host"` Synced bool `json:"synced,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty"` }
func (*HealthCheckStatusProbe) DeepCopy ¶ added in v0.2.0
func (in *HealthCheckStatusProbe) DeepCopy() *HealthCheckStatusProbe
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckStatusProbe.
func (*HealthCheckStatusProbe) DeepCopyInto ¶ added in v0.2.0
func (in *HealthCheckStatusProbe) DeepCopyInto(out *HealthCheckStatusProbe)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthProtocol ¶
type HealthProtocol string
const HttpProtocol HealthProtocol = "HTTP"
const HttpsProtocol HealthProtocol = "HTTPS"
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"` //domainName 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"` // parentManagedZone reference to another managed zone that this managed zone belongs to. // +optional ParentManagedZone *ManagedZoneReference `json:"parentManagedZone,omitempty"` // dnsProviderSecretRef reference to a secret containing credentials to access a dns provider. 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. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // The ID assigned by this provider for this zone (i.e. route53.HostedZone.ID) // +optional ID string `json:"id,omitempty"` // The number of records in the provider zone // +optional RecordCount int64 `json:"recordCount,omitempty"` // The NameServers assigned by the provider for this zone (i.e. route53.DelegationSet.NameServers) // +optional 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 {
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.