v1alpha

package
v0.3.28 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha contains API Schema definitions for the core v1alpha API group

Index

Constants

View Source
const (
	// DeletePolicyDelete is the delete policy that will delete the address
	// when the last Address is detached from the address.
	DeletePolicyDelete = "Delete"
	// DeletePolicyRetain is the delete policy that will retain the address
	// when the last Address is detached from the address.
	DeletePolicyRetain = "Retain"
)
View Source
const (
	// AddressPhasePending is the pending phase of the address.
	// This is the initial phase of the address.
	AddressPhasePending = "Pending"
	// AddressPhaseAllocated is the allocated phase of the address.
	// This is the phase of the address when it is allocated by the IP address manager
	// and ready to be attached to one or more proxies.
	AddressPhaseAllocated = "Allocated"
	// AddressPhaseAttached is the state of the address when it is attached to
	// one or more proxies. If there are no proxies attached to the address,
	// the address will either return to the Allocated phase or be deleted
	// depending on the address provider and deletion policy.
	AddressPhaseAttached = "Attached"
)
View Source
const (
	// DomainPhasePending is the pending phase of the domain.
	// This is the initial phase of the domain.
	DomainPhasePending = "Pending"
	DomainPhaseActive  = "Active"
	DomainPhaseError   = "Errored"
)
View Source
const (
	// Indicates that the domain zone is pending.
	// In order to become active, the domain owner must update the
	// nameservers with the registrar to point to the Apoxy nameservers.
	DomainZonePhasePending = "Pending"
	// Active phase of the domain zone. User can create records in the domain zone.
	DomainZonePhaseActive = "Active"
)
View Source
const (
	AddressFinalizer = "address.core.apoxy.dev/finalizer"
)
View Source
const (
	DomainFinalizer = "domain.core.apoxy.dev/finalizer"
)
View Source
const GroupName = "core.apoxy.dev"

GroupName specifies the group name used to register the objects.

View Source
const (
	ProxyFinalizer = "proxy.core.apoxy.dev/finalizer"
)

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Deprecated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource added in v0.2.0

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AccessLog

type AccessLog struct {
	// FileAccessLog specifies the file access log configuration.
	FileAccessLog *FileAccessLog `json:"fileAccessLog,omitempty"`
}

AccessLog defines the access log configuration.

func (*AccessLog) DeepCopy

func (in *AccessLog) DeepCopy() *AccessLog

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

func (*AccessLog) DeepCopyInto

func (in *AccessLog) DeepCopyInto(out *AccessLog)

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

type Address

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

	Spec AddressSpec `json:"spec,omitempty"`

	Status AddressStatus `json:"status,omitempty"`
}

Address is the Schema for the addresses API.

func (*Address) DeepCopy

func (in *Address) DeepCopy() *Address

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

func (*Address) DeepCopyInto

func (in *Address) DeepCopyInto(out *Address)

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

func (*Address) DeepCopyObject

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

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

func (*Address) GetGroupVersionResource

func (a *Address) GetGroupVersionResource() schema.GroupVersionResource

func (*Address) GetObjectMeta

func (a *Address) GetObjectMeta() *metav1.ObjectMeta

func (*Address) GetSingularName

func (a *Address) GetSingularName() string

func (*Address) GetStatus

func (a *Address) GetStatus() resource.StatusSubResource

func (*Address) IsStorageVersion

func (a *Address) IsStorageVersion() bool

func (*Address) NamespaceScoped

func (a *Address) NamespaceScoped() bool

func (*Address) New

func (a *Address) New() runtime.Object

func (*Address) NewList

func (a *Address) NewList() runtime.Object

type AddressList

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

AddressList is a list of Address resources.

func (*AddressList) DeepCopy

func (in *AddressList) DeepCopy() *AddressList

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

func (*AddressList) DeepCopyInto

func (in *AddressList) DeepCopyInto(out *AddressList)

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

func (*AddressList) DeepCopyObject

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

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

func (*AddressList) GetListMeta

func (pl *AddressList) GetListMeta() *metav1.ListMeta

type AddressPhase

type AddressPhase string

AddressPhase is the phase of the address.

type AddressSpec

type AddressSpec struct {
	// Provider of the address.
	// See provider constants for more information.
	Provider InfraProvider `json:"provider,omitempty"`

	// IPv4/IPv6 address string.
	// This is immutable and cannot be changed.
	// Allocated by the IP address manager.
	IP string `json:"ip,omitempty"`

	// Location of the address.
	// Examples: "us-east1", "us-west1", etc.
	// If not provided, the address is global (anycast) for cloud.
	// +optional
	Location string `json:"location,omitempty"`

	// DeletePolicy of the address.
	// See delete policy constants for more information.
	// Defaults to DeletePolicyDelete.
	// +optional
	DeletePolicy DeletePolicy `json:"deletePolicy,omitempty"`
}

func (*AddressSpec) DeepCopy

func (in *AddressSpec) DeepCopy() *AddressSpec

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

func (*AddressSpec) DeepCopyInto

func (in *AddressSpec) DeepCopyInto(out *AddressSpec)

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

type AddressStatus

type AddressStatus struct {
	// Phase of the address.
	Phase AddressPhase `json:"phase,omitempty"`

	// Status of the address.
	// +optional
	Status string `json:"status,omitempty"`
}

func (*AddressStatus) CopyTo

func (*AddressStatus) DeepCopy

func (in *AddressStatus) DeepCopy() *AddressStatus

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

func (*AddressStatus) DeepCopyInto

func (in *AddressStatus) DeepCopyInto(out *AddressStatus)

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

func (*AddressStatus) SubResourceName

func (as *AddressStatus) SubResourceName() string

type Backend added in v0.2.0

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

	Spec   BackendSpec   `json:"spec,omitempty"`
	Status BackendStatus `json:"status,omitempty"`
}

Backend configures a backend (upstream) endpoint for a Proxy.

func (*Backend) DeepCopy added in v0.2.0

func (in *Backend) DeepCopy() *Backend

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

func (*Backend) DeepCopyInto added in v0.2.0

func (in *Backend) DeepCopyInto(out *Backend)

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

func (*Backend) DeepCopyObject added in v0.2.0

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

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

func (*Backend) GetGroupVersionResource added in v0.2.0

func (p *Backend) GetGroupVersionResource() schema.GroupVersionResource

func (*Backend) GetObjectMeta added in v0.2.0

func (p *Backend) GetObjectMeta() *metav1.ObjectMeta

func (*Backend) GetSingularName added in v0.2.0

func (p *Backend) GetSingularName() string

func (*Backend) GetStatus added in v0.2.0

func (p *Backend) GetStatus() resource.StatusSubResource

func (*Backend) IsStorageVersion added in v0.2.0

func (p *Backend) IsStorageVersion() bool

func (*Backend) NamespaceScoped added in v0.2.0

func (p *Backend) NamespaceScoped() bool

func (*Backend) New added in v0.2.0

func (p *Backend) New() runtime.Object

func (*Backend) NewList added in v0.2.0

func (p *Backend) NewList() runtime.Object

type BackendEndpoint added in v0.2.0

type BackendEndpoint struct {
	// FQDN is the fully qualified domain name of the endpoint.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9]))*$`
	// +optional
	FQDN string `json:"fqdn,omitempty"`

	// Endpoint defined as an IPv4/IPv6 address.
	// +kubebuilder:validation:Format=ipv4
	// +kubebuilder:validation:Format=ipv6
	// +optional
	IP string `json:"ip,omitempty"`
}

func (*BackendEndpoint) DeepCopy added in v0.2.0

func (in *BackendEndpoint) DeepCopy() *BackendEndpoint

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

func (*BackendEndpoint) DeepCopyInto added in v0.2.0

func (in *BackendEndpoint) DeepCopyInto(out *BackendEndpoint)

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

type BackendList added in v0.2.0

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

BackendList contains a list of Backend objects.

func (*BackendList) DeepCopy added in v0.2.0

func (in *BackendList) DeepCopy() *BackendList

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

func (*BackendList) DeepCopyInto added in v0.2.0

func (in *BackendList) DeepCopyInto(out *BackendList)

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

func (*BackendList) DeepCopyObject added in v0.2.0

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

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

func (*BackendList) GetListMeta added in v0.2.0

func (pl *BackendList) GetListMeta() *metav1.ListMeta

type BackendProto added in v0.2.0

type BackendProto string

BackendProto defines the protocol to use for the backend. +kubebuilder:validation:Enum="";tls;h2;h2c

const (
	// BackendProtoTLS allows requests to be forwarded to the backend over TLS.
	// Should be used for HTTP/1.1 over TLS.
	BackendProtoTLS BackendProto = "tls"

	// BackendProtoH2 allows requests to be forwarded to the backend over HTTP/2.
	// Should be used for HTTP/2 over TLS.
	BackendProtoH2 BackendProto = "h2"

	// BackendProtoH2C allows requests to be forwarded to the backend over HTTP/2 cleartext.
	BackendProtoH2C BackendProto = "h2c"
)

type BackendSpec added in v0.2.0

type BackendSpec struct {
	// List of endpoints to connect to.
	Endpoints []BackendEndpoint `json:"endpoints"`

	// Specifies whether the backend should be dynamically proxied.
	// If specified, Envoy's HTTP Dynamic Forward Proxy will be used to proxy requests to the backend.
	// See: https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_proxy#arch-overview-http-dynamic-forward-proxy
	// +optional
	DynamicProxy *DynamicProxySpec `json:"dynamicProxy,omitempty"`

	// Protocol defines a protocol to use for the backend.
	Protocol BackendProto `json:"protocol"`
}

func (*BackendSpec) DeepCopy added in v0.2.0

func (in *BackendSpec) DeepCopy() *BackendSpec

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

func (*BackendSpec) DeepCopyInto added in v0.2.0

func (in *BackendSpec) DeepCopyInto(out *BackendSpec)

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

type BackendStatus added in v0.2.0

type BackendStatus struct {
	// Conditions describe the current conditions of the Backend.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

func (*BackendStatus) CopyTo added in v0.2.0

func (*BackendStatus) DeepCopy added in v0.2.0

func (in *BackendStatus) DeepCopy() *BackendStatus

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

func (*BackendStatus) DeepCopyInto added in v0.2.0

func (in *BackendStatus) DeepCopyInto(out *BackendStatus)

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

func (*BackendStatus) SubResourceName added in v0.2.0

func (ps *BackendStatus) SubResourceName() string

type DeletePolicy

type DeletePolicy string

DeletePolicy is the delete policy of the address.

type Domain

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

	Spec DomainSpec `json:"spec,omitempty"`

	Status DomainStatus `json:"status,omitempty"`
}

func (*Domain) DeepCopy

func (in *Domain) DeepCopy() *Domain

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

func (*Domain) DeepCopyInto

func (in *Domain) DeepCopyInto(out *Domain)

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

func (*Domain) DeepCopyObject

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

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

func (*Domain) GetGroupVersionResource

func (a *Domain) GetGroupVersionResource() schema.GroupVersionResource

func (*Domain) GetObjectMeta

func (a *Domain) GetObjectMeta() *metav1.ObjectMeta

func (*Domain) GetSingularName

func (a *Domain) GetSingularName() string

func (*Domain) GetStatus

func (a *Domain) GetStatus() resource.StatusSubResource

func (*Domain) IsStorageVersion

func (a *Domain) IsStorageVersion() bool

func (*Domain) NamespaceScoped

func (a *Domain) NamespaceScoped() bool

func (*Domain) New

func (a *Domain) New() runtime.Object

func (*Domain) NewList

func (a *Domain) NewList() runtime.Object

type DomainForwardingSpec added in v0.3.27

type DomainForwardingSpec struct {
	// ForwardingRules is the list of forwarding rules.
	ForwardingRules []ForwardingRule `json:"forwardingRules,omitempty"`
}

func (*DomainForwardingSpec) DeepCopy added in v0.3.27

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

func (*DomainForwardingSpec) DeepCopyInto added in v0.3.27

func (in *DomainForwardingSpec) DeepCopyInto(out *DomainForwardingSpec)

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

type DomainList

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

DomainList is a list of Domain resources.

func (*DomainList) DeepCopy

func (in *DomainList) DeepCopy() *DomainList

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

func (*DomainList) DeepCopyInto

func (in *DomainList) DeepCopyInto(out *DomainList)

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

func (*DomainList) DeepCopyObject

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

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

func (*DomainList) GetListMeta

func (pl *DomainList) GetListMeta() *metav1.ListMeta

type DomainOwner added in v0.3.27

type DomainOwner struct {
	// If zone is specified, the Domain is owned by the
	// zone managed by Apoxy (either user zone or Apoxy built-in zone).
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])?$`
	Zone string `json:"zone,omitempty"`

	// If external is true, the Domain is owned by an external entity.
	// As Apoxy does not have control over the zone, the user is responsible
	// for creating the necessary records to point to the Apoxy
	// nameservers as well as any required validation records.
	// +optional
	External bool `json:"external,omitempty"`
}

func (*DomainOwner) DeepCopy added in v0.3.27

func (in *DomainOwner) DeepCopy() *DomainOwner

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

func (*DomainOwner) DeepCopyInto added in v0.3.27

func (in *DomainOwner) DeepCopyInto(out *DomainOwner)

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

type DomainPhase

type DomainPhase string

DomainPhase is the phase of the domain.

type DomainSSLSpec added in v0.3.27

type DomainSSLSpec struct {
	// The Certificate Authority used to issue the SSL certificate.
	// Currently supports "letsencrypt".
	// +optional
	CertificateAuthority string `json:"certificateAuthority,omitempty"`
}

func (*DomainSSLSpec) DeepCopy added in v0.3.27

func (in *DomainSSLSpec) DeepCopy() *DomainSSLSpec

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

func (*DomainSSLSpec) DeepCopyInto added in v0.3.27

func (in *DomainSSLSpec) DeepCopyInto(out *DomainSSLSpec)

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

type DomainSpec

type DomainSpec struct {
	// Owner is the owner of the domain.
	// +kubebuilder:validation:Required
	Owner DomainOwner `json:"owner"`

	// The list of subdomains nested under the domain.
	// Allows for wildcard subdomains.
	// +kubebuilder:validation:MaxItems=50
	Subdomains []string `json:"subdomains,omitempty"`

	// Target of the domain.
	// +kubebuilder:validation:Required
	Target DomainTargetSpec `json:"target"`

	// SSL configuration for the domain.
	SSLSpec *DomainSSLSpec `json:"ssl,omitempty"`

	// Used to specify routing non-HTTP/S forwarding rules.
	// For example, forwarding tcp:10000-20000 to a specified port of a target
	// (e.g. an EdgeFunction or a TunnelEndpoint).
	// This is a Pro feature only.
	ForwardingSpec *DomainForwardingSpec `json:"forwarding,omitempty"`
}

func (*DomainSpec) DeepCopy

func (in *DomainSpec) DeepCopy() *DomainSpec

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

func (*DomainSpec) DeepCopyInto

func (in *DomainSpec) DeepCopyInto(out *DomainSpec)

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

type DomainStatus

type DomainStatus struct {
	// Phase of the domain.
	Phase DomainPhase `json:"phase,omitempty"`

	// Conditions recorded for the domain.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

func (*DomainStatus) CopyTo

func (*DomainStatus) DeepCopy

func (in *DomainStatus) DeepCopy() *DomainStatus

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

func (*DomainStatus) DeepCopyInto

func (in *DomainStatus) DeepCopyInto(out *DomainStatus)

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

func (*DomainStatus) SubResourceName

func (as *DomainStatus) SubResourceName() string

type DomainTargetDNS added in v0.3.27

type DomainTargetDNS struct {
	// DNSOnly is a flag to indicate if the domain represents only a DNS record
	// and no traffic is routed via Apoxy. This flag only applies to A/AAAA/CNAME records.
	// +kubebuilder:validation:Default=false
	// +optional
	DNSOnly bool `json:"dnsOnly,omitempty"`

	// IPs is the list of IP addresses of the target.
	// Setting this field will create an A/AAAA record (multi-value).
	// Cannot be set with FQDN.
	// +kubebuilder:validation:MaxItems=20
	// +optional
	IPs []string `json:"ips,omitempty"`

	// FQDN is the fully qualified domain name of the target.
	// Setting this field will create an CNAME record.
	// Cannot be set with IPs.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])?$`
	FQDN *string `json:"fqdn,omitempty"`

	// TXT record value.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	TXT []string `json:"txt,omitempty"`

	// MX represents a Mail Exchange record.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +optional
	MX []string `json:"mx,omitempty"`

	// DKIM represents a DomainKeys Identified Mail record.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	// +optional
	DKIM []string `json:"dkim,omitempty"`

	// SPF represents a Sender Policy Framework record.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	// +optional
	SPF []string `json:"spf,omitempty"`

	// DMARC represents a Domain-based Message Authentication, Reporting & Conformance record.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	// +optional
	DMARC []string `json:"dmarc,omitempty"`

	// CAA represents a Certification Authority Authorization record.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	// +optional
	CAA []string `json:"caa,omitempty"`

	// SRV represents a Service Locator record.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	// +optional
	SRV []string `json:"srv,omitempty"`

	// NS represents a Name Server record.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +optional
	NS []string `json:"ns,omitempty"`

	// DS represents a Delegation Signer record.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	// +optional
	DS []string `json:"ds,omitempty"`

	// DNSKEY represents a DNS Key record.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	// +optional
	DNSKEY []string `json:"dnskey,omitempty"`

	// TTL is the time-to-live of the domain record.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Required
	// +kubebuilder:default=20
	// +kubebuilder:validation:Format=int32
	// +kubebuilder:validation:Maximum=3600
	// +optional
	TTL *int32 `json:"ttl"`
}

func (*DomainTargetDNS) DeepCopy added in v0.3.27

func (in *DomainTargetDNS) DeepCopy() *DomainTargetDNS

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

func (*DomainTargetDNS) DeepCopyInto added in v0.3.27

func (in *DomainTargetDNS) DeepCopyInto(out *DomainTargetDNS)

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

type DomainTargetRef added in v0.3.12

type DomainTargetRef struct {
	// Group is the API Group of the target object.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Group string `json:"group"`

	// Kind is the kind of the target object.
	// Currently supports Proxy, EdgeFunction, TunnelEndpoint kinds.
	// +kubebuilder:validation:Required
	Kind string `json:"kind"`

	// Name is the name of the target object.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])?$`
	Name string `json:"name"`
}

func (*DomainTargetRef) DeepCopy added in v0.3.12

func (in *DomainTargetRef) DeepCopy() *DomainTargetRef

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

func (*DomainTargetRef) DeepCopyInto added in v0.3.12

func (in *DomainTargetRef) DeepCopyInto(out *DomainTargetRef)

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

type DomainTargetSpec added in v0.3.27

type DomainTargetSpec struct {
	// Represents targets specified via DNS.
	DNS *DomainTargetDNS `json:"dns,omitempty"`

	// Represent a target specified via a reference to another object
	// within Apoxy (e.g. Proxy, EdgeFunction, TunnelEndpoint).
	Ref *DomainTargetRef `json:"ref,omitempty"`
}

func (*DomainTargetSpec) DeepCopy added in v0.3.27

func (in *DomainTargetSpec) DeepCopy() *DomainTargetSpec

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

func (*DomainTargetSpec) DeepCopyInto added in v0.3.27

func (in *DomainTargetSpec) DeepCopyInto(out *DomainTargetSpec)

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

type DomainZone added in v0.3.27

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

	Spec DomainZoneSpec `json:"spec,omitempty"`

	Status DomainZoneStatus `json:"status,omitempty"`
}

+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*DomainZone) DeepCopy added in v0.3.27

func (in *DomainZone) DeepCopy() *DomainZone

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

func (*DomainZone) DeepCopyInto added in v0.3.27

func (in *DomainZone) DeepCopyInto(out *DomainZone)

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

func (*DomainZone) DeepCopyObject added in v0.3.27

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

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

func (*DomainZone) GetGroupVersionResource added in v0.3.27

func (a *DomainZone) GetGroupVersionResource() schema.GroupVersionResource

func (*DomainZone) GetObjectMeta added in v0.3.27

func (a *DomainZone) GetObjectMeta() *metav1.ObjectMeta

func (*DomainZone) GetSingularName added in v0.3.27

func (a *DomainZone) GetSingularName() string

func (*DomainZone) GetStatus added in v0.3.27

func (a *DomainZone) GetStatus() resource.StatusSubResource

func (*DomainZone) IsStorageVersion added in v0.3.27

func (a *DomainZone) IsStorageVersion() bool

func (*DomainZone) NamespaceScoped added in v0.3.27

func (a *DomainZone) NamespaceScoped() bool

func (*DomainZone) New added in v0.3.27

func (a *DomainZone) New() runtime.Object

func (*DomainZone) NewList added in v0.3.27

func (a *DomainZone) NewList() runtime.Object

type DomainZoneList added in v0.3.27

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

DomainZoneList is a list of Domain resources.

func (*DomainZoneList) DeepCopy added in v0.3.27

func (in *DomainZoneList) DeepCopy() *DomainZoneList

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

func (*DomainZoneList) DeepCopyInto added in v0.3.27

func (in *DomainZoneList) DeepCopyInto(out *DomainZoneList)

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

func (*DomainZoneList) DeepCopyObject added in v0.3.27

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

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

func (*DomainZoneList) GetListMeta added in v0.3.27

func (pl *DomainZoneList) GetListMeta() *metav1.ListMeta

type DomainZonePhase added in v0.3.27

type DomainZonePhase string

DomainZonePhase is the phase of the domain zone.

type DomainZoneSpec added in v0.3.27

type DomainZoneSpec struct {
}

func (*DomainZoneSpec) DeepCopy added in v0.3.27

func (in *DomainZoneSpec) DeepCopy() *DomainZoneSpec

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

func (*DomainZoneSpec) DeepCopyInto added in v0.3.27

func (in *DomainZoneSpec) DeepCopyInto(out *DomainZoneSpec)

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

type DomainZoneStatus added in v0.3.27

type DomainZoneStatus struct {
	// Phase of the domain zone.
	Phase DomainZonePhase `json:"phase,omitempty"`

	// Conditions of the domain zone.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

func (*DomainZoneStatus) CopyTo added in v0.3.27

func (*DomainZoneStatus) DeepCopy added in v0.3.27

func (in *DomainZoneStatus) DeepCopy() *DomainZoneStatus

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

func (*DomainZoneStatus) DeepCopyInto added in v0.3.27

func (in *DomainZoneStatus) DeepCopyInto(out *DomainZoneStatus)

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

func (*DomainZoneStatus) SubResourceName added in v0.3.27

func (as *DomainZoneStatus) SubResourceName() string

type DynamicProxyDNSLookupFamily added in v0.2.0

type DynamicProxyDNSLookupFamily string
const (
	// DynamicProxyDNSLookupFamilyAuto specifies that the DNS lookup family should be automatically determined.
	DynamicProxyDNSLookupFamilyAuto DynamicProxyDNSLookupFamily = "auto"
	// DynamicProxyDNSLookupFamilyV4Only specifies that the DNS lookup family should be IPv4 only.
	DynamicProxyDNSLookupFamilyV4Only DynamicProxyDNSLookupFamily = "v4_only"
	// DynamicProxyDNSLookupFamilyV6Only specifies that the DNS lookup family should be IPv6 only.
	DynamicProxyDNSLookupFamilyV6Only DynamicProxyDNSLookupFamily = "v6_only"
	// DynamicProxyDNSLookupFamilyV4Preferred specifies that the DNS lookup family should prefer IPv4.
	DynamicProxyDNSLookupFamilyV4Preferred DynamicProxyDNSLookupFamily = "v4_preferred"
	// DynamicProxyDNSLookupFamilyAll specifies that the DNS lookup family should include both IPv4 and IPv6.
	DynamicProxyDNSLookupFamilyAll DynamicProxyDNSLookupFamily = "all"
)

type DynamicProxyDnsCacheConfig added in v0.2.0

type DynamicProxyDnsCacheConfig struct {
	// Specifies the DNS lookup family to use for the dynamic proxy.
	// Default is "auto".
	// +kubebuilder:validation:Enum=auto;v4_only;v6_only;v4_preferred;all
	// +optional
	DNSLookupFamily DynamicProxyDNSLookupFamily `json:"dnsLookupFamily,omitempty"`

	// Specifies the refresh rate for *unresolved* DNS hosts. Once a host is resolved, the TTL from the DNS
	// response is used. If the TTL is not present, the resolved host is cached for 60s by default.
	// Must be at least 1ms, and defaults to 60s.
	// +optional
	DNSRefreshRate *metav1.Duration `json:"dnsRefreshRate,omitempty"`

	// Specifies the minimum refresh rate for DNS hosts. If a host is resolved and the TTL is less than this value, the
	// host will be refreshed at this rate.
	// Default is 5s and must be at least 1s.
	// +optional
	DNSMinRefreshRate *metav1.Duration `json:"dnsMinRefreshRate,omitempty"`

	// TTL for unused hosts. Hosts that have not been used for this duration will be removed from the cache.
	// Default is 5m.
	// +optional
	HostTTL *metav1.Duration `json:"hostTTL,omitempty"`

	// Maximum number of hosts to cache.
	// Default is 1024.
	// +optional
	MaxHosts *uint32 `json:"maxHosts,omitempty"`

	// Specifies the timeout for DNS queries.
	// Default is 5s.
	// +optional
	DNSQueryTimeout *metav1.Duration `json:"dnsQueryTimeout,omitempty"`
}

func (*DynamicProxyDnsCacheConfig) DeepCopy added in v0.2.0

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

func (*DynamicProxyDnsCacheConfig) DeepCopyInto added in v0.2.0

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

type DynamicProxySpec added in v0.2.0

type DynamicProxySpec struct {
	DnsCacheConfig *DynamicProxyDnsCacheConfig `json:"dnsCacheConfig,omitempty"`
}

func (*DynamicProxySpec) DeepCopy added in v0.2.0

func (in *DynamicProxySpec) DeepCopy() *DynamicProxySpec

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

func (*DynamicProxySpec) DeepCopyInto added in v0.2.0

func (in *DynamicProxySpec) DeepCopyInto(out *DynamicProxySpec)

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

type FileAccessLog

type FileAccessLog struct {
	// Path where access logs collectors will look for access log files.
	// Accepts absolute paths, and paths relative to the Proxy's current working directory.
	// If empty, will use default path for the proxy type.
	// +optional
	Path string `json:"path,omitempty"`
}

FileAccessLog defines the file access log configuration.

func (*FileAccessLog) DeepCopy

func (in *FileAccessLog) DeepCopy() *FileAccessLog

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

func (*FileAccessLog) DeepCopyInto

func (in *FileAccessLog) DeepCopyInto(out *FileAccessLog)

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

type ForwardingRule added in v0.3.27

type ForwardingRule struct {
	// Protocol specifies the protocol for forwarding.
	// +kubebuilder:validation:Required
	Protocol ProtocolType `json:"protocol"`

	// PortRanges specifies the port ranges for forwarding.
	// +kubebuilder:validation:Required
	PortRanges []PortRange `json:"portRanges"`

	// If not specified, the connections will be forwarded to the same port it
	// was received on.
	TargetPort *int32 `json:"targetPort,omitempty"`
}

func (*ForwardingRule) DeepCopy added in v0.3.27

func (in *ForwardingRule) DeepCopy() *ForwardingRule

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

func (*ForwardingRule) DeepCopyInto added in v0.3.27

func (in *ForwardingRule) DeepCopyInto(out *ForwardingRule)

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

type InfraProvider

type InfraProvider string

InfraProvider defines the infrastructure provider where the proxy will be deployed.

const (
	// InfraProviderCloud is the cloud provider.
	// This provider deploys proxies within Apoxy cloud.
	InfraProviderCloud InfraProvider = "cloud"
	// InfraProviderKubernetes is the kubernetes provider.
	// This provider is used to deploy the proxy as a kubernetes pod.
	InfraProviderKubernetes InfraProvider = "kubernetes"
)

type NodePhase added in v0.2.0

type NodePhase string
const (
	// NodePhasePending is the phase for a node that is being setup
	// before it moves into "Ready" (to accept connections from peers and
	// relay traffic for them) or "Failed" (if it fails to setup).
	NodePhasePending NodePhase = "Pending"
	// NodePhaseReady
	NodePhaseReady NodePhase = "Ready"
	// NodePhaseFailed
	NodePhaseFailed NodePhase = "Failed"
)

type PeerPhase added in v0.2.0

type PeerPhase string
const (
	// PeerPhaseWaiting is the phase for a peer that is waiting for the node
	// to accept its connection.
	PeerPhaseWaiting PeerPhase = "Waiting"
	// PeerPhaseConnected is the phase for a peer that is connected to the node.
	PeerPhaseConnected PeerPhase = "Connected"
	// PeerPhaseFailed is the phase for a peer that failed to connect to the node.
	// This phase is used when the node is unable to accept the peer's connection.
	PeerPhaseFailed PeerPhase = "Failed"
)

type PeerStatus added in v0.2.0

type PeerStatus struct {
	// Public key of the peer.
	PubKey string `json:"pubKey,omitempty"`

	// ExternalAddress of the peer.
	// This is the address of the peer that is directly accessible
	// via host network.
	ExternalAddress string `json:"externalAddress,omitempty"`

	// InternalAddress of the peer.
	// This is the address of the peer on the tunnel overlay network.
	InternalAddress string `json:"internalAddress,omitempty"`

	// Phase of the peer.
	Phase PeerPhase `json:"phase,omitempty"`
}

func (*PeerStatus) DeepCopy added in v0.2.0

func (in *PeerStatus) DeepCopy() *PeerStatus

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

func (*PeerStatus) DeepCopyInto added in v0.2.0

func (in *PeerStatus) DeepCopyInto(out *PeerStatus)

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

type PortRange added in v0.3.27

type PortRange struct {
	// StartPort is the starting port of the range.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	StartPort int32 `json:"startPort"`

	// EndPort is the ending port of the range.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	EndPort int32 `json:"endPort"`
}

func (*PortRange) DeepCopy added in v0.3.27

func (in *PortRange) DeepCopy() *PortRange

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

func (*PortRange) DeepCopyInto added in v0.3.27

func (in *PortRange) DeepCopyInto(out *PortRange)

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

type ProtocolType added in v0.3.27

type ProtocolType string
const (
	ProtocolHTTP ProtocolType = "HTTP"
	ProtocolTLS  ProtocolType = "TLS"
	ProtocolTCP  ProtocolType = "TCP"
	ProtocolUDP  ProtocolType = "UDP"
)

type Proxy

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

	Spec   ProxySpec   `json:"spec,omitempty"`
	Status ProxyStatus `json:"status,omitempty"`
}

Proxy is the Schema for the proxies API.

func (*Proxy) DeepCopy

func (in *Proxy) DeepCopy() *Proxy

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

func (*Proxy) DeepCopyInto

func (in *Proxy) DeepCopyInto(out *Proxy)

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

func (*Proxy) DeepCopyObject

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

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

func (*Proxy) GetGroupVersionResource

func (p *Proxy) GetGroupVersionResource() schema.GroupVersionResource

func (*Proxy) GetObjectMeta

func (p *Proxy) GetObjectMeta() *metav1.ObjectMeta

func (*Proxy) GetSingularName

func (p *Proxy) GetSingularName() string

func (*Proxy) GetStatus

func (p *Proxy) GetStatus() resource.StatusSubResource

func (*Proxy) IsStorageVersion

func (p *Proxy) IsStorageVersion() bool

func (*Proxy) NamespaceScoped

func (p *Proxy) NamespaceScoped() bool

func (*Proxy) New

func (p *Proxy) New() runtime.Object

func (*Proxy) NewList

func (p *Proxy) NewList() runtime.Object

type ProxyList

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

ProxyList contains a list of Proxy objects.

func (*ProxyList) DeepCopy

func (in *ProxyList) DeepCopy() *ProxyList

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

func (*ProxyList) DeepCopyInto

func (in *ProxyList) DeepCopyInto(out *ProxyList)

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

func (*ProxyList) DeepCopyObject

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

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

func (*ProxyList) GetListMeta

func (pl *ProxyList) GetListMeta() *metav1.ListMeta

type ProxyPhase

type ProxyPhase string
const (
	ProxyPhasePending     ProxyPhase = "Pending"
	ProxyPhaseRunning     ProxyPhase = "Running"
	ProxyPhaseTerminating ProxyPhase = "Terminating"
	ProxyPhaseStopped     ProxyPhase = "Stopped"
	ProxyPhaseFailed      ProxyPhase = "Failed"
)

type ProxySpec

type ProxySpec struct {
	// Proxy type (currently only envoy is supported).
	Type ProxyType `json:"type,omitempty"`

	// Provider is the infrastructure provider where the proxy will be deployed.
	// Defaults to "cloud" provider.
	Provider InfraProvider `json:"provider,omitempty"`

	// Node name of the proxy.
	// +optional
	NodeName string `json:"nodeName,omitempty"`

	// Proxy configuration.
	ConfigData string `json:"configData,omitempty"`

	// Reference to the IP (v4/v6) address attached to the proxy.
	// If not specified, the proxy will allocate default address
	// for the "cloud" provider. See other providers for their default
	// address allocation mechanism.
	// +optional
	AddressRef *corev1.ObjectReference `json:"addressRef,omitempty"`

	// Location (region) of the proxy instance.
	Location string `json:"location,omitempty"`

	// Access log collector configuration. This is used to configure the access log collector
	// that will be used to collect access logs from the proxy so proxy config should have the
	// configuration to produce access logs using the matching format/sink.
	AccessLog *AccessLog `json:"accessLog,omitempty"`

	// DynamicForwardProxy enables a dynamic forward proxy for sending
	// traffic to dynamically created upstreams based on the host
	// exctracted from the request.
	DynamicForwardProxy bool `json:"dynamicForwardProxy,omitempty"`
}

ProxySpec defines the desired specification of a Proxy.

func (*ProxySpec) DeepCopy

func (in *ProxySpec) DeepCopy() *ProxySpec

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

func (*ProxySpec) DeepCopyInto

func (in *ProxySpec) DeepCopyInto(out *ProxySpec)

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

type ProxyStatus

type ProxyStatus struct {
	// Start time of the proxy.
	StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`

	// IPv4/6 address string of the proxy. If provided in the spec, this will be the same as
	// the addressRef data.
	// +optional
	Address string `json:"address,omitempty"`

	// Phase of the proxy.
	// Examples: "Pending", "Running", "Failed", etc.
	Phase ProxyPhase `json:"phase,omitempty"`

	// MachineID of the proxy.
	// Used to identify the proxy instance in the infrastructure provider.
	// +optional
	MachineID string `json:"machineID,omitempty"`

	// Status of the proxy.
	// +optional
	Status string `json:"status,omitempty"`
}

ProxyStatus defines the observed state of Proxy.

func (*ProxyStatus) CopyTo

func (*ProxyStatus) DeepCopy

func (in *ProxyStatus) DeepCopy() *ProxyStatus

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

func (*ProxyStatus) DeepCopyInto

func (in *ProxyStatus) DeepCopyInto(out *ProxyStatus)

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

func (*ProxyStatus) SubResourceName

func (ps *ProxyStatus) SubResourceName() string

type ProxyType

type ProxyType string

ProxyType defines the type of proxy.

const (
	// ProxyTypeEnvoy is the envoy proxy type.
	ProxyTypeEnvoy ProxyType = "envoy"
)

type TunnelNode added in v0.2.0

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

	Spec   TunnelNodeSpec   `json:"spec,omitempty"`
	Status TunnelNodeStatus `json:"status,omitempty"`
}

TunnelNode represents a node in the tunnel network.

func (*TunnelNode) DeepCopy added in v0.2.0

func (in *TunnelNode) DeepCopy() *TunnelNode

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

func (*TunnelNode) DeepCopyInto added in v0.2.0

func (in *TunnelNode) DeepCopyInto(out *TunnelNode)

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

func (*TunnelNode) DeepCopyObject added in v0.2.0

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

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

func (*TunnelNode) GetGroupVersionResource added in v0.2.0

func (p *TunnelNode) GetGroupVersionResource() schema.GroupVersionResource

func (*TunnelNode) GetObjectMeta added in v0.2.0

func (p *TunnelNode) GetObjectMeta() *metav1.ObjectMeta

func (*TunnelNode) GetSingularName added in v0.2.0

func (p *TunnelNode) GetSingularName() string

func (*TunnelNode) GetStatus added in v0.2.0

func (p *TunnelNode) GetStatus() resource.StatusSubResource

func (*TunnelNode) IsStorageVersion added in v0.2.0

func (p *TunnelNode) IsStorageVersion() bool

func (*TunnelNode) NamespaceScoped added in v0.2.0

func (p *TunnelNode) NamespaceScoped() bool

func (*TunnelNode) New added in v0.2.0

func (p *TunnelNode) New() runtime.Object

func (*TunnelNode) NewList added in v0.2.0

func (p *TunnelNode) NewList() runtime.Object

type TunnelNodeList added in v0.2.0

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

TunnelNodeList contains a list of TunnelNode objects.

func (*TunnelNodeList) DeepCopy added in v0.2.0

func (in *TunnelNodeList) DeepCopy() *TunnelNodeList

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

func (*TunnelNodeList) DeepCopyInto added in v0.2.0

func (in *TunnelNodeList) DeepCopyInto(out *TunnelNodeList)

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

func (*TunnelNodeList) DeepCopyObject added in v0.2.0

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

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

func (*TunnelNodeList) GetListMeta added in v0.2.0

func (pl *TunnelNodeList) GetListMeta() *metav1.ListMeta

type TunnelNodeSpec added in v0.2.0

type TunnelNodeSpec struct {
	// Public key of the node.
	PubKey string `json:"pubKey,omitempty"`

	// External address of the node or address of the NAT hole punched.
	ExternalAddress string `json:"externalAddress,omitempty"`

	// Internal address of the node. Always a /96 IPv6 address.
	InternalAddress string `json:"internalAddress,omitempty"`

	// CIDRs that the node will be relaying traffic for.
	// These are endpoints downstream of the node for which the node is acting
	// as a gateway.
	ForwardedFor []string `json:"forwardedFor,omitempty"`
}

func (*TunnelNodeSpec) DeepCopy added in v0.2.0

func (in *TunnelNodeSpec) DeepCopy() *TunnelNodeSpec

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

func (*TunnelNodeSpec) DeepCopyInto added in v0.2.0

func (in *TunnelNodeSpec) DeepCopyInto(out *TunnelNodeSpec)

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

type TunnelNodeStatus added in v0.2.0

type TunnelNodeStatus struct {
	// Phase of the node.
	Phase NodePhase `json:"phase,omitempty"`

	// PeerStatuses is a list of statuses of the peers that the node is connected to.
	PeerStatuses []PeerStatus `json:"peerStatuses,omitempty"`
}

func (*TunnelNodeStatus) CopyTo added in v0.2.0

func (*TunnelNodeStatus) DeepCopy added in v0.2.0

func (in *TunnelNodeStatus) DeepCopy() *TunnelNodeStatus

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

func (*TunnelNodeStatus) DeepCopyInto added in v0.2.0

func (in *TunnelNodeStatus) DeepCopyInto(out *TunnelNodeStatus)

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

func (*TunnelNodeStatus) SubResourceName added in v0.2.0

func (ps *TunnelNodeStatus) SubResourceName() string

Jump to

Keyboard shortcuts

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