v1alpha1

package
v0.13.1 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the networking v1alpha1 API group +kubebuilder:object:generate=true +groupName=networking.cfargotunnel.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "networking.cfargotunnel.com", 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 AccessTunnel added in v0.12.0

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

	Target       AccessTunnelTarget        `json:"target,omitempty"`
	ServiceToken *AccessTunnelServiceToken `json:"serviceToken,omitempty"`
	Status       AccessTunnelStatus        `json:"status,omitempty"`
}

AccessTunnel is the Schema for the accesstunnels API

func (*AccessTunnel) DeepCopy added in v0.12.0

func (in *AccessTunnel) DeepCopy() *AccessTunnel

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

func (*AccessTunnel) DeepCopyInto added in v0.12.0

func (in *AccessTunnel) DeepCopyInto(out *AccessTunnel)

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

func (*AccessTunnel) DeepCopyObject added in v0.12.0

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

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

type AccessTunnelList added in v0.12.0

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

AccessTunnelList contains a list of AccessTunnel

func (*AccessTunnelList) DeepCopy added in v0.12.0

func (in *AccessTunnelList) DeepCopy() *AccessTunnelList

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

func (*AccessTunnelList) DeepCopyInto added in v0.12.0

func (in *AccessTunnelList) DeepCopyInto(out *AccessTunnelList)

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

func (*AccessTunnelList) DeepCopyObject added in v0.12.0

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

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

type AccessTunnelServiceConfig added in v0.12.0

type AccessTunnelServiceConfig struct {
	// Name of the new service to create
	// Defaults to the name of the Access object
	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`

	// Service port to expose with
	// Defaults to 8000
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=8000
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=65535
	Port int32 `json:"port,omitempty"`
}

AccessTunnelServiceConfig defines the Service created to Access

func (*AccessTunnelServiceConfig) DeepCopy added in v0.12.0

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

func (*AccessTunnelServiceConfig) DeepCopyInto added in v0.12.0

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

type AccessTunnelServiceToken added in v0.12.0

type AccessTunnelServiceToken struct {
	// Access Service Token Secret
	// +kubebuilder:validation:Required
	SecretRef string `json:"secretRef,omitempty"`

	// Key in the secret to use for Access Service Token ID, defaults to CLOUDFLARE_ACCESS_SERVICE_TOKEN_ID
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=CLOUDFLARE_ACCESS_SERVICE_TOKEN_ID
	CLOUDFLARE_ACCESS_SERVICE_TOKEN_ID string `json:"CLOUDFLARE_ACCESS_SERVICE_TOKEN_ID,omitempty"`
	// Key in the secret to use for Access Service Token Token, defaults to CLOUDFLARE_ACCESS_SERVICE_TOKEN_TOKEN
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=CLOUDFLARE_ACCESS_SERVICE_TOKEN_TOKEN
	CLOUDFLARE_ACCESS_SERVICE_TOKEN_TOKEN string `json:"CLOUDFLARE_ACCESS_SERVICE_TOKEN_TOKEN,omitempty"`
}

AccessTunnelServiceToken defines the access auth if needed

func (*AccessTunnelServiceToken) DeepCopy added in v0.12.0

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

func (*AccessTunnelServiceToken) DeepCopyInto added in v0.12.0

func (in *AccessTunnelServiceToken) DeepCopyInto(out *AccessTunnelServiceToken)

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

type AccessTunnelStatus added in v0.12.0

type AccessTunnelStatus struct {
}

AccessTunnelStatus defines the observed state of Access

func (*AccessTunnelStatus) DeepCopy added in v0.12.0

func (in *AccessTunnelStatus) DeepCopy() *AccessTunnelStatus

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

func (*AccessTunnelStatus) DeepCopyInto added in v0.12.0

func (in *AccessTunnelStatus) DeepCopyInto(out *AccessTunnelStatus)

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

type AccessTunnelTarget added in v0.12.0

type AccessTunnelTarget struct {
	// cloudflared image to use
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="cloudflare/cloudflared:2025.4.0"
	Image string `json:"image,omitempty"`

	// Fqdn specifies the DNS name to access
	// This is not validated and used as provided
	// +kubebuilder:validation:Required
	Fqdn string `json:"fqdn,omitempty"`

	// Protocol to forward, better to use TCP?
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=tcp
	// +kubebuilder:validation:Enum:="tcp";"rdp";"smb";"ssh"
	Protocol string `json:"protocol,omitempty"`

	// Service Config
	// +kubebuilder:validation:Optional
	Svc AccessTunnelServiceConfig `json:"svc,omitempty"`
}

AccessTunnelTarget defines the desired state of Access

func (*AccessTunnelTarget) DeepCopy added in v0.12.0

func (in *AccessTunnelTarget) DeepCopy() *AccessTunnelTarget

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

func (*AccessTunnelTarget) DeepCopyInto added in v0.12.0

func (in *AccessTunnelTarget) DeepCopyInto(out *AccessTunnelTarget)

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

type CloudflareDetails

type CloudflareDetails struct {
	// +kubebuilder:validation:Required
	// Cloudflare Domain to which this tunnel belongs to
	Domain string `json:"domain,omitempty"`

	// +kubebuilder:validation:Required
	// Secret containing Cloudflare API key/token
	Secret string `json:"secret,omitempty"`

	// +kubebuilder:validation:Optional
	// Account Name in Cloudflare. AccountName and AccountId cannot be both empty. If both are provided, Account ID is used if valid, else falls back to Account Name.
	AccountName string `json:"accountName,omitempty"`

	// +kubebuilder:validation:Optional
	// Account ID in Cloudflare. AccountId and AccountName cannot be both empty. If both are provided, Account ID is used if valid, else falls back to Account Name.
	AccountId string `json:"accountId,omitempty"`

	// +kubebuilder:validation:Optional
	// Email to use along with API Key for Delete operations for new tunnels only, or as an alternate to API Token
	Email string `json:"email,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=CLOUDFLARE_API_KEY
	// Key in the secret to use for Cloudflare API Key, defaults to CLOUDFLARE_API_KEY. Needs Email also to be provided.
	// For Delete operations for new tunnels only, or as an alternate to API Token
	CLOUDFLARE_API_KEY string `json:"CLOUDFLARE_API_KEY,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=CLOUDFLARE_API_TOKEN
	// Key in the secret to use for Cloudflare API token, defaults to CLOUDFLARE_API_TOKEN
	CLOUDFLARE_API_TOKEN string `json:"CLOUDFLARE_API_TOKEN,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=CLOUDFLARE_TUNNEL_CREDENTIAL_FILE
	// Key in the secret to use as credentials.json for an existing tunnel, defaults to CLOUDFLARE_TUNNEL_CREDENTIAL_FILE
	CLOUDFLARE_TUNNEL_CREDENTIAL_FILE string `json:"CLOUDFLARE_TUNNEL_CREDENTIAL_FILE,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=CLOUDFLARE_TUNNEL_CREDENTIAL_SECRET
	// Key in the secret to use as tunnel secret for an existing tunnel, defaults to CLOUDFLARE_TUNNEL_CREDENTIAL_SECRET
	CLOUDFLARE_TUNNEL_CREDENTIAL_SECRET string `json:"CLOUDFLARE_TUNNEL_CREDENTIAL_SECRET,omitempty"`
}

CloudflareDetails spec contains all the necessary parameters needed to connect to the Cloudflare API.

func (*CloudflareDetails) DeepCopy

func (in *CloudflareDetails) DeepCopy() *CloudflareDetails

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

func (*CloudflareDetails) DeepCopyInto

func (in *CloudflareDetails) DeepCopyInto(out *CloudflareDetails)

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

type ClusterTunnel added in v0.3.0

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

	Spec   TunnelSpec   `json:"spec,omitempty"`
	Status TunnelStatus `json:"status,omitempty"`
}

ClusterTunnel is the Schema for the clustertunnels API

func (*ClusterTunnel) ConvertFrom added in v0.13.0

func (dst *ClusterTunnel) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts the Hub version (v1alpha2) to this ClusterTunnel (v1alpha1).

func (*ClusterTunnel) ConvertTo added in v0.13.0

func (src *ClusterTunnel) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this ClusterTunnel (v1alpha1) to the Hub version (v1alpha2).

func (*ClusterTunnel) DeepCopy added in v0.3.0

func (in *ClusterTunnel) DeepCopy() *ClusterTunnel

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

func (*ClusterTunnel) DeepCopyInto added in v0.3.0

func (in *ClusterTunnel) DeepCopyInto(out *ClusterTunnel)

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

func (*ClusterTunnel) DeepCopyObject added in v0.3.0

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

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

type ClusterTunnelList added in v0.3.0

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

ClusterTunnelList contains a list of ClusterTunnel

func (*ClusterTunnelList) DeepCopy added in v0.3.0

func (in *ClusterTunnelList) DeepCopy() *ClusterTunnelList

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

func (*ClusterTunnelList) DeepCopyInto added in v0.3.0

func (in *ClusterTunnelList) DeepCopyInto(out *ClusterTunnelList)

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

func (*ClusterTunnelList) DeepCopyObject added in v0.3.0

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

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

type ExistingTunnel

type ExistingTunnel struct {
	// +kubebuilder:validation:Optional
	// Existing Tunnel ID to run on. Tunnel ID and Tunnel Name cannot be both empty. If both are provided, ID is used if valid, else falls back to Name.
	Id string `json:"id,omitempty"`

	// +kubebuilder:validation:Optional
	// Existing Tunnel name to run on. Tunnel Name and Tunnel ID cannot be both empty. If both are provided, ID is used if valid, else falls back to Name.
	Name string `json:"name,omitempty"`
}

ExistingTunnel spec needs either a Tunnel Id or a Name to find it on Cloudflare.

func (*ExistingTunnel) DeepCopy

func (in *ExistingTunnel) DeepCopy() *ExistingTunnel

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

func (*ExistingTunnel) DeepCopyInto

func (in *ExistingTunnel) DeepCopyInto(out *ExistingTunnel)

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

type NewTunnel

type NewTunnel struct {
	// +kubebuilder:validation:Required
	// Tunnel name to create on Cloudflare.
	Name string `json:"name,omitempty"`
}

NewTunnel spec needs a name to create a Tunnel on Cloudflare.

func (*NewTunnel) DeepCopy

func (in *NewTunnel) DeepCopy() *NewTunnel

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

func (*NewTunnel) DeepCopyInto

func (in *NewTunnel) DeepCopyInto(out *NewTunnel)

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

type ServiceInfo added in v0.9.0

type ServiceInfo struct {
	// FQDN of the service
	Hostname string `json:"hostname"`
	// Target for cloudflared
	Target string `json:"target"`
}

ServiceInfo stores the Hostname and Target for each service

func (*ServiceInfo) DeepCopy added in v0.9.0

func (in *ServiceInfo) DeepCopy() *ServiceInfo

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

func (*ServiceInfo) DeepCopyInto added in v0.9.0

func (in *ServiceInfo) DeepCopyInto(out *ServiceInfo)

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

type Tunnel

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

	Spec   TunnelSpec   `json:"spec,omitempty"`
	Status TunnelStatus `json:"status,omitempty"`
}

Tunnel is the Schema for the tunnels API

func (*Tunnel) ConvertFrom added in v0.13.0

func (dst *Tunnel) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts the Hub version (v1alpha2) to this Tunnel (v1alpha1).

func (*Tunnel) ConvertTo added in v0.13.0

func (src *Tunnel) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this Tunnel (v1alpha1) to the Hub version (v1alpha2).

func (*Tunnel) DeepCopy

func (in *Tunnel) DeepCopy() *Tunnel

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

func (*Tunnel) DeepCopyInto

func (in *Tunnel) DeepCopyInto(out *Tunnel)

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

func (*Tunnel) DeepCopyObject

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

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

type TunnelBinding added in v0.9.0

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

	Subjects  []TunnelBindingSubject `json:"subjects"`
	TunnelRef TunnelRef              `json:"tunnelRef"`
	Status    TunnelBindingStatus    `json:"status,omitempty"`
}

TunnelBinding is the Schema for the tunnelbindings API

func (*TunnelBinding) DeepCopy added in v0.9.0

func (in *TunnelBinding) DeepCopy() *TunnelBinding

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

func (*TunnelBinding) DeepCopyInto added in v0.9.0

func (in *TunnelBinding) DeepCopyInto(out *TunnelBinding)

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

func (*TunnelBinding) DeepCopyObject added in v0.9.0

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

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

type TunnelBindingList added in v0.9.0

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

TunnelBindingList contains a list of TunnelBinding

func (*TunnelBindingList) DeepCopy added in v0.9.0

func (in *TunnelBindingList) DeepCopy() *TunnelBindingList

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

func (*TunnelBindingList) DeepCopyInto added in v0.9.0

func (in *TunnelBindingList) DeepCopyInto(out *TunnelBindingList)

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

func (*TunnelBindingList) DeepCopyObject added in v0.9.0

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

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

type TunnelBindingStatus added in v0.9.0

type TunnelBindingStatus struct {
	// To show on the kubectl cli
	Hostnames string        `json:"hostnames"`
	Services  []ServiceInfo `json:"services"`
}

TunnelBindingStatus defines the observed state of TunnelBinding

func (*TunnelBindingStatus) DeepCopy added in v0.9.0

func (in *TunnelBindingStatus) DeepCopy() *TunnelBindingStatus

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

func (*TunnelBindingStatus) DeepCopyInto added in v0.9.0

func (in *TunnelBindingStatus) DeepCopyInto(out *TunnelBindingStatus)

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

type TunnelBindingSubject added in v0.9.0

type TunnelBindingSubject struct {
	// Kind can be Service
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="Service"
	Kind string `json:"kind"`
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// +kubebuilder:validation:Optional
	Spec TunnelBindingSubjectSpec `json:"spec"`
}

TunnelBindingSubject defines the subject TunnelBinding connects to the Tunnel

func (*TunnelBindingSubject) DeepCopy added in v0.9.0

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

func (*TunnelBindingSubject) DeepCopyInto added in v0.9.0

func (in *TunnelBindingSubject) DeepCopyInto(out *TunnelBindingSubject)

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

type TunnelBindingSubjectSpec added in v0.9.0

type TunnelBindingSubjectSpec struct {
	// Fqdn specifies the DNS name to access this service from.
	// Defaults to the service.metadata.name + tunnel.spec.domain.
	// If specifying this, make sure to use the same domain that the tunnel belongs to.
	// This is not validated and used as provided
	// +kubebuilder:validation:Optional
	Fqdn string `json:"fqdn,omitempty"`

	// Protocol specifies the protocol for the service. Should be one of http, https, tcp, udp, ssh or rdp.
	// Defaults to http, with the exceptions of https for 443, smb for 139 and 445, rdp for 3389 and ssh for 22 if the service has a TCP port.
	// The only available option for a UDP port is udp, which is default.
	// +kubebuilder:validation:Optional
	Protocol string `json:"protocol,omitempty"`

	// Path specifies a regular expression for to match on the request for http/https services
	// If a rule does not specify a path, all paths will be matched.
	// +kubebuilder:validation:Optional
	Path string `json:"path,omitempty"`

	// Target specified where the tunnel should proxy to.
	// Defaults to the form of <protocol>://<service.metadata.name>.<service.metadata.namespace>.svc:<port>
	// +kubebuilder:validation:Optional
	Target string `json:"target,omitempty"`

	// CaPool trusts the CA certificate referenced by the key in the secret specified in tunnel.spec.originCaPool.
	// tls.crt is trusted globally and does not need to be specified. Only useful if the protocol is HTTPS.
	// +kubebuilder:validation:Optional
	CaPool string `json:"caPool,omitempty"`

	// NoTlsVerify disables TLS verification for this service.
	// Only useful if the protocol is HTTPS.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=false
	NoTlsVerify bool `json:"noTlsVerify"`

	// Http2Origin makes the service attempt to connect to origin using HTTP2.
	// Origin must be configured as https.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=false
	Http2Origin bool `json:"http2Origin"`

	// ProxyAddress configures the listen address for that proxy
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="127.0.0.1"
	// +kubebuilder:validation:Pattern="((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))"
	ProxyAddress string `json:"proxyAddress,omitempty"`

	// ProxyPort configures the listen port for that proxy
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=0
	// +kubebuilder:validation:Minimum:=0
	// +kubebuilder:validation:Maximum:=65535
	ProxyPort uint `json:"proxyPort,omitempty"`

	// ProxyType configures the proxy type.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Enum:="";"socks"
	ProxyType string `json:"proxyType,omitempty"`
}

func (*TunnelBindingSubjectSpec) DeepCopy added in v0.9.0

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

func (*TunnelBindingSubjectSpec) DeepCopyInto added in v0.9.0

func (in *TunnelBindingSubjectSpec) DeepCopyInto(out *TunnelBindingSubjectSpec)

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

type TunnelList

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

TunnelList contains a list of Tunnel

func (*TunnelList) DeepCopy

func (in *TunnelList) DeepCopy() *TunnelList

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

func (*TunnelList) DeepCopyInto

func (in *TunnelList) DeepCopyInto(out *TunnelList)

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

func (*TunnelList) DeepCopyObject

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

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

type TunnelRef added in v0.9.0

type TunnelRef struct {
	// Kind can be Tunnel or ClusterTunnel
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum:="ClusterTunnel";"Tunnel"
	Kind string `json:"kind"`
	// Name of the tunnel resource
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// +kubebuilder:validation:Optional
	// DisableDNSUpdates disables the DNS updates on Cloudflare, just managing the configs. Assumes the DNS entries are manually added.
	DisableDNSUpdates bool `json:"disableDNSUpdates"`
}

TunnelRef defines the Tunnel TunnelBinding connects to

func (*TunnelRef) DeepCopy added in v0.9.0

func (in *TunnelRef) DeepCopy() *TunnelRef

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

func (*TunnelRef) DeepCopyInto added in v0.9.0

func (in *TunnelRef) DeepCopyInto(out *TunnelRef)

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

type TunnelSpec

type TunnelSpec struct {
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=1
	// +kubebuilder:validation:Optional
	// Size defines the number of Daemon pods to run for this tunnel
	Size int32 `json:"size,omitempty"`

	// +kubebuilder:default:="cloudflare/cloudflared:2025.4.0"
	// +kubebuilder:validation:Optional
	// Image sets the Cloudflared Image to use. Defaults to the image set during the release of the operator.
	Image string `json:"image,omitempty"`

	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	// NoTlsVerify disables origin TLS certificate checks when the endpoint is HTTPS.
	NoTlsVerify bool `json:"noTlsVerify,omitempty"`

	// +kubebuilder:validation:Optional
	// OriginCaPool speficies the secret with tls.crt (and other certs as needed to be referred in the service annotation) of the Root CA to be trusted when sending traffic to HTTPS endpoints
	OriginCaPool string `json:"originCaPool,omitempty"`

	// +kubebuilder:validation:Optional
	// NodeSelectors specifies the nodeSelectors to apply to the cloudflared tunnel deployment
	NodeSelectors map[string]string `json:"nodeSelectors,omitempty"`

	// +kubebuilder:validation:Optional
	// Tolerations specifies the tolerations to apply to the cloudflared tunnel deployment
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum={"auto","quic","http2"}
	// +kubebuilder:default:="auto"
	// Protocol specifies the protocol to use for the tunnel. Defaults to auto. Options are "auto", "quic" and "http2"
	Protocol string `json:"protocol,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="http_status:404"
	// FallbackTarget speficies the target for requests that do not match an ingress. Defaults to http_status:404
	FallbackTarget string `json:"fallbackTarget,omitempty"`

	// +kubebuilder:validation:Required
	// Cloudflare Credentials
	Cloudflare CloudflareDetails `json:"cloudflare,omitempty"`

	// +kubebuilder:validation:Optional
	// Existing tunnel object.
	// ExistingTunnel and NewTunnel cannot be both empty and are mutually exclusive.
	ExistingTunnel ExistingTunnel `json:"existingTunnel,omitempty"`

	// +kubebuilder:validation:Optional
	// New tunnel object.
	// NewTunnel and ExistingTunnel cannot be both empty and are mutually exclusive.
	NewTunnel NewTunnel `json:"newTunnel,omitempty"`
}

TunnelSpec defines the desired state of Tunnel

func (*TunnelSpec) ConvertFrom added in v0.13.0

func (dst *TunnelSpec) ConvertFrom(src v1alpha2.TunnelSpec) error

func (TunnelSpec) ConvertTo added in v0.13.0

func (src TunnelSpec) ConvertTo(dst *v1alpha2.TunnelSpec) error

func (*TunnelSpec) DeepCopy

func (in *TunnelSpec) DeepCopy() *TunnelSpec

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

func (*TunnelSpec) DeepCopyInto

func (in *TunnelSpec) DeepCopyInto(out *TunnelSpec)

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

type TunnelStatus

type TunnelStatus struct {
	TunnelId   string `json:"tunnelId"`
	TunnelName string `json:"tunnelName"`
	AccountId  string `json:"accountId"`
	ZoneId     string `json:"zoneId"`
}

TunnelStatus defines the observed state of Tunnel

func (*TunnelStatus) ConvertFrom added in v0.13.0

func (dst *TunnelStatus) ConvertFrom(src v1alpha2.TunnelStatus) error

func (TunnelStatus) ConvertTo added in v0.13.0

func (src TunnelStatus) ConvertTo(dst *v1alpha2.TunnelStatus) error

func (*TunnelStatus) DeepCopy

func (in *TunnelStatus) DeepCopy() *TunnelStatus

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

func (*TunnelStatus) DeepCopyInto

func (in *TunnelStatus) DeepCopyInto(out *TunnelStatus)

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

type V1alpha1Tov1alpha2Patch added in v0.13.0

type V1alpha1Tov1alpha2Patch struct {
	Spec   *V1alpha1Tov1alpha2PatchSpec `json:"spec,omitempty"`
	Extras map[string]any               `json:",inline,omitempty"`
}

type V1alpha1Tov1alpha2PatchSpec added in v0.13.0

type V1alpha1Tov1alpha2PatchSpec struct {
	Replicas int32                                `json:"replicas,omitempty"`
	Template *V1alpha1Tov1alpha2PatchSpecTemplate `json:"template,omitempty"`
	Extras   map[string]any                       `json:",inline,omitempty"`
}

type V1alpha1Tov1alpha2PatchSpecTemplate added in v0.13.0

type V1alpha1Tov1alpha2PatchSpecTemplate struct {
	Spec   *V1alpha1Tov1alpha2PatchSpecTemplateSpec `json:"spec,omitempty"`
	Extras map[string]any                           `json:",inline,omitempty"`
}

type V1alpha1Tov1alpha2PatchSpecTemplateSpec added in v0.13.0

type V1alpha1Tov1alpha2PatchSpecTemplateSpec struct {
	Tolerations  []corev1.Toleration                                `json:"tolerations,omitempty"`
	NodeSelector map[string]string                                  `json:"nodeSelector,omitempty"`
	Containers   []V1alpha1Tov1alpha2PatchSpecTemplateSpecContainer `json:"containers,omitempty"`
	Extras       map[string]any                                     `json:",inline,omitempty"`
}

type V1alpha1Tov1alpha2PatchSpecTemplateSpecContainer added in v0.13.0

type V1alpha1Tov1alpha2PatchSpecTemplateSpecContainer struct {
	Name   string         `json:"name,omitempty"`
	Image  string         `json:"image,omitempty"`
	Extras map[string]any `json:",inline,omitempty"`
}

Patch conversion type

Jump to

Keyboard shortcuts

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