v1alpha1

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=kuadrant.io

Index

Constants

View Source
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"
)
View Source
const (
	ProviderSpecificWeight  = "weight"
	ProviderSpecificGeoCode = "geo-code"
)

Variables

View Source
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

type AdditionalHeader struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

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

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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSHealthCheckProbeStatus.

func (*DNSHealthCheckProbeStatus) DeepCopyInto

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

func (in *DNSRecord) DeepCopy() *DNSRecord

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecord.

func (*DNSRecord) DeepCopyInto

func (in *DNSRecord) DeepCopyInto(out *DNSRecord)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DNSRecord) DeepCopyObject

func (in *DNSRecord) DeepCopyObject() runtime.Object

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

func (in *Endpoint) DeepCopy() *Endpoint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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) SetID

func (e *Endpoint) SetID() string

SetID returns an id that should be unique across a set of endpoints

func (*Endpoint) SetProviderSpecific

func (e *Endpoint) SetProviderSpecific(name, value string)

SetProviderSpecific sets a provider specific key/value pair.

func (*Endpoint) String

func (e *Endpoint) String() string

func (*Endpoint) WithSetIdentifier

func (e *Endpoint) WithSetIdentifier(setIdentifier string) *Endpoint

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

type Labels map[string]string

Labels store metadata related to the endpoint it is then stored in a persistent storage via serialization

func (Labels) DeepCopy

func (in Labels) DeepCopy() Labels

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Labels.

func (Labels) DeepCopyInto

func (in Labels) DeepCopyInto(out *Labels)

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

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

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 TTL

type TTL int64

TTL is a structure defining the TTL of a DNS record

type Targets

type Targets []string

Targets is a representation of a list of targets for an endpoint.

func (Targets) DeepCopy

func (in Targets) DeepCopy() Targets

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Targets.

func (Targets) DeepCopyInto

func (in Targets) DeepCopyInto(out *Targets)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL