v1alpha

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2024 License: Apache-2.0 Imports: 8 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 (
	// DomainStyleApoxy is an Apoxy managed DNS provider.
	// The apoxydns.com nameservers will be configured.
	// Announcing nameservers will be set in the DomainStatus.
	// Users may choose to CNAME the provided hostnames to {hostname}.apoxydns.com.
	// For example, if the hostname is "foo.com", the user may CNAME "foo.com" to
	// "foo.com.apoxydns.com".
	// This is the default configuration.
	DomainStyleApoxy = "apoxy"
	// DomainStyleMagic is an Apoxy Cloud magic domain.
	// A subdomain on apoxy.io will be allocated and announced.
	DomainStyleMagic = "magic"
)
View Source
const (
	// DomainPhasePending is the pending phase of the domain.
	// This is the initial phase of the domain.
	DomainPhasePending = "Pending"
	// DomainPhaseAllocated is the allocated phase of the domain.
	// This is the phase of the domain when it is allocated a magic domain
	// if the style of this domain is DomainStyleMagic.
	DomainPhaseAllocated = "Allocated"
	// DomainPhaseAttached is the state of the domain when it is attached to
	// one or more addresses. If there are no addresses found, the domain
	// will be stuck in either the pending or allocated phase.
	DomainPhaseAttached = "Attached"
	// DomainPhaseError is the state of the domain when an unrecoverable
	// error has occured.
	DomainPhaseError = "Error"
)
View Source
const (
	AddressFinalizer = "address.core.apoxy.dev/finalizer"
)
View Source
const (
	DomainFinalizer = "domain.core.apoxy.dev/finalizer"
)
View Source
const (
	ProxyFinalizer = "proxy.core.apoxy.dev/finalizer"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "core.apoxy.dev", Version: "v1alpha"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	Scheme = runtime.NewScheme()
)
View Source
var AddToScheme = func(s *runtime.Scheme) error {
	metav1.AddToGroupVersion(s, GroupVersion)
	s.AddKnownTypes(GroupVersion,
		&Proxy{},
		&ProxyList{},
		&Address{},
		&AddressList{},
		&Domain{},
		&DomainList{},
	)
	return nil
}

Functions

This section is empty.

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 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"`
}

Domain is the Schema for the domains API.

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 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 DomainPhase

type DomainPhase string

DomainPhase is the phase of the domain.

type DomainSpec

type DomainSpec struct {
	// Selector is a label selector used to find healthy proxies for the domain.
	Selector metav1.LabelSelector `json:"selector"`

	// Style of the domain.
	// See style constants for more information.
	// Defaults to DomainStyleApoxy.
	// +optional
	Style DomainStyle `json:"style,omitempty"`

	// A list of hostnames.
	// +optional
	Hostnames []string `json:"hostnames,omitempty"`

	// The magic key that was allocated if this domain is DomainStyleMagic.
	// When the domain is DomainPhaseAttached, {magicKey}.apoxy.io will be available.
	// This is immutable and cannot be changed because it is allocated by the
	// Apoxy Cloud magic domain manager.
	// +optional
	MagicKey string `json:"magicKey,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"`

	// Status of the domain.
	// +optional
	Status string `json:"status,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 DomainStyle

type DomainStyle string

DomainStyle is the style of the domain.

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

Jump to

Keyboard shortcuts

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