v1alpha1

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

api/v1alpha1/common_types.go

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

Index

Constants

View Source
const (
	ReasonReconciling       = "Reconciling"
	ReasonReconcileSuccess  = "ReconcileSuccess"
	ReasonReconcileError    = "ReconcileError"
	ReasonCloudflareError   = "CloudflareAPIError"
	ReasonSecretNotFound    = "SecretNotFound"
	ReasonInvalidSpec       = "InvalidSpec"
	ReasonDeletingResource  = "DeletingResource"
	ReasonIPResolutionError = "IPResolutionError"
	ReasonZonePending       = "ZonePending"
	ReasonZoneNotActive     = "ZoneNotActive"
	ReasonZoneRefNotReady   = "ZoneRefNotReady"
)

Condition reason constants.

View Source
const (
	DNSRecordTypeA     = "A"
	DNSRecordTypeAAAA  = "AAAA"
	DNSRecordTypeCNAME = "CNAME"
	DNSRecordTypeSRV   = "SRV"
	DNSRecordTypeMX    = "MX"
	DNSRecordTypeTXT   = "TXT"
	DNSRecordTypeNS    = "NS"
)

DNS record type constants (mirrors the kubebuilder enum on CloudflareDNSRecordSpec.Type).

View Source
const (
	ZoneStatusInitializing = "initializing"
	ZoneStatusPending      = "pending"
	ZoneStatusActive       = "active"
	ZoneStatusMoved        = "moved"
)

Zone status values returned by the Cloudflare API.

View Source
const (
	DeletionPolicyRetain = "Retain"
	DeletionPolicyDelete = "Delete"
)

DeletionPolicy values for CloudflareZone.Spec.DeletionPolicy.

View Source
const (
	ConditionTypeReady = "Ready"
)

Condition type constants used across all CRDs.

View Source
const FinalizerName = "cloudflare.io/finalizer"

FinalizerName is the finalizer used by all cloudflare-operator controllers.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "cloudflare.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 BotManagementSettings

type BotManagementSettings struct {
	// EnableJS enables JavaScript detections.
	// +optional
	EnableJS *bool `json:"enableJS,omitempty"`

	// FightMode enables bot fight mode.
	// +optional
	FightMode *bool `json:"fightMode,omitempty"`
}

BotManagementSettings defines bot management settings for a Cloudflare zone.

func (*BotManagementSettings) DeepCopy

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

func (*BotManagementSettings) DeepCopyInto

func (in *BotManagementSettings) DeepCopyInto(out *BotManagementSettings)

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

type CloudflareDNSRecord

type CloudflareDNSRecord struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// spec defines the desired state of CloudflareDNSRecord
	// +required
	Spec CloudflareDNSRecordSpec `json:"spec"`

	// status defines the observed state of CloudflareDNSRecord
	// +optional
	Status CloudflareDNSRecordStatus `json:"status,omitzero"`
}

CloudflareDNSRecord is the Schema for the cloudflarednsrecords API

func (*CloudflareDNSRecord) DeepCopy

func (in *CloudflareDNSRecord) DeepCopy() *CloudflareDNSRecord

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

func (*CloudflareDNSRecord) DeepCopyInto

func (in *CloudflareDNSRecord) DeepCopyInto(out *CloudflareDNSRecord)

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

func (*CloudflareDNSRecord) DeepCopyObject

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

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

func (*CloudflareDNSRecord) GetZoneID added in v0.4.0

func (r *CloudflareDNSRecord) GetZoneID() string

GetZoneID returns the inline Cloudflare zone ID (may be empty).

func (*CloudflareDNSRecord) GetZoneRef added in v0.4.0

func (r *CloudflareDNSRecord) GetZoneRef() *ZoneReference

GetZoneRef returns the optional reference to a CloudflareZone CR.

type CloudflareDNSRecordList

type CloudflareDNSRecordList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []CloudflareDNSRecord `json:"items"`
}

CloudflareDNSRecordList contains a list of CloudflareDNSRecord

func (*CloudflareDNSRecordList) DeepCopy

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

func (*CloudflareDNSRecordList) DeepCopyInto

func (in *CloudflareDNSRecordList) DeepCopyInto(out *CloudflareDNSRecordList)

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

func (*CloudflareDNSRecordList) DeepCopyObject

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

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

type CloudflareDNSRecordSpec

type CloudflareDNSRecordSpec struct {
	// ZoneID is the Cloudflare Zone ID.
	// Mutually exclusive with ZoneRef.
	// +optional
	// +kubebuilder:validation:MinLength=1
	ZoneID string `json:"zoneID,omitempty"`

	// ZoneRef references a CloudflareZone resource in the same namespace.
	// The controller resolves the zone ID from the referenced resource's status.
	// Mutually exclusive with ZoneID.
	// +optional
	ZoneRef *ZoneReference `json:"zoneRef,omitempty"`

	// Name is the DNS record name (e.g., "example.com", "sub.example.com").
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Type is the DNS record type.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=A;AAAA;CNAME;SRV;MX;TXT;NS
	Type string `json:"type"`

	// Content is the record content (IP address, hostname, etc.).
	// Mutually exclusive with DynamicIP.
	// +optional
	Content *string `json:"content,omitempty"`

	// DynamicIP enables automatic external IP resolution for this record.
	// Only valid for type A. Mutually exclusive with Content.
	// +optional
	DynamicIP bool `json:"dynamicIP,omitempty"`

	// TTL is the time-to-live in seconds. Use 1 for automatic.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	// +optional
	TTL int `json:"ttl,omitempty"`

	// Proxied indicates whether the record is proxied through Cloudflare.
	// +optional
	Proxied *bool `json:"proxied,omitempty"`

	// SRVData contains SRV-specific record data.
	// Required when Type is SRV.
	// +optional
	SRVData *SRVData `json:"srvData,omitempty"`

	// Priority is the record priority (used for MX and SRV records).
	// +optional
	Priority *int `json:"priority,omitempty"`

	// SecretRef references a Secret containing Cloudflare API credentials.
	// +kubebuilder:validation:Required
	SecretRef SecretReference `json:"secretRef"`

	// Interval is the reconciliation interval for drift detection.
	// +kubebuilder:default="5m"
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`
}

CloudflareDNSRecordSpec defines the desired state of a Cloudflare DNS record.

func (*CloudflareDNSRecordSpec) DeepCopy

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

func (*CloudflareDNSRecordSpec) DeepCopyInto

func (in *CloudflareDNSRecordSpec) DeepCopyInto(out *CloudflareDNSRecordSpec)

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

type CloudflareDNSRecordStatus

type CloudflareDNSRecordStatus struct {
	// Conditions represent the latest available observations of the resource's state.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// RecordID is the Cloudflare DNS record ID.
	// +optional
	RecordID string `json:"recordID,omitempty"`

	// CurrentContent is the current content/value of the DNS record in Cloudflare.
	// +optional
	CurrentContent string `json:"currentContent,omitempty"`

	// LastSyncedAt is the last time the record was successfully synced.
	// +optional
	LastSyncedAt *metav1.Time `json:"lastSyncedAt,omitempty"`

	// ObservedGeneration is the most recently observed generation of the CR.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

CloudflareDNSRecordStatus defines the observed state of a CloudflareDNSRecord.

func (*CloudflareDNSRecordStatus) DeepCopy

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

func (*CloudflareDNSRecordStatus) DeepCopyInto

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

type CloudflareRuleset

type CloudflareRuleset struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// spec defines the desired state of CloudflareRuleset
	// +required
	Spec CloudflareRulesetSpec `json:"spec"`

	// status defines the observed state of CloudflareRuleset
	// +optional
	Status CloudflareRulesetStatus `json:"status,omitzero"`
}

CloudflareRuleset is the Schema for the cloudflarerulesets API

func (*CloudflareRuleset) DeepCopy

func (in *CloudflareRuleset) DeepCopy() *CloudflareRuleset

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

func (*CloudflareRuleset) DeepCopyInto

func (in *CloudflareRuleset) DeepCopyInto(out *CloudflareRuleset)

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

func (*CloudflareRuleset) DeepCopyObject

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

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

func (*CloudflareRuleset) GetZoneID added in v0.4.0

func (r *CloudflareRuleset) GetZoneID() string

GetZoneID returns the inline Cloudflare zone ID (may be empty).

func (*CloudflareRuleset) GetZoneRef added in v0.4.0

func (r *CloudflareRuleset) GetZoneRef() *ZoneReference

GetZoneRef returns the optional reference to a CloudflareZone CR.

type CloudflareRulesetList

type CloudflareRulesetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []CloudflareRuleset `json:"items"`
}

CloudflareRulesetList contains a list of CloudflareRuleset

func (*CloudflareRulesetList) DeepCopy

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

func (*CloudflareRulesetList) DeepCopyInto

func (in *CloudflareRulesetList) DeepCopyInto(out *CloudflareRulesetList)

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

func (*CloudflareRulesetList) DeepCopyObject

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

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

type CloudflareRulesetSpec

type CloudflareRulesetSpec struct {
	// ZoneID is the Cloudflare Zone ID.
	// Mutually exclusive with ZoneRef.
	// +optional
	// +kubebuilder:validation:MinLength=1
	ZoneID string `json:"zoneID,omitempty"`

	// ZoneRef references a CloudflareZone resource in the same namespace.
	// The controller resolves the zone ID from the referenced resource's status.
	// Mutually exclusive with ZoneID.
	// +optional
	ZoneRef *ZoneReference `json:"zoneRef,omitempty"`

	// Name is the human-readable name for the ruleset.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Description is an informative description of the ruleset.
	// +optional
	Description string `json:"description,omitempty"`

	// Phase is the phase of the ruleset.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=http_request_firewall_custom;http_request_firewall_managed;http_request_late_transform;http_request_redirect;http_request_transform;http_response_headers_transform;http_response_firewall_managed;http_config_settings;http_custom_errors;http_ratelimit;http_request_cache_settings;http_request_origin;http_request_dynamic_redirect;http_response_compression
	Phase string `json:"phase"`

	// Rules is the list of rules in the ruleset.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Rules []RulesetRuleSpec `json:"rules"`

	// SecretRef references a Secret containing Cloudflare API credentials.
	// +kubebuilder:validation:Required
	SecretRef SecretReference `json:"secretRef"`

	// Interval is the reconciliation interval.
	// +kubebuilder:default="30m"
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`
}

CloudflareRulesetSpec defines the desired state of CloudflareRuleset.

func (*CloudflareRulesetSpec) DeepCopy

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

func (*CloudflareRulesetSpec) DeepCopyInto

func (in *CloudflareRulesetSpec) DeepCopyInto(out *CloudflareRulesetSpec)

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

type CloudflareRulesetStatus

type CloudflareRulesetStatus struct {
	// Conditions represent the latest available observations of the resource's state.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// RulesetID is the Cloudflare Ruleset ID.
	// +optional
	RulesetID string `json:"rulesetID,omitempty"`

	// RuleCount is the number of rules in the ruleset.
	// +optional
	RuleCount int `json:"ruleCount,omitempty"`

	// LastSyncedAt is the last time the ruleset was successfully synced.
	// +optional
	LastSyncedAt *metav1.Time `json:"lastSyncedAt,omitempty"`

	// ObservedGeneration is the most recently observed generation of the CR.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

CloudflareRulesetStatus defines the observed state of CloudflareRuleset.

func (*CloudflareRulesetStatus) DeepCopy

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

func (*CloudflareRulesetStatus) DeepCopyInto

func (in *CloudflareRulesetStatus) DeepCopyInto(out *CloudflareRulesetStatus)

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

type CloudflareTunnel

type CloudflareTunnel struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// spec defines the desired state of CloudflareTunnel
	// +required
	Spec CloudflareTunnelSpec `json:"spec"`

	// status defines the observed state of CloudflareTunnel
	// +optional
	Status CloudflareTunnelStatus `json:"status,omitzero"`
}

CloudflareTunnel is the Schema for the cloudflaretunnels API

func (*CloudflareTunnel) DeepCopy

func (in *CloudflareTunnel) DeepCopy() *CloudflareTunnel

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

func (*CloudflareTunnel) DeepCopyInto

func (in *CloudflareTunnel) DeepCopyInto(out *CloudflareTunnel)

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

func (*CloudflareTunnel) DeepCopyObject

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

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

type CloudflareTunnelList

type CloudflareTunnelList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []CloudflareTunnel `json:"items"`
}

CloudflareTunnelList contains a list of CloudflareTunnel

func (*CloudflareTunnelList) DeepCopy

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

func (*CloudflareTunnelList) DeepCopyInto

func (in *CloudflareTunnelList) DeepCopyInto(out *CloudflareTunnelList)

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

func (*CloudflareTunnelList) DeepCopyObject

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

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

type CloudflareTunnelSpec

type CloudflareTunnelSpec struct {
	// Name is the tunnel name in Cloudflare.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// SecretRef references a Secret containing Cloudflare API credentials.
	// +kubebuilder:validation:Required
	SecretRef SecretReference `json:"secretRef"`

	// GeneratedSecretName is the name of the Secret to create with tunnel credentials.
	// The Secret will contain a "credentials.json" key with the tunnel credentials.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	GeneratedSecretName string `json:"generatedSecretName"`

	// Interval is the reconciliation interval.
	// +kubebuilder:default="30m"
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`
}

CloudflareTunnelSpec defines the desired state of a Cloudflare Tunnel.

func (*CloudflareTunnelSpec) DeepCopy

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

func (*CloudflareTunnelSpec) DeepCopyInto

func (in *CloudflareTunnelSpec) DeepCopyInto(out *CloudflareTunnelSpec)

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

type CloudflareTunnelStatus

type CloudflareTunnelStatus struct {
	// Conditions represent the latest available observations.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// TunnelID is the Cloudflare Tunnel ID.
	// +optional
	TunnelID string `json:"tunnelID,omitempty"`

	// TunnelCNAME is the CNAME for the tunnel (tunnelID.cfargotunnel.com).
	// +optional
	TunnelCNAME string `json:"tunnelCNAME,omitempty"`

	// CredentialsSecretName is the name of the generated credentials Secret.
	// +optional
	CredentialsSecretName string `json:"credentialsSecretName,omitempty"`

	// LastSyncedAt is the last time the tunnel was successfully synced.
	// +optional
	LastSyncedAt *metav1.Time `json:"lastSyncedAt,omitempty"`

	// ObservedGeneration is the most recently observed generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

CloudflareTunnelStatus defines the observed state of a CloudflareTunnel.

func (*CloudflareTunnelStatus) DeepCopy

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

func (*CloudflareTunnelStatus) DeepCopyInto

func (in *CloudflareTunnelStatus) DeepCopyInto(out *CloudflareTunnelStatus)

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

type CloudflareZone

type CloudflareZone struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// spec defines the desired state of CloudflareZone
	// +required
	Spec CloudflareZoneSpec `json:"spec"`

	// status defines the observed state of CloudflareZone
	// +optional
	Status CloudflareZoneStatus `json:"status,omitzero"`
}

CloudflareZone is the Schema for the cloudflarezones API

func (*CloudflareZone) DeepCopy

func (in *CloudflareZone) DeepCopy() *CloudflareZone

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

func (*CloudflareZone) DeepCopyInto

func (in *CloudflareZone) DeepCopyInto(out *CloudflareZone)

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

func (*CloudflareZone) DeepCopyObject

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

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

type CloudflareZoneConfig

type CloudflareZoneConfig struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// spec defines the desired state of CloudflareZoneConfig
	// +required
	Spec CloudflareZoneConfigSpec `json:"spec"`

	// status defines the observed state of CloudflareZoneConfig
	// +optional
	Status CloudflareZoneConfigStatus `json:"status,omitzero"`
}

CloudflareZoneConfig is the Schema for the cloudflarezoneconfigs API

func (*CloudflareZoneConfig) DeepCopy

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

func (*CloudflareZoneConfig) DeepCopyInto

func (in *CloudflareZoneConfig) DeepCopyInto(out *CloudflareZoneConfig)

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

func (*CloudflareZoneConfig) DeepCopyObject

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

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

func (*CloudflareZoneConfig) GetZoneID added in v0.4.0

func (r *CloudflareZoneConfig) GetZoneID() string

GetZoneID returns the inline Cloudflare zone ID (may be empty).

func (*CloudflareZoneConfig) GetZoneRef added in v0.4.0

func (r *CloudflareZoneConfig) GetZoneRef() *ZoneReference

GetZoneRef returns the optional reference to a CloudflareZone CR.

type CloudflareZoneConfigList

type CloudflareZoneConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []CloudflareZoneConfig `json:"items"`
}

CloudflareZoneConfigList contains a list of CloudflareZoneConfig

func (*CloudflareZoneConfigList) DeepCopy

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

func (*CloudflareZoneConfigList) DeepCopyInto

func (in *CloudflareZoneConfigList) DeepCopyInto(out *CloudflareZoneConfigList)

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

func (*CloudflareZoneConfigList) DeepCopyObject

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

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

type CloudflareZoneConfigSpec

type CloudflareZoneConfigSpec struct {
	// ZoneID is the Cloudflare Zone ID.
	// Mutually exclusive with ZoneRef.
	// +optional
	// +kubebuilder:validation:MinLength=1
	ZoneID string `json:"zoneID,omitempty"`

	// ZoneRef references a CloudflareZone resource in the same namespace.
	// The controller resolves the zone ID from the referenced resource's status.
	// Mutually exclusive with ZoneID.
	// +optional
	ZoneRef *ZoneReference `json:"zoneRef,omitempty"`

	// SecretRef references a Secret containing Cloudflare API credentials.
	// +kubebuilder:validation:Required
	SecretRef SecretReference `json:"secretRef"`

	// Interval is the reconciliation interval.
	// +kubebuilder:default="30m"
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`

	// SSL defines SSL/TLS settings for the zone.
	// +optional
	SSL *SSLSettings `json:"ssl,omitempty"`

	// Security defines security settings for the zone.
	// +optional
	Security *SecuritySettings `json:"security,omitempty"`

	// Performance defines performance settings for the zone.
	// +optional
	Performance *PerformanceSettings `json:"performance,omitempty"`

	// Network defines network settings for the zone.
	// +optional
	Network *NetworkSettings `json:"network,omitempty"`

	// BotManagement defines bot management settings for the zone.
	// +optional
	BotManagement *BotManagementSettings `json:"botManagement,omitempty"`
}

CloudflareZoneConfigSpec defines the desired state of CloudflareZoneConfig.

func (*CloudflareZoneConfigSpec) DeepCopy

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

func (*CloudflareZoneConfigSpec) DeepCopyInto

func (in *CloudflareZoneConfigSpec) DeepCopyInto(out *CloudflareZoneConfigSpec)

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

type CloudflareZoneConfigStatus

type CloudflareZoneConfigStatus struct {
	// Conditions represent the latest available observations of the resource's state.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// AppliedSpecHash is a hash of the settings-relevant spec fields the last
	// time reconciliation successfully applied them. When the current hash
	// matches, the controller skips the per-setting API calls.
	// +optional
	AppliedSpecHash string `json:"appliedSpecHash,omitempty"`

	// LastSyncedAt is the last time the zone config was successfully synced.
	// +optional
	LastSyncedAt *metav1.Time `json:"lastSyncedAt,omitempty"`

	// ObservedGeneration is the most recently observed generation of the CR.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

CloudflareZoneConfigStatus defines the observed state of CloudflareZoneConfig.

func (*CloudflareZoneConfigStatus) DeepCopy

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

func (*CloudflareZoneConfigStatus) DeepCopyInto

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

type CloudflareZoneList

type CloudflareZoneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []CloudflareZone `json:"items"`
}

CloudflareZoneList contains a list of CloudflareZone

func (*CloudflareZoneList) DeepCopy

func (in *CloudflareZoneList) DeepCopy() *CloudflareZoneList

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

func (*CloudflareZoneList) DeepCopyInto

func (in *CloudflareZoneList) DeepCopyInto(out *CloudflareZoneList)

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

func (*CloudflareZoneList) DeepCopyObject

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

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

type CloudflareZoneSpec

type CloudflareZoneSpec struct {
	// Name is the domain name to onboard (e.g., "example.com").
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Type is the zone type. "full" means Cloudflare is the authoritative DNS.
	// "partial" is a CNAME setup. Immutable after creation.
	// +kubebuilder:validation:Enum=full;partial;secondary
	// +kubebuilder:default="full"
	// +optional
	Type string `json:"type,omitempty"`

	// Paused indicates whether the zone is paused (not serving traffic through Cloudflare).
	// +optional
	Paused *bool `json:"paused,omitempty"`

	// DeletionPolicy controls what happens when the CR is deleted.
	// "Retain" (default) leaves the zone in Cloudflare.
	// "Delete" removes the zone from Cloudflare.
	// +kubebuilder:validation:Enum=Retain;Delete
	// +kubebuilder:default="Retain"
	// +optional
	DeletionPolicy string `json:"deletionPolicy,omitempty"`

	// SecretRef references a Secret containing Cloudflare API credentials.
	// +kubebuilder:validation:Required
	SecretRef SecretReference `json:"secretRef"`

	// Interval is the reconciliation interval.
	// +kubebuilder:default="30m"
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`
}

CloudflareZoneSpec defines the desired state of a Cloudflare Zone.

func (*CloudflareZoneSpec) DeepCopy

func (in *CloudflareZoneSpec) DeepCopy() *CloudflareZoneSpec

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

func (*CloudflareZoneSpec) DeepCopyInto

func (in *CloudflareZoneSpec) DeepCopyInto(out *CloudflareZoneSpec)

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

type CloudflareZoneStatus

type CloudflareZoneStatus struct {
	// Conditions represent the latest available observations.
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ZoneID is the Cloudflare Zone ID.
	// +optional
	ZoneID string `json:"zoneID,omitempty"`

	// Status is the zone status in Cloudflare (initializing, pending, active, moved).
	// +optional
	Status string `json:"status,omitempty"`

	// NameServers are the Cloudflare-assigned nameservers for this zone.
	// Update your registrar's NS records to these values to activate the zone.
	// +optional
	NameServers []string `json:"nameServers,omitempty"`

	// OriginalNameServers are the nameservers before migration to Cloudflare.
	// +optional
	OriginalNameServers []string `json:"originalNameServers,omitempty"`

	// OriginalRegistrar is the registrar at the time of onboarding.
	// +optional
	OriginalRegistrar string `json:"originalRegistrar,omitempty"`

	// ActivatedOn is the time the zone became active.
	// +optional
	ActivatedOn *metav1.Time `json:"activatedOn,omitempty"`

	// LastSyncedAt is the last time the zone was successfully synced.
	// +optional
	LastSyncedAt *metav1.Time `json:"lastSyncedAt,omitempty"`

	// ObservedGeneration is the most recently observed generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

CloudflareZoneStatus defines the observed state of a CloudflareZone.

func (*CloudflareZoneStatus) DeepCopy

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

func (*CloudflareZoneStatus) DeepCopyInto

func (in *CloudflareZoneStatus) DeepCopyInto(out *CloudflareZoneStatus)

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

type MinifySettings

type MinifySettings struct {
	// CSS enables CSS minification.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	CSS *string `json:"css,omitempty"`

	// HTML enables HTML minification.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	HTML *string `json:"html,omitempty"`

	// JS enables JavaScript minification.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	JS *string `json:"js,omitempty"`
}

MinifySettings defines minification settings for CSS, HTML, and JavaScript.

func (*MinifySettings) DeepCopy

func (in *MinifySettings) DeepCopy() *MinifySettings

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

func (*MinifySettings) DeepCopyInto

func (in *MinifySettings) DeepCopyInto(out *MinifySettings)

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

type NetworkSettings

type NetworkSettings struct {
	// IPv6 enables IPv6 support.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	IPv6 *string `json:"ipv6,omitempty"`

	// WebSockets enables WebSocket support.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	WebSockets *string `json:"websockets,omitempty"`

	// PseudoIPv4 controls Pseudo IPv4 behavior.
	// +kubebuilder:validation:Enum=off;add_header;overwrite_header
	// +optional
	PseudoIPv4 *string `json:"pseudoIPv4,omitempty"`

	// IPGeolocation enables IP geolocation.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	IPGeolocation *string `json:"ipGeolocation,omitempty"`

	// OpportunisticOnion enables onion routing.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	OpportunisticOnion *string `json:"opportunisticOnion,omitempty"`
}

NetworkSettings defines network settings for a Cloudflare zone.

func (*NetworkSettings) DeepCopy

func (in *NetworkSettings) DeepCopy() *NetworkSettings

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

func (*NetworkSettings) DeepCopyInto

func (in *NetworkSettings) DeepCopyInto(out *NetworkSettings)

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

type PerformanceSettings

type PerformanceSettings struct {
	// CacheLevel controls the cache level.
	// +kubebuilder:validation:Enum=aggressive;basic;simplified
	// +optional
	CacheLevel *string `json:"cacheLevel,omitempty"`

	// BrowserCacheTTL is the browser cache TTL in seconds. 0 means respect existing headers.
	// +kubebuilder:validation:Minimum=0
	// +optional
	BrowserCacheTTL *int `json:"browserCacheTTL,omitempty"`

	// Minify controls minification settings.
	// +optional
	Minify *MinifySettings `json:"minify,omitempty"`

	// Polish controls image optimization.
	// +kubebuilder:validation:Enum=off;lossless;lossy
	// +optional
	Polish *string `json:"polish,omitempty"`

	// Brotli enables brotli compression.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	Brotli *string `json:"brotli,omitempty"`

	// EarlyHints enables early hints.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	EarlyHints *string `json:"earlyHints,omitempty"`

	// HTTP2 enables HTTP/2.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	HTTP2 *string `json:"http2,omitempty"`

	// HTTP3 enables HTTP/3.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	HTTP3 *string `json:"http3,omitempty"`
}

PerformanceSettings defines performance settings for a Cloudflare zone.

func (*PerformanceSettings) DeepCopy

func (in *PerformanceSettings) DeepCopy() *PerformanceSettings

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

func (*PerformanceSettings) DeepCopyInto

func (in *PerformanceSettings) DeepCopyInto(out *PerformanceSettings)

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

type RulesetRuleSpec

type RulesetRuleSpec struct {
	// Action is the action to perform when the rule matches.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=block;challenge;js_challenge;managed_challenge;log;skip;execute;redirect;rewrite;route;score;serve_error;set_cache_settings;set_config;compress_response;force_connection_close
	Action string `json:"action"`

	// Expression is the filter expression for the rule.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Expression string `json:"expression"`

	// Description is an informative description of the rule.
	// +optional
	Description string `json:"description,omitempty"`

	// Enabled indicates whether the rule is active.
	// +kubebuilder:default=true
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// ActionParameters contains action-specific parameters as free-form JSON.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Type=object
	// +optional
	ActionParameters *apiextensionsv1.JSON `json:"actionParameters,omitempty"`
}

RulesetRuleSpec defines a single rule within a Cloudflare Ruleset.

func (*RulesetRuleSpec) DeepCopy

func (in *RulesetRuleSpec) DeepCopy() *RulesetRuleSpec

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

func (*RulesetRuleSpec) DeepCopyInto

func (in *RulesetRuleSpec) DeepCopyInto(out *RulesetRuleSpec)

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

type SRVData

type SRVData struct {
	// Service is the SRV service name (e.g., "_satisfactory").
	// +kubebuilder:validation:Required
	Service string `json:"service"`

	// Proto is the SRV protocol.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=_tcp;_udp;_tls
	Proto string `json:"proto"`

	// Priority of the SRV record.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	Priority int `json:"priority"`

	// Weight of the SRV record.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	Weight int `json:"weight"`

	// Port is the target port.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	Port int `json:"port"`

	// Target is the target hostname for the SRV record.
	// +kubebuilder:validation:Required
	Target string `json:"target"`
}

SRVData contains SRV-specific record fields.

func (*SRVData) DeepCopy

func (in *SRVData) DeepCopy() *SRVData

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

func (*SRVData) DeepCopyInto

func (in *SRVData) DeepCopyInto(out *SRVData)

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

type SSLSettings

type SSLSettings struct {
	// Mode is the SSL mode.
	// +kubebuilder:validation:Enum=off;flexible;full;strict
	// +optional
	Mode *string `json:"mode,omitempty"`

	// MinTLSVersion is the minimum TLS version.
	// +kubebuilder:validation:Enum="1.0";"1.1";"1.2";"1.3"
	// +optional
	MinTLSVersion *string `json:"minTLSVersion,omitempty"`

	// TLS13 controls TLS 1.3 setting.
	// +kubebuilder:validation:Enum=on;off;zrt
	// +optional
	TLS13 *string `json:"tls13,omitempty"`

	// AlwaysUseHTTPS redirects all HTTP requests to HTTPS.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	AlwaysUseHTTPS *string `json:"alwaysUseHTTPS,omitempty"`

	// AutomaticHTTPSRewrites rewrites HTTP URLs to HTTPS in page content.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	AutomaticHTTPSRewrites *string `json:"automaticHTTPSRewrites,omitempty"`

	// OpportunisticEncryption enables opportunistic encryption.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	OpportunisticEncryption *string `json:"opportunisticEncryption,omitempty"`
}

SSLSettings defines SSL/TLS settings for a Cloudflare zone.

func (*SSLSettings) DeepCopy

func (in *SSLSettings) DeepCopy() *SSLSettings

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

func (*SSLSettings) DeepCopyInto

func (in *SSLSettings) DeepCopyInto(out *SSLSettings)

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

type SecretReference

type SecretReference struct {
	// Name of the Secret.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
}

SecretReference refers to a Kubernetes Secret containing Cloudflare credentials.

func (*SecretReference) DeepCopy

func (in *SecretReference) DeepCopy() *SecretReference

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

func (*SecretReference) DeepCopyInto

func (in *SecretReference) DeepCopyInto(out *SecretReference)

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

type SecuritySettings

type SecuritySettings struct {
	// SecurityLevel controls the security level.
	// +kubebuilder:validation:Enum=essentially_off;low;medium;high;under_attack
	// +optional
	SecurityLevel *string `json:"securityLevel,omitempty"`

	// ChallengeTTL is the challenge TTL in seconds.
	// +kubebuilder:validation:Enum=300;900;1800;2700;3600;7200;10800;14400;28800;57600;86400
	// +optional
	ChallengeTTL *int `json:"challengeTTL,omitempty"`

	// BrowserCheck enables browser integrity check.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	BrowserCheck *string `json:"browserCheck,omitempty"`

	// EmailObfuscation enables email obfuscation.
	// +kubebuilder:validation:Enum=on;off
	// +optional
	EmailObfuscation *string `json:"emailObfuscation,omitempty"`
}

SecuritySettings defines security settings for a Cloudflare zone.

func (*SecuritySettings) DeepCopy

func (in *SecuritySettings) DeepCopy() *SecuritySettings

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

func (*SecuritySettings) DeepCopyInto

func (in *SecuritySettings) DeepCopyInto(out *SecuritySettings)

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

type ZoneReference

type ZoneReference struct {
	// Name of the CloudflareZone resource.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
}

ZoneReference refers to a CloudflareZone CR in the same namespace.

func (*ZoneReference) DeepCopy

func (in *ZoneReference) DeepCopy() *ZoneReference

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

func (*ZoneReference) DeepCopyInto

func (in *ZoneReference) DeepCopyInto(out *ZoneReference)

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