Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type APIKey
- type InfraProvider
- type OpenTelemetrySink
- 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 ProxyAccessLogs
- type ProxyContentLogs
- type ProxyList
- type ProxyListener
- type ProxyMonitoring
- type ProxyPhase
- type ProxyReplicaPhase
- type ProxyReplicaStatus
- type ProxySpec
- type ProxyStatus
- type ProxyTracing
- type ProxyTracingTagValue
- type ThirdPartySinks
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 APIKey ¶ added in v0.8.4
type APIKey struct {
// Key is the API key.
Key string `json:"key,omitempty"`
// KeyData is the base64 encoded API key.
KeyData []byte `json:"keyData,omitempty"`
}
func (*APIKey) DeepCopy ¶ added in v0.8.5
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIKey.
func (*APIKey) DeepCopyInto ¶ added in v0.8.5
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 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 OpenTelemetrySink ¶ added in v0.8.4
type OpenTelemetrySink struct {
// OTLP Endpoint to send the traces to.
Endpoint string `json:"endpoint"`
// Headers to send with the request
// +optional
Headers map[string]string `json:"headers,omitempty"`
// Compression setting
// +optional
Compression string `json:"compression,omitempty"`
}
OpenTelemetrySink defines the OpenTelemetry sink. This uses oltphttp
func (*OpenTelemetrySink) DeepCopy ¶ added in v0.8.5
func (in *OpenTelemetrySink) DeepCopy() *OpenTelemetrySink
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetrySink.
func (*OpenTelemetrySink) DeepCopyInto ¶ added in v0.8.5
func (in *OpenTelemetrySink) DeepCopyInto(out *OpenTelemetrySink)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ProxyAccessLogs ¶ added in v0.8.3
type ProxyAccessLogs struct {
// If set, additional fields to add to the default Envoy access logs.
// Envoy [command operators](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators)
// can be used as values for fields. Note that attempting to override
// default fields will not have any effect.
JSON map[string]string `json:"json,omitempty"`
}
func (*ProxyAccessLogs) DeepCopy ¶ added in v0.8.3
func (in *ProxyAccessLogs) DeepCopy() *ProxyAccessLogs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyAccessLogs.
func (*ProxyAccessLogs) DeepCopyInto ¶ added in v0.8.3
func (in *ProxyAccessLogs) DeepCopyInto(out *ProxyAccessLogs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyContentLogs ¶ added in v0.8.3
type ProxyContentLogs struct {
// Enable request body content logging.
RequestBodyEnabled bool `json:"requestBodyEnabled"`
// Enable response body content logging.
ResponseBodyEnabled bool `json:"responseBodyEnabled"`
}
func (*ProxyContentLogs) DeepCopy ¶ added in v0.8.3
func (in *ProxyContentLogs) DeepCopy() *ProxyContentLogs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyContentLogs.
func (*ProxyContentLogs) DeepCopyInto ¶ added in v0.8.3
func (in *ProxyContentLogs) DeepCopyInto(out *ProxyContentLogs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ProxyMonitoring ¶ added in v0.8.3
type ProxyMonitoring struct {
// AccessLogs configures how access logs are handled.
// Note that access logs cannot be disabled.
AccessLogs *ProxyAccessLogs `json:"accessLogs,omitempty"`
// ContentLogs configures how request and response body content are handled.
// Also refered to as Taps in Envoy. Disabled by default.
ContentLogs *ProxyContentLogs `json:"contentLogs,omitempty"`
// Tracing configures how tracing is handled.
// Disabled by default.
Tracing *ProxyTracing `json:"tracing,omitempty"`
// Custom OpenTelemetry collector configuration.
// Only supported for unmanaged proxies.
// This must be a ConfigMap or a Secret in the same namespace as Backplane.
OtelCollectorConfig *corev1.LocalObjectReference `json:"otelCollectorConfig,omitempty"`
// For enabling third party integrations.
// This is only supported for cloud proxies.
ThirdPartySinks *ThirdPartySinks `json:"thirdPartySinks,omitempty"`
}
ProxyMonitoring defines the monitoring configuration for a Proxy.
func (*ProxyMonitoring) DeepCopy ¶ added in v0.8.3
func (in *ProxyMonitoring) DeepCopy() *ProxyMonitoring
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyMonitoring.
func (*ProxyMonitoring) DeepCopyInto ¶ added in v0.8.3
func (in *ProxyMonitoring) DeepCopyInto(out *ProxyMonitoring)
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"`
// 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"`
// Monitoring is the monitoring configuration for the proxy.
// +optional
Monitoring *ProxyMonitoring `json:"monitoring,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
type ProxyTracing ¶ added in v0.8.3
type ProxyTracing struct {
// Enable tracing.
Enabled bool `json:"enabled"`
// Additional tags to populate on the traces.
Tags map[string]ProxyTracingTagValue `json:"tags,omitempty"`
}
func (*ProxyTracing) DeepCopy ¶ added in v0.8.3
func (in *ProxyTracing) DeepCopy() *ProxyTracing
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTracing.
func (*ProxyTracing) DeepCopyInto ¶ added in v0.8.3
func (in *ProxyTracing) DeepCopyInto(out *ProxyTracing)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyTracingTagValue ¶ added in v0.8.3
type ProxyTracingTagValue struct {
// Value is a string value for the tag.
// This may be set with a Header as a fallback/default value.
Value string `json:"value"`
// Header is a request header who's value should be set as this tag's value.
Header string `json:"header"`
}
ProxyTracingTagValue defines a tag value to populate on the traces.
func (*ProxyTracingTagValue) DeepCopy ¶ added in v0.8.3
func (in *ProxyTracingTagValue) DeepCopy() *ProxyTracingTagValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTracingTagValue.
func (*ProxyTracingTagValue) DeepCopyInto ¶ added in v0.8.3
func (in *ProxyTracingTagValue) DeepCopyInto(out *ProxyTracingTagValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ThirdPartySinks ¶ added in v0.8.4
type ThirdPartySinks struct {
// AxiomLogs is the API key for Axiom logs.
AxiomLogs *APIKey `json:"axiomLogs,omitempty"`
// AxiomTraces is the API key for Axiom traces.
AxiomTraces *APIKey `json:"axiomTraces,omitempty"`
// DatadogLogs is the API key for Datadog logs.
DatadogLogs *APIKey `json:"datadogLogs,omitempty"`
// DatadogTraces is the API key for Datadog traces.
DatadogTraces *APIKey `json:"datadogTraces,omitempty"`
// OpenTelemetrySink is the OpenTelemetry sink.
OpenTelemetrySinks []OpenTelemetrySink `json:"openTelemetrySinks,omitempty"`
}
func (*ThirdPartySinks) DeepCopy ¶ added in v0.8.5
func (in *ThirdPartySinks) DeepCopy() *ThirdPartySinks
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThirdPartySinks.
func (*ThirdPartySinks) DeepCopyInto ¶ added in v0.8.5
func (in *ThirdPartySinks) DeepCopyInto(out *ThirdPartySinks)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.