Documentation ¶
Overview ¶
Package v1alpha contains API Schema definitions for the core v1alpha API group
Index ¶
- Constants
- Variables
- type AccessLog
- type Address
- func (in *Address) DeepCopy() *Address
- func (in *Address) DeepCopyInto(out *Address)
- func (in *Address) DeepCopyObject() runtime.Object
- func (a *Address) GetGroupVersionResource() schema.GroupVersionResource
- func (a *Address) GetObjectMeta() *metav1.ObjectMeta
- func (a *Address) GetSingularName() string
- func (a *Address) GetStatus() resource.StatusSubResource
- func (a *Address) IsStorageVersion() bool
- func (a *Address) NamespaceScoped() bool
- func (a *Address) New() runtime.Object
- func (a *Address) NewList() runtime.Object
- type AddressList
- type AddressPhase
- type AddressSpec
- type AddressStatus
- type DeletePolicy
- type Domain
- func (in *Domain) DeepCopy() *Domain
- func (in *Domain) DeepCopyInto(out *Domain)
- func (in *Domain) DeepCopyObject() runtime.Object
- func (a *Domain) GetGroupVersionResource() schema.GroupVersionResource
- func (a *Domain) GetObjectMeta() *metav1.ObjectMeta
- func (a *Domain) GetSingularName() string
- func (a *Domain) GetStatus() resource.StatusSubResource
- func (a *Domain) IsStorageVersion() bool
- func (a *Domain) NamespaceScoped() bool
- func (a *Domain) New() runtime.Object
- func (a *Domain) NewList() runtime.Object
- type DomainList
- type DomainPhase
- type DomainSpec
- type DomainStatus
- type DomainStyle
- type FileAccessLog
- type InfraProvider
- type Proxy
- func (in *Proxy) DeepCopy() *Proxy
- func (in *Proxy) DeepCopyInto(out *Proxy)
- func (in *Proxy) DeepCopyObject() runtime.Object
- func (p *Proxy) GetGroupVersionResource() schema.GroupVersionResource
- func (p *Proxy) GetObjectMeta() *metav1.ObjectMeta
- func (p *Proxy) GetSingularName() string
- func (p *Proxy) GetStatus() resource.StatusSubResource
- func (p *Proxy) IsStorageVersion() bool
- func (p *Proxy) NamespaceScoped() bool
- func (p *Proxy) New() runtime.Object
- func (p *Proxy) NewList() runtime.Object
- type ProxyList
- type ProxyPhase
- type ProxySpec
- type ProxyStatus
- type ProxyType
Constants ¶
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" )
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" )
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" )
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" )
const (
AddressFinalizer = "address.core.apoxy.dev/finalizer"
)
const (
DomainFinalizer = "domain.core.apoxy.dev/finalizer"
)
const (
ProxyFinalizer = "proxy.core.apoxy.dev/finalizer"
)
Variables ¶
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() )
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLog.
func (*AccessLog) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Address.
func (*Address) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Address) DeepCopyObject ¶
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 (*Address) GetStatus ¶
func (a *Address) GetStatus() resource.StatusSubResource
func (*Address) IsStorageVersion ¶
func (*Address) NamespaceScoped ¶
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 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 (as *AddressStatus) CopyTo(parent resource.ObjectWithStatusSubResource)
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Domain.
func (*Domain) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Domain) DeepCopyObject ¶
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 (*Domain) GetStatus ¶
func (a *Domain) GetStatus() resource.StatusSubResource
func (*Domain) IsStorageVersion ¶
func (*Domain) NamespaceScoped ¶
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 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 (as *DomainStatus) CopyTo(parent resource.ObjectWithStatusSubResource)
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Proxy.
func (*Proxy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Proxy) DeepCopyObject ¶
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 (*Proxy) GetStatus ¶
func (p *Proxy) GetStatus() resource.StatusSubResource
func (*Proxy) IsStorageVersion ¶
func (*Proxy) NamespaceScoped ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyList.
func (*ProxyList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxyList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ProxyList) GetListMeta ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySpec.
func (*ProxySpec) DeepCopyInto ¶
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 (ps *ProxyStatus) CopyTo(parent resource.ObjectWithStatusSubResource)
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