Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type InfraProvider
- type Proxy
- func (in *Proxy) DeepCopy() *Proxy
- func (in *Proxy) DeepCopyInto(out *Proxy)
- func (in *Proxy) DeepCopyObject() runtime.Object
- func (r *Proxy) Default()
- 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 ProxyListener
- type ProxyPhase
- type ProxyReplicaPhase
- type ProxyReplicaStatus
- type ProxySpec
- type ProxyStatus
Constants ¶
const ( ProxyFinalizer = "proxy.core.apoxy.dev/finalizer" // DefaultDrainTimeout is the default duration to drain connections before terminating the proxy. // +kubebuilder:validation:Format=duration DefaultDrainTimeout = 30 * time.Second )
const GroupName = "controllers.apoxy.dev"
GroupName specifies the group name used to register the objects.
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Deprecated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}
GroupVersion specifies the group and the version used to register the objects.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
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 Edge. InfraProviderCloud InfraProvider = "cloud" // InfraProviderKubernetes is the kubernetes provider. // This provider is used to deploy the proxy as a kubernetes pod. InfraProviderKubernetes InfraProvider = "kubernetes" // InfraProviderUnmanaged is the unmanaged provider. // This provider is used for proxies that are deployed by users themselves and // are not managed by Apoxy Control Plane. InfraProviderUnmanaged InfraProvider = "unmanaged" )
type Proxy ¶
type Proxy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ProxySpec `json:"spec,omitempty"`
Status ProxyStatus `json:"status,omitempty"`
}
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 ProxyListener ¶
type ProxyListener struct {
// Protocol is the protocol that the listener will accept traffic on.
Protocol gwapiv1.ProtocolType `json:"protocol"`
// Port is the port that the listener will accept traffic on.
Port gwapiv1.PortNumber `json:"port"`
}
ProxyListener defines a logical endpoint that the Proxy will receive traffic on.
func (*ProxyListener) DeepCopy ¶
func (in *ProxyListener) DeepCopy() *ProxyListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyListener.
func (*ProxyListener) DeepCopyInto ¶
func (in *ProxyListener) DeepCopyInto(out *ProxyListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyPhase ¶
type ProxyPhase string
const ( ProxyPhasePending ProxyPhase = "Pending" ProxyPhaseRunning ProxyPhase = "Running" ProxyPhaseTerminating ProxyPhase = "Terminating" ProxyPhaseStopped ProxyPhase = "Stopped" ProxyPhaseFailed ProxyPhase = "Failed" )
type ProxyReplicaPhase ¶
type ProxyReplicaPhase string
const ( ProxyReplicaPhasePending ProxyReplicaPhase = "Pending" ProxyReplicaPhaseRunning ProxyReplicaPhase = "Running" ProxyReplicaPhaseTerminating ProxyReplicaPhase = "Terminating" ProxyReplicaPhaseStopped ProxyReplicaPhase = "Stopped" ProxyReplicaPhaseFailed ProxyReplicaPhase = "Failed" )
type ProxyReplicaStatus ¶
type ProxyReplicaStatus struct {
// Name of the replica.
Name string `json:"name"`
// Creation time of the replica.
CreatedAt metav1.Time `json:"createdAt"`
// Location of the replica.
// Examples: "global", "europe", "us-west1", etc.
// +optional
Location string `json:"location"`
// Phase of the replica.
Phase ProxyReplicaPhase `json:"phase"`
// Reason for the current phase.
// +optional
Reason string `json:"reason,omitempty"`
}
ProxyReplicaStatus defines the status of a proxy replica. This is used to track the status of individual proxy replicas.
func (*ProxyReplicaStatus) DeepCopy ¶
func (in *ProxyReplicaStatus) DeepCopy() *ProxyReplicaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyReplicaStatus.
func (*ProxyReplicaStatus) DeepCopyInto ¶
func (in *ProxyReplicaStatus) DeepCopyInto(out *ProxyReplicaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxySpec ¶
type ProxySpec struct {
// Provider is the infrastructure provider where the proxy will be deployed.
// Defaults to "cloud" provider.
Provider InfraProvider `json:"provider,omitempty"`
// Locations is the list of locations where the proxy will be deployed:
// * cloud provider:
// - global: Deploy the proxy in the global network.
// - <region>: Deploy the proxy in the specified region (e.g "europe")
// - <pop>: Deploy the proxy in the specified point of presence.
// * kubernetes provider - The list of kubernetes clusters where the proxy will be deployed.
// * unmanaged provider - Ignored.
Locations []string `json:"locations,omitempty"`
// Listeners is the list of logical endpoints that the Proxy will receive traffic on.
// At least one listener MUST be specified.
// If used with Gateway API, the listeners here must be a superset of the listeners
// defined in the corresponding Gateway object.
Listeners []ProxyListener `json:"listeners"`
// How long to drain connections before terminating the proxy. Defaults to 30s.
// For HTTP/1 Envoy will send a connection: close header to the client, for HTTP/2
// Envoy will send a GOAWAY frame to the client.
// +optional
DrainTimeout *metav1.Duration `json:"drainTimeout,omitempty"`
// Config is the Starlark configuration for the proxy in the txtar format.
Config string `json:"config,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 {
// Phase of the proxy.
// Examples: "Pending", "Running", "Failed", etc.
Phase ProxyPhase `json:"phase,omitempty"`
// Reason for the current phase.
// +optional
Reason string `json:"reason,omitempty"`
// IPv4/v6 addresses of the proxy.
// +optional
IPs []string `json:"ips,omitempty"`
// Replicas are statuses of the individual proxy replicas.
Replicas []*ProxyReplicaStatus `json:"replicas,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