v1

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2025 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the source v1 API group +kubebuilder:object:generate=true +groupName=cloudflare-operator.io

Package v1 contains API Schema definitions for the cloudflare-operator.io v1 API group +kubebuilder:object:generate=true +groupName=cloudflare-operator.io

Index

Constants

View Source
const (
	// ConditionTypeReady represents the fact that the object is ready.
	ConditionTypeReady string = "Ready"

	// ConditionReasonReady represents the fact that the object is ready.
	ConditionReasonReady string = "Ready"

	// ConditionReasonNotReady represents the fact that the object is not ready.
	ConditionReasonNotReady string = "NotReady"

	// ConditionReasonFailed represents the fact that the object has failed.
	ConditionReasonFailed string = "Failed"
)
View Source
const (
	IPRefIndexKey       string = ".spec.ipRef.name"
	OwnerRefUIDIndexKey string = ".metadata.ownerReferences.uid"
)
View Source
const CloudflareOperatorFinalizer = "cloudflare-operator.io/finalizer"
View Source
const (
	ZoneNameIndexKey string = ".spec.name"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "cloudflare-operator.io", Version: "v1"}

	// 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 Account

type Account struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AccountSpec   `json:"spec,omitempty"`
	Status AccountStatus `json:"status,omitempty"`
}

Account is the Schema for the accounts API +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type == "Ready")].status`

func (*Account) DeepCopy

func (in *Account) DeepCopy() *Account

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

func (*Account) DeepCopyInto

func (in *Account) DeepCopyInto(out *Account)

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

func (*Account) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Account) GetConditions added in v1.4.1

func (in *Account) GetConditions() []metav1.Condition

GetConditions returns the status conditions of the object.

func (*Account) SetConditions added in v1.4.1

func (in *Account) SetConditions(conditions []metav1.Condition)

SetConditions sets the status conditions on the object.

type AccountList

type AccountList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Account `json:"items"`
}

AccountList contains a list of Account

func (*AccountList) DeepCopy

func (in *AccountList) DeepCopy() *AccountList

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

func (*AccountList) DeepCopyInto

func (in *AccountList) DeepCopyInto(out *AccountList)

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

func (*AccountList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccountSpec

type AccountSpec struct {
	// Cloudflare API token
	ApiToken AccountSpecApiToken `json:"apiToken"`
	// Interval to check account status
	// +kubebuilder:default="5m"
	// +optional
	Interval metav1.Duration `json:"interval,omitempty"`
	// List of zone names that should be managed by cloudflare-operator
	// Deprecated and will be removed in a future release
	// +optional
	// +deprecated
	ManagedZones []string `json:"managedZones,omitempty"`
}

AccountSpec defines the desired state of Account

func (*AccountSpec) DeepCopy

func (in *AccountSpec) DeepCopy() *AccountSpec

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

func (*AccountSpec) DeepCopyInto

func (in *AccountSpec) DeepCopyInto(out *AccountSpec)

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

type AccountSpecApiToken

type AccountSpecApiToken struct {
	// Secret containing the API token (key must be named "apiToken")
	SecretRef corev1.SecretReference `json:"secretRef"`
}

func (*AccountSpecApiToken) DeepCopy

func (in *AccountSpecApiToken) DeepCopy() *AccountSpecApiToken

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

func (*AccountSpecApiToken) DeepCopyInto

func (in *AccountSpecApiToken) DeepCopyInto(out *AccountSpecApiToken)

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

type AccountStatus

type AccountStatus struct {
	// Conditions contains the different condition statuses for the Account object.
	// +optional
	Conditions []metav1.Condition `json:"conditions"`
}

AccountStatus defines the observed state of Account

func (*AccountStatus) DeepCopy

func (in *AccountStatus) DeepCopy() *AccountStatus

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

func (*AccountStatus) DeepCopyInto

func (in *AccountStatus) DeepCopyInto(out *AccountStatus)

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 +kubebuilder:printcolumn:name="Record Name",type="string",JSONPath=".spec.name" +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type" +kubebuilder:printcolumn:name="Content",type="string",JSONPath=".spec.content",priority=1 +kubebuilder:printcolumn:name="Proxied",type="boolean",JSONPath=".spec.proxied",priority=1 +kubebuilder:printcolumn:name="TTL",type="integer",JSONPath=".spec.ttl",priority=1 +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type == "Ready")].status`

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.

func (*DNSRecord) GetConditions added in v1.4.1

func (in *DNSRecord) GetConditions() []metav1.Condition

GetConditions returns the status conditions of the object.

func (*DNSRecord) SetConditions added in v1.4.1

func (in *DNSRecord) SetConditions(conditions []metav1.Condition)

SetConditions sets the status conditions on the 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 {
	// DNS record name (e.g. example.com)
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name"`
	// DNS record content (e.g. 127.0.0.1)
	// +optional
	Content string `json:"content,omitempty"`
	// Reference to an IP object
	// +optional
	IPRef DNSRecordSpecIPRef `json:"ipRef,omitempty"`
	// DNS record type
	// +kubebuilder:default=A
	// +optional
	Type string `json:"type,omitempty"`
	// Whether the record is receiving the performance and security benefits of Cloudflare
	// +kubebuilder:default=true
	// +optional
	Proxied *bool `json:"proxied,omitempty"`
	// Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for "automatic" (e.g. 3600)
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=86400
	// +kubebuilder:default=1
	// +optional
	TTL int `json:"ttl,omitempty"`
	// Data holds arbitrary key-value pairs used to further configure the DNS record
	// +optional
	Data *apiextensionsv1.JSON `json:"data,omitempty"`
	// Required for MX, SRV and URI records; unused by other record types. Records with lower priorities are preferred.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	// +optional
	Priority *uint16 `json:"priority,omitempty"`
	// Comments or notes about the DNS record. This field has no effect on DNS responses.
	// +kubebuilder:validation:MaxLength=100
	// +optional
	Comment string `json:"comment,omitempty"`
	// Interval to check DNSRecord
	// +kubebuilder:default="5m"
	// +optional
	Interval metav1.Duration `json:"interval,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 DNSRecordSpecIPRef

type DNSRecordSpecIPRef struct {
	// Name of the IP object
	// +optional
	Name string `json:"name,omitempty"`
}

func (*DNSRecordSpecIPRef) DeepCopy

func (in *DNSRecordSpecIPRef) DeepCopy() *DNSRecordSpecIPRef

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

func (*DNSRecordSpecIPRef) DeepCopyInto

func (in *DNSRecordSpecIPRef) DeepCopyInto(out *DNSRecordSpecIPRef)

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

type DNSRecordStatus

type DNSRecordStatus struct {
	// Conditions contains the different condition statuses for the DNSRecord object.
	// +optional
	Conditions []metav1.Condition `json:"conditions"`
	// Cloudflare DNS record ID
	// +optional
	RecordID string `json:"recordID,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 IP

type IP struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   IPSpec   `json:"spec,omitempty"`
	Status IPStatus `json:"status,omitempty"`
}

IP is the Schema for the ips API +kubebuilder:printcolumn:name="Address",type="string",JSONPath=".spec.address" +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type == "Ready")].status`

func (*IP) DeepCopy

func (in *IP) DeepCopy() *IP

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

func (*IP) DeepCopyInto

func (in *IP) DeepCopyInto(out *IP)

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

func (*IP) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*IP) GetConditions added in v1.4.1

func (in *IP) GetConditions() []metav1.Condition

GetConditions returns the status conditions of the object.

func (*IP) SetConditions added in v1.4.1

func (in *IP) SetConditions(conditions []metav1.Condition)

SetConditions sets the status conditions on the object.

type IPList

type IPList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []IP `json:"items"`
}

IPList contains a list of IP

func (*IPList) DeepCopy

func (in *IPList) DeepCopy() *IPList

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

func (*IPList) DeepCopyInto

func (in *IPList) DeepCopyInto(out *IPList)

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

func (*IPList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IPSpec

type IPSpec struct {
	// IP address (omit if type is dynamic)
	// +optional
	Address string `json:"address,omitempty"`
	// IP address type (static or dynamic)
	// +kubebuilder:validation:Enum=static;dynamic
	// +kubebuilder:default=static
	// +optional
	Type string `json:"type,omitempty"`
	// Interval at which a dynamic IP should be checked
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`
	// IPSources can be configured to get an IP from an external source (e.g. an API or public IP echo service)
	// +optional
	IPSources []IPSpecIPSources `json:"ipSources,omitempty"`
}

IPSpec defines the desired state of IP

func (*IPSpec) DeepCopy

func (in *IPSpec) DeepCopy() *IPSpec

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

func (*IPSpec) DeepCopyInto

func (in *IPSpec) DeepCopyInto(out *IPSpec)

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

type IPSpecIPSources

type IPSpecIPSources struct {
	// URL of the IP source (e.g. https://checkip.amazonaws.com)
	URL string `json:"url,omitempty"`
	// RequestBody to be sent to the URL
	// +optional
	RequestBody string `json:"requestBody,omitempty"`
	// RequestHeaders to be sent to the URL
	// +optional
	RequestHeaders *apiextensionsv1.JSON `json:"requestHeaders,omitempty"`
	// RequestHeadersSecretRef is a secret reference to the headers to be sent to the URL (e.g. for authentication)
	// where the key is the header name and the value is the header value
	// +optional
	RequestHeadersSecretRef corev1.SecretReference `json:"requestHeadersSecretRef,omitempty"`
	// RequestMethod defines the HTTP method to be used
	// +kubebuilder:validation:Enum=GET;POST;PUT;DELETE
	// +optional
	RequestMethod string `json:"requestMethod,omitempty"`
	// ResponseJQFilter applies a JQ filter to the response to extract the IP
	// +optional
	ResponseJQFilter string `json:"responseJQFilter,omitempty"`
	// PostProcessingRegex defines the regular expression to be used to extract the IP from the response or a JQ filter result
	// +optional
	PostProcessingRegex string `json:"postProcessingRegex,omitempty"`
	// InsecureSkipVerify defines whether to skip TLS certificate verification
	// +optional
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}

func (*IPSpecIPSources) DeepCopy

func (in *IPSpecIPSources) DeepCopy() *IPSpecIPSources

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

func (*IPSpecIPSources) DeepCopyInto

func (in *IPSpecIPSources) DeepCopyInto(out *IPSpecIPSources)

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

type IPStatus

type IPStatus struct {
	// Conditions contains the different condition statuses for the IP object.
	// +optional
	Conditions []metav1.Condition `json:"conditions"`
}

IPStatus defines the observed state of IP

func (*IPStatus) DeepCopy

func (in *IPStatus) DeepCopy() *IPStatus

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

func (*IPStatus) DeepCopyInto

func (in *IPStatus) DeepCopyInto(out *IPStatus)

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

type Zone

type Zone struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ZoneSpec   `json:"spec,omitempty"`
	Status ZoneStatus `json:"status,omitempty"`
}

Zone is the Schema for the zones API +kubebuilder:printcolumn:name="Zone Name",type="string",JSONPath=".spec.name" +kubebuilder:printcolumn:name="ID",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type == "Ready")].status`

func (*Zone) DeepCopy

func (in *Zone) DeepCopy() *Zone

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

func (*Zone) DeepCopyInto

func (in *Zone) DeepCopyInto(out *Zone)

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

func (*Zone) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Zone) GetConditions added in v1.4.1

func (in *Zone) GetConditions() []metav1.Condition

GetConditions returns the status conditions of the object.

func (*Zone) SetConditions added in v1.4.1

func (in *Zone) SetConditions(conditions []metav1.Condition)

SetConditions sets the status conditions on the object.

type ZoneList

type ZoneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Zone `json:"items"`
}

ZoneList contains a list of Zone

func (*ZoneList) DeepCopy

func (in *ZoneList) DeepCopy() *ZoneList

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

func (*ZoneList) DeepCopyInto

func (in *ZoneList) DeepCopyInto(out *ZoneList)

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

func (*ZoneList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ZoneSpec

type ZoneSpec struct {
	// Name of the zone
	Name string `json:"name"`
	// Prune determines whether DNS records in the zone that are not managed by cloudflare-operator should be automatically removed
	// +kubebuilder:default=false
	// +optional
	Prune bool `json:"prune"`
	// Interval to check zone status
	// +kubebuilder:default="5m"
	// +optional
	Interval metav1.Duration `json:"interval,omitempty"`
	// IgnoredRecords are DNS records that should be ignored by the operator when prune is enabled
	// It has no effect when prune is disabled
	// Each key represents a record type, and the value is a list of record names
	// Lines starting with a '^' are treated as regex, otherwise they are treated as prefixes
	// +kubebuilder:default={TXT:{"_acme-challenge","cf2024-1._domainkey"}}
	// +optional
	IgnoredRecords map[string][]string `json:"ignoredRecords,omitempty"`
}

ZoneSpec defines the desired state of Zone

func (*ZoneSpec) DeepCopy

func (in *ZoneSpec) DeepCopy() *ZoneSpec

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

func (*ZoneSpec) DeepCopyInto

func (in *ZoneSpec) DeepCopyInto(out *ZoneSpec)

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

type ZoneStatus

type ZoneStatus struct {
	// ID of the zone
	// +optional
	ID string `json:"id,omitempty"`
	// Conditions contains the different condition statuses for the Zone object.
	// +optional
	Conditions []metav1.Condition `json:"conditions"`
}

ZoneStatus defines the observed state of Zone

func (*ZoneStatus) DeepCopy

func (in *ZoneStatus) DeepCopy() *ZoneStatus

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

func (*ZoneStatus) DeepCopyInto

func (in *ZoneStatus) DeepCopyInto(out *ZoneStatus)

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