v1alpha1

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: May 2, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the retina v1alpha1 API group +kubebuilder:object:generate=true +groupName=retina.sh

Index

Constants

View Source
const (
	StateInitialized string = "Initialized"
	StateAccepted    string = "Accepted"
	StateErrored     string = "Errored"
	StateWarning     string = "Warning"
)
View Source
const (
	AllPacketsCapture  string = "AllPackets"
	FirstPacketCapture string = "FirstPacket"
	PodToNode          string = "PodToNode"
	NodeToPod          string = "NodeToPod"
	NodeToNetwork      string = "NodeToNetwork"
	NetworkToNode      string = "NetworkToNode"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "retina.sh", Version: "v1alpha1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Capture

type Capture struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:Required
	Spec CaptureSpec `json:"spec"`
	// +optional
	Status CaptureStatus `json:"status,omitempty"`
}

Capture indicates the settings of a network trace.

func (*Capture) DeepCopy

func (in *Capture) DeepCopy() *Capture

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

func (*Capture) DeepCopyInto

func (in *Capture) DeepCopyInto(out *Capture)

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

func (*Capture) DeepCopyObject

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

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

type CaptureConditionType

type CaptureConditionType string
const (
	// CaptureComplete indicates the capture is completed.
	CaptureComplete CaptureConditionType = "complete"
	// CaptureError indicates the capture is errored.
	CaptureError CaptureConditionType = "error"
)

type CaptureConfiguration

type CaptureConfiguration struct {
	CaptureTarget CaptureTarget `json:"captureTarget"`
	// Filters represent a range of filters to be included/excluded in the capture.
	// +optional
	Filters *CaptureConfigurationFilters `json:"filters,omitempty"`

	// TcpdumpFilter is a raw tcpdump filter string.
	// +optional
	TcpdumpFilter *string `json:"tcpdumpFilter,omitempty"`

	// IncludeMetadata represents whether or not networking metadata should be captured.
	// Networking metadata will consists of the following info, but is expected to grow:
	// - IP address configuration
	// - IP neighbor status
	// - IPtables rule dumps
	// - Network statistics information
	// +optional
	// +kubebuilder:default=true
	IncludeMetadata bool `json:"includeMetadata"`

	// +optional
	CaptureOption CaptureOption `json:"captureOption,omitempty"`
}

CaptureConfiguration indicates the configurations of the network capture.

func (*CaptureConfiguration) DeepCopy

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

func (*CaptureConfiguration) DeepCopyInto

func (in *CaptureConfiguration) DeepCopyInto(out *CaptureConfiguration)

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

type CaptureConfigurationFilters

type CaptureConfigurationFilters struct {
	// Include specifies what IP or IP:port is included in the capture with wildcard support.
	// If a port not specified or is *, the port filter is excluded.
	// If an IP is specified as *, the host filter should be included.
	// Include and Exclude arguments will finally be translated into a logic like:
	// (include1 or include2) and not (exclude1 or exclude2)
	// +optional
	Include []string `json:"include,omitempty"`
	// Exclude specifies what IP or IP:port is excluded in the capture with wildcard support.
	// See Include for detailed explanation.
	// +optional
	Exclude []string `json:"exclude,omitempty"`
}

CaptureConfigurationFilters presents filters of capture.

func (*CaptureConfigurationFilters) DeepCopy

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

func (*CaptureConfigurationFilters) DeepCopyInto

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

type CaptureList

type CaptureList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// +listType=set
	Items []Capture `json:"items"`
}

CaptureList contains a list of Capture.

func (*CaptureList) DeepCopy

func (in *CaptureList) DeepCopy() *CaptureList

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

func (*CaptureList) DeepCopyInto

func (in *CaptureList) DeepCopyInto(out *CaptureList)

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

func (*CaptureList) DeepCopyObject

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

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

type CaptureOption

type CaptureOption struct {
	// Duration indicates length of time that the capture should continue for.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +optional
	Duration *metav1.Duration `json:"duration,omitempty"`

	// PacketSize limits the each packet to bytes in size and packets longer than PacketSize will be truncated.
	// +optional
	PacketSize *int `json:"packetSize,omitempty"`

	// MaxCaptureSize limits the capture file to MB in size.
	// +kubebuilder:default=100
	// +optional
	MaxCaptureSize *int `json:"maxCaptureSize,omitempty"`
}

CaptureOption lists the options of the capture.

func (*CaptureOption) DeepCopy

func (in *CaptureOption) DeepCopy() *CaptureOption

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

func (*CaptureOption) DeepCopyInto

func (in *CaptureOption) DeepCopyInto(out *CaptureOption)

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

type CaptureSpec

type CaptureSpec struct {
	// +kubebuilder:validation:Required
	CaptureConfiguration CaptureConfiguration `json:"captureConfiguration"`
	// +kubebuilder:validation:Required
	OutputConfiguration OutputConfiguration `json:"outputConfiguration,omitempty"`
}

CaptureSpec indicates the specification of Capture.

func (*CaptureSpec) DeepCopy

func (in *CaptureSpec) DeepCopy() *CaptureSpec

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

func (*CaptureSpec) DeepCopyInto

func (in *CaptureSpec) DeepCopyInto(out *CaptureSpec)

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

type CaptureStatus

type CaptureStatus struct {
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// Represents time when the Capture controller started processing a job.
	// +optional
	StartTime *metav1.Time `json:"startTime,omitempty" protobuf:"bytes,2,opt,name=startTime"`

	// Represents time when the Capture was completed, and it is determined by the last completed capture job.
	// The completion time is only set when the Capture finishes successfully.
	// +optional
	CompletionTime *metav1.Time `json:"completionTime,omitempty" protobuf:"bytes,3,opt,name=completionTime"`

	// The number of pending and running jobs.
	// +optional
	Active int32 `json:"active,omitempty" protobuf:"varint,4,opt,name=active"`

	// The number of completed jobs.
	// +optional
	Succeeded int32 `json:"succeeded,omitempty" protobuf:"varint,5,opt,name=succeeded"`

	// The number of failed jobs.
	// +optional
	Failed int32 `json:"failed,omitempty" protobuf:"varint,6,opt,name=failed"`
}

CaptureStatus describes the status of the capture.

func (*CaptureStatus) DeepCopy

func (in *CaptureStatus) DeepCopy() *CaptureStatus

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

func (*CaptureStatus) DeepCopyInto

func (in *CaptureStatus) DeepCopyInto(out *CaptureStatus)

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

type CaptureTarget

type CaptureTarget struct {
	// NodeSelector is a selector which select the node to capture network packets.
	// Selector which must match a node's labels.
	// NodeSelector is incompatible with NamespaceSelector/PodSelector pair.
	// +optional
	NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`

	// NamespaceSelector selects Namespaces using cluster-scoped labels. This field follows
	// standard label selector semantics.
	// NamespaceSelector and PodSelector pair selects a pod to capture pod network namespace traffic.
	// +optional
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`

	// This is a label selector which selects Pods. This field follows standard label
	// selector semantics.
	// +optional
	PodSelector *metav1.LabelSelector `json:"podSelector,omitempty"`
}

CaptureTarget indicates the target on which the network packets capture will be performed.

func (*CaptureTarget) DeepCopy

func (in *CaptureTarget) DeepCopy() *CaptureTarget

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

func (*CaptureTarget) DeepCopyInto

func (in *CaptureTarget) DeepCopyInto(out *CaptureTarget)

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

type Containers

type Containers struct {
	Name string `json:"name,omitempty"`
	ID   string `json:"id,omitempty"`
}

func (*Containers) DeepCopy

func (in *Containers) DeepCopy() *Containers

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

func (*Containers) DeepCopyInto

func (in *Containers) DeepCopyInto(out *Containers)

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

type IPBlock

type IPBlock struct {
	// +optional
	CIDR string `json:"cidr"`
	// +optional
	Except []string `json:"except"`
}

func (*IPBlock) DeepCopy

func (in *IPBlock) DeepCopy() *IPBlock

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

func (*IPBlock) DeepCopyInto

func (in *IPBlock) DeepCopyInto(out *IPBlock)

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

func (*IPBlock) Equal

func (ip *IPBlock) Equal(new *IPBlock) bool

func (*IPBlock) IsEmpty

func (ip *IPBlock) IsEmpty() bool

type MetricsConfiguration

type MetricsConfiguration struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec MetricsSpec `json:"spec"`
	// +optional
	Status MetricsStatus `json:"status,omitempty"`
}

MetricsConfiguration contains the specification for the retina plugin metrics

func (*MetricsConfiguration) DeepCopy

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

func (*MetricsConfiguration) DeepCopyInto

func (in *MetricsConfiguration) DeepCopyInto(out *MetricsConfiguration)

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

func (*MetricsConfiguration) DeepCopyObject

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

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

type MetricsConfigurationList

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

MetricsConfigurationList contains a list of MetricsConfiguration

func (*MetricsConfigurationList) DeepCopy

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

func (*MetricsConfigurationList) DeepCopyInto

func (in *MetricsConfigurationList) DeepCopyInto(out *MetricsConfigurationList)

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

func (*MetricsConfigurationList) DeepCopyObject

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

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

type MetricsContextOptions

type MetricsContextOptions struct {
	// MetricName indicates the name of the metric
	MetricName string `json:"metricName"`
	// SourceLabels represents the source context of the metrics collected
	// Such as IP, pod, port
	// +listType=set
	SourceLabels []string `json:"sourceLabels,omitempty"`
	// DestinationLabels represents the destination context of the metrics collected
	// Such as IP, pod, port, workload (deployment/replicaset/statefulset/daemonset)
	// +listType=set
	DestinationLabels []string `json:"destinationLabels,omitempty"`
	// AdditionalContext represents the additional context of the metrics collected
	// Such as Direction (ingress/egress)
	// +optional
	// +listType=set
	AdditionalLabels []string `json:"additionalLabels,omitempty"`
}

MetricsContextOptions indicates the configuration for retina plugin metrics

func (*MetricsContextOptions) DeepCopy

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

func (*MetricsContextOptions) DeepCopyInto

func (in *MetricsContextOptions) DeepCopyInto(out *MetricsContextOptions)

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

func (*MetricsContextOptions) IsAdvanced

func (m *MetricsContextOptions) IsAdvanced() bool

type MetricsNamespaces

type MetricsNamespaces struct {
	// +listType=set
	Include []string `json:"include,omitempty"`
	// +listType=set
	Exclude []string `json:"exclude,omitempty"`
}

MetricsNamespaces indicates the namespaces to include or exclude in metric collection

func (*MetricsNamespaces) DeepCopy

func (in *MetricsNamespaces) DeepCopy() *MetricsNamespaces

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

func (*MetricsNamespaces) DeepCopyInto

func (in *MetricsNamespaces) DeepCopyInto(out *MetricsNamespaces)

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

type MetricsSpec

type MetricsSpec struct {
	ContextOptions []MetricsContextOptions `json:"contextOptions"`
	Namespaces     MetricsNamespaces       `json:"namespaces"`
}

Specification of the desired behavior of the RetinaMetrics. Can be omitted because this is for advanced metrics.

func (*MetricsSpec) DeepCopy

func (in *MetricsSpec) DeepCopy() *MetricsSpec

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

func (*MetricsSpec) DeepCopyInto

func (in *MetricsSpec) DeepCopyInto(out *MetricsSpec)

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

func (*MetricsSpec) Equals

func (m *MetricsSpec) Equals(other *MetricsSpec) bool

func (*MetricsSpec) WithIncludedNamespaces

func (m *MetricsSpec) WithIncludedNamespaces(namespaces []string) *MetricsSpec

func (*MetricsSpec) WithMetricsContextOptions

func (m *MetricsSpec) WithMetricsContextOptions(metrics, srcLabels, dstLabels []string) *MetricsSpec

type MetricsStatus

type MetricsStatus struct {
	// +kubebuilder:validation:Enum=Initialized;Accepted;Errored;Warning
	// +kubebuilder:default:="Initialized"
	State         string       `json:"state"`
	Reason        string       `json:"reason"`
	LastKnownSpec *MetricsSpec `json:"lastKnownSpec,omitempty"`
}

func (*MetricsStatus) DeepCopy

func (in *MetricsStatus) DeepCopy() *MetricsStatus

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

func (*MetricsStatus) DeepCopyInto

func (in *MetricsStatus) DeepCopyInto(out *MetricsStatus)

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

type OutputConfiguration

type OutputConfiguration struct {
	// HostPath stores the capture files into the specified host filesystem.
	// If nothing exists at the given path of the host, an empty directory will be created there.
	// +optional
	HostPath *string `json:"hostPath,omitempty"`
	// PersistentVolumeClaim mounts the supplied PVC into the pod on `/capture` and write the capture files there.
	// +optional
	PersistentVolumeClaim *string `json:"persistentVolumeClaim,omitempty"`
	// BlobUpload is a secret containing the blob SAS URL to the given blob container.
	// +optional
	BlobUpload *string `json:"blobUpload,omitempty"`
	// S3Upload configures the details for uploading capture files to an S3-compatible storage service.
	// +optional
	S3Upload *S3Upload `json:"s3Upload,omitempty"`
}

OutputConfiguration indicates the location capture will be stored.

func (*OutputConfiguration) DeepCopy

func (in *OutputConfiguration) DeepCopy() *OutputConfiguration

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

func (*OutputConfiguration) DeepCopyInto

func (in *OutputConfiguration) DeepCopyInto(out *OutputConfiguration)

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

type OwnerReference

type OwnerReference struct {
	APIVersion string `json:"apiVersion,omitempty"`
	Kind       string `json:"kind,omitempty"`
	Name       string `json:"name,omitempty"`
}

func (*OwnerReference) DeepCopy

func (in *OwnerReference) DeepCopy() *OwnerReference

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

func (*OwnerReference) DeepCopyInto

func (in *OwnerReference) DeepCopyInto(out *OwnerReference)

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

type RetinaEndpoint

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

	Spec   RetinaEndpointSpec   `json:"spec,omitempty"`
	Status RetinaEndpointStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=ke +kubebuilder:printcolumn:name="Pod IP",type=string,priority=0,JSONPath=`.spec.podIP` +kubebuilder:printcolumn:name="Referenced By",type=string,priority=1,JSONPath=`.spec.ownerReferences` RetinaEndpoint is the Schema for the retinaendpoints API

func (*RetinaEndpoint) DeepCopy

func (in *RetinaEndpoint) DeepCopy() *RetinaEndpoint

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

func (*RetinaEndpoint) DeepCopyInto

func (in *RetinaEndpoint) DeepCopyInto(out *RetinaEndpoint)

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

func (*RetinaEndpoint) DeepCopyObject

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

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

type RetinaEndpointList

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

RetinaEndpointList contains a list of RetinaEndpoint

func (*RetinaEndpointList) DeepCopy

func (in *RetinaEndpointList) DeepCopy() *RetinaEndpointList

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

func (*RetinaEndpointList) DeepCopyInto

func (in *RetinaEndpointList) DeepCopyInto(out *RetinaEndpointList)

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

func (*RetinaEndpointList) DeepCopyObject

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

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

type RetinaEndpointSpec

type RetinaEndpointSpec struct {
	Containers      []RetinaEndpointStatusContainers `json:"containers,omitempty"`
	OwnerReferences []OwnerReference                 `json:"ownerReferences,omitempty"`
	NodeIP          string                           `json:"nodeIP,omitempty"`
	PodIP           string                           `json:"podIP,omitempty"`
	PodIPs          []string                         `json:"podIPs,omitempty"`
	Labels          map[string]string                `json:"labels,omitempty"`
	Annotations     map[string]string                `json:"annotations,omitempty"`
}

RetinaEndpointSpec defines the desired state of RetinaEndpoint

func (*RetinaEndpointSpec) DeepCopy

func (in *RetinaEndpointSpec) DeepCopy() *RetinaEndpointSpec

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

func (*RetinaEndpointSpec) DeepCopyInto

func (in *RetinaEndpointSpec) DeepCopyInto(out *RetinaEndpointSpec)

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

type RetinaEndpointStatus

type RetinaEndpointStatus struct{}

RetinaEndpointStatus defines the observed state of RetinaEndpoint

func (*RetinaEndpointStatus) DeepCopy

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

func (*RetinaEndpointStatus) DeepCopyInto

func (in *RetinaEndpointStatus) DeepCopyInto(out *RetinaEndpointStatus)

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

type RetinaEndpointStatusContainers

type RetinaEndpointStatusContainers struct {
	Name string `json:"name,omitempty"`
	ID   string `json:"id,omitempty"`
}

func (*RetinaEndpointStatusContainers) DeepCopy

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

func (*RetinaEndpointStatusContainers) DeepCopyInto

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

type S3Upload added in v0.0.10

type S3Upload struct {
	// Endpoint of S3 compatible storage service.
	// +optional
	Endpoint string `json:"endpoint,omitempty"`
	// Bucket in which to store the capture.
	// +required
	Bucket string `json:"bucket,omitempty"`
	// SecretName is the name of secret which stores S3 compliant storage access key and secret key.
	// +required
	SecretName string `json:"secretName,omitempty"`
	// Region in which the S3 compatible bucket is located.
	// +optional
	Region string `json:"region,omitempty"`
	// Path specifies the prefix path within the S3 bucket where captures will be stored, e.g., "retina/captures".
	// +optional
	Path string `json:"path,omitempty"`
}

func (*S3Upload) DeepCopy added in v0.0.10

func (in *S3Upload) DeepCopy() *S3Upload

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

func (*S3Upload) DeepCopyInto added in v0.0.10

func (in *S3Upload) DeepCopyInto(out *S3Upload)

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

type TraceConfiguration

type TraceConfiguration struct {
	// +kubebuilder:validation:Enum=AllPackets;FirstPacket
	TraceCaptureLevel string          `json:"captureLevel"`
	IncludeLayer7Data bool            `json:"includeLayer7Data"`
	TraceTargets      []*TraceTargets `json:"traceTargets"`
}

TraceConfiguration indicates the configuration for retina traces

func (*TraceConfiguration) DeepCopy

func (in *TraceConfiguration) DeepCopy() *TraceConfiguration

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

func (*TraceConfiguration) DeepCopyInto

func (in *TraceConfiguration) DeepCopyInto(out *TraceConfiguration)

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

func (*TraceConfiguration) Equal

func (tc *TraceConfiguration) Equal(new *TraceConfiguration) bool

type TraceOutputConfiguration

type TraceOutputConfiguration struct {
	// +kubebuilder:validation:Enum=stdout;azuretable;loganalytics;opentelemetry
	TraceOutputDestination  string `json:"destination"`
	ConnectionConfiguration string `json:"connectionConfiguration"`
}

TraceOutputConfiguration indicates the configuration for retina traces outputs

func (*TraceOutputConfiguration) DeepCopy

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

func (*TraceOutputConfiguration) DeepCopyInto

func (in *TraceOutputConfiguration) DeepCopyInto(out *TraceOutputConfiguration)

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

type TracePoints

type TracePoints []string

func (TracePoints) DeepCopy

func (in TracePoints) DeepCopy() TracePoints

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

func (TracePoints) DeepCopyInto

func (in TracePoints) DeepCopyInto(out *TracePoints)

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

type TracePorts

type TracePorts struct {
	// +kubebuilder:validation:XIntOrString
	Port string `json:"port"`
	// +kubebuilder:default=TCP
	Protocol string `json:"protocol"`
	// +optional
	// +kubebuilder:validation:XIntOrString
	EndPort string `json:"endPort"`
}

func (*TracePorts) DeepCopy

func (in *TracePorts) DeepCopy() *TracePorts

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

func (*TracePorts) DeepCopyInto

func (in *TracePorts) DeepCopyInto(out *TracePorts)

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

func (*TracePorts) Equal

func (tp *TracePorts) Equal(new *TracePorts) bool

type TraceTarget

type TraceTarget struct {
	// +optional
	IPBlock IPBlock `json:"ipBlock"`
	// +optional
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector"`
	// +optional
	PodSelector *metav1.LabelSelector `json:"podSelector"`
	// +optional
	NodeSelector *metav1.LabelSelector `json:"nodeSelector"`
	// +optional
	ServiceSelector *metav1.LabelSelector `json:"serviceSelector"`
}

func (*TraceTarget) DeepCopy

func (in *TraceTarget) DeepCopy() *TraceTarget

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

func (*TraceTarget) DeepCopyInto

func (in *TraceTarget) DeepCopyInto(out *TraceTarget)

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

func (*TraceTarget) Equal

func (tt *TraceTarget) Equal(new *TraceTarget) bool

type TraceTargets

type TraceTargets struct {
	// +optional
	Source *TraceTarget `json:"from"`
	// +optional
	Destination *TraceTarget `json:"to"`
	// +optional
	Ports []*TracePorts `json:"ports"`
	// +optional
	TracePoints TracePoints `json:"tracePoints"`
}

func (*TraceTargets) DeepCopy

func (in *TraceTargets) DeepCopy() *TraceTargets

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

func (*TraceTargets) DeepCopyInto

func (in *TraceTargets) DeepCopyInto(out *TraceTargets)

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

func (*TraceTargets) Equal

func (tt *TraceTargets) Equal(new *TraceTargets) bool

type TracesConfiguration

type TracesConfiguration struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec *TracesSpec `json:"spec"`

	Status *TracesStatus `json:"status,omitempty"`
}

TracesConfiguration contains the specification for the retina plugin Traces

func (*TracesConfiguration) DeepCopy

func (in *TracesConfiguration) DeepCopy() *TracesConfiguration

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

func (*TracesConfiguration) DeepCopyInto

func (in *TracesConfiguration) DeepCopyInto(out *TracesConfiguration)

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

func (*TracesConfiguration) DeepCopyObject

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

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

type TracesConfigurationList

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

TracesConfigurationList contains a list of TracesConfigurationList

func (*TracesConfigurationList) DeepCopy

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

func (*TracesConfigurationList) DeepCopyInto

func (in *TracesConfigurationList) DeepCopyInto(out *TracesConfigurationList)

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

func (*TracesConfigurationList) DeepCopyObject

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

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

type TracesSpec

type TracesSpec struct {
	TraceConfiguration       []*TraceConfiguration     `json:"traceConfiguration"`
	TraceOutputConfiguration *TraceOutputConfiguration `json:"outputConfiguration"`
}

Specification of the desired behavior of the RetinaTraces. Can be omitted because this is for advanced Traces.

func (*TracesSpec) DeepCopy

func (in *TracesSpec) DeepCopy() *TracesSpec

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

func (*TracesSpec) DeepCopyInto

func (in *TracesSpec) DeepCopyInto(out *TracesSpec)

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

type TracesStatus

type TracesStatus struct {
	// +kubebuilder:validation:Enum=Initialized;Accepted;Errored;Warning
	// +kubebuilder:default:="Initialized"
	State         string      `json:"state"`
	Reason        string      `json:"reason"`
	LastKnownSpec *TracesSpec `json:"lastKnownSpec"`
}

func (*TracesStatus) DeepCopy

func (in *TracesStatus) DeepCopy() *TracesStatus

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

func (*TracesStatus) DeepCopyInto

func (in *TracesStatus) DeepCopyInto(out *TracesStatus)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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