v1alpha1

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: May 21, 2026 License: MIT Imports: 5 Imported by: 17

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 accepts BPF filter expressions only (no flags).
	//
	// DEPRECATED and will be removed: Currently functional but scheduled for removal.
	// Use captureOption.pcapFilter for BPF expressions and captureOption boolean flags for tcpdump display options instead.
	// +optional
	// +kubebuilder:validation:MaxLength=1024
	// +kubebuilder:validation:Pattern="^[^-]*$"
	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"`

	// Interfaces specifies the network interfaces on which to capture packets.
	// If specified, captures only on the listed interfaces (e.g., ["eth0", "eth1"]).
	// If empty, captures on all interfaces by default.
	// Use this field to select specific interfaces, NOT the tcpdumpFilter field.
	// +optional
	Interfaces []string `json:"interfaces,omitempty"`

	// PcapFilter specifies a BPF filter expression for packet filtering (e.g., "tcp port 443", "host 10.0.0.1").
	// Only BPF expressions are allowed, no flags. See https://www.tcpdump.org/manpages/pcap-filter.7.html
	// +optional
	// +kubebuilder:validation:MaxLength=1024
	// +kubebuilder:validation:Pattern="^[^-]*$"
	PcapFilter *string `json:"pcapFilter,omitempty"`

	// NoPromiscuous disables promiscuous mode for packet capture.
	// When true, only packets destined for this host are captured (equivalent to tcpdump -p flag).
	// When false or unset, captures all packets on the network segment (default behavior).
	// +optional
	NoPromiscuous *bool `json:"noPromiscuous,omitempty"`

	// PacketBuffered enables packet-buffered output mode (equivalent to tcpdump -U flag).
	// When true, packets are written to output as soon as they're captured rather than being buffered.
	// Useful for real-time monitoring but may impact performance.
	// +optional
	PacketBuffered *bool `json:"packetBuffered,omitempty"`

	// ImmediateMode enables immediate mode for packet capture (equivalent to tcpdump --immediate-mode).
	// When true, packets are delivered to the application immediately rather than being buffered.
	// This can reduce latency but may increase CPU usage.
	// +optional
	ImmediateMode *bool `json:"immediateMode,omitempty"`

	// NoResolveDNS disables DNS resolution for captured addresses (equivalent to tcpdump -n flag).
	// When true, IP addresses are displayed numerically without resolving hostnames.
	// This speeds up capture processing and avoids DNS lookup overhead.
	// +optional
	NoResolveDNS *bool `json:"noResolveDNS,omitempty"`

	// NoResolvePort disables port name resolution (equivalent to tcpdump -nn flag).
	// When true, both IP addresses and port numbers are displayed numerically.
	// This prevents service name lookups for port numbers.
	// +optional
	NoResolvePort *bool `json:"noResolvePort,omitempty"`

	// Verbosity controls the verbosity level of packet capture output.
	// Valid values: "" (normal/default), "verbose" (tcpdump -v), "extra" (tcpdump -vv), "max" (tcpdump -vvv).
	// Empty string means normal verbosity with no extra verbose flags.
	// +optional
	// +kubebuilder:validation:Enum="";verbose;extra;max
	Verbosity *string `json:"verbosity,omitempty"`

	// PrintDataFormat controls how packet data is printed in the output.
	// Valid values: "" (none), "hex" (tcpdump -x), "hex-with-link" (tcpdump -xx), "ascii" (tcpdump -A), "ascii-with-link" (tcpdump -AA).
	// Empty string means no packet data printing.
	// +optional
	// +kubebuilder:validation:Enum="";hex;hex-with-link;ascii;ascii-with-link
	PrintDataFormat *string `json:"printDataFormat,omitempty"`

	// PrintLinkHeader prints link-level (Ethernet) headers (equivalent to tcpdump -e flag).
	// Shows MAC addresses and other link-layer information.
	// +optional
	PrintLinkHeader *bool `json:"printLinkHeader,omitempty"`

	// QuietOutput enables quiet/quick output mode (equivalent to tcpdump -q flag).
	// Prints less protocol information for shorter output lines.
	// +optional
	QuietOutput *bool `json:"quietOutput,omitempty"`

	// AbsoluteSeq prints absolute TCP sequence numbers (equivalent to tcpdump -S flag).
	// Shows actual sequence numbers instead of relative numbers.
	// +optional
	AbsoluteSeq *bool `json:"absoluteSeq,omitempty"`

	// TimestampFormat controls the timestamp format in packet capture output.
	// Valid values: "" (default), "none" (tcpdump -t), "unformatted" (tcpdump -tt), "delta" (tcpdump -ttt), "date" (tcpdump -tttt), "delta-since-first" (tcpdump -ttttt).
	// Empty string means default timestamp format.
	// +optional
	// +kubebuilder:validation:Enum="";none;unformatted;delta;date;delta-since-first
	TimestampFormat *string `json:"timestampFormat,omitempty"`

	// DontVerifyChecksum disables TCP checksum verification (equivalent to tcpdump -K flag).
	// Skips TCP checksum validation for captured packets.
	// +optional
	DontVerifyChecksum *bool `json:"dontVerifyChecksum,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"`
	// CleanUpAfterUpload indicates whether the capture jobs and associated resources
	// should be automatically cleaned up after a successful upload to remote storage
	// (BlobUpload or S3Upload). When set to true, completed capture jobs, secrets,
	// and the Capture resource itself will be deleted once all jobs have succeeded
	// and uploads are confirmed.
	// +optional
	// +kubebuilder:default=false
	CleanUpAfterUpload bool `json:"cleanUpAfterUpload,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"`

	// PodNames allows selecting specific pods by their names.
	// If specified, the capture will be performed on the pods with matching names in the specified namespace.
	// PodNames is incompatible with NodeSelector, NamespaceSelector, and PodSelector.
	// +optional
	PodNames []string `json:"podNames,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"`
	// TTL represents the time-to-live of the metrics collected
	// Metrics which have not been updated within the TTL will be removed from export
	// +optional
	TTL string `json:"ttl,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 is a relative subpath name (e.g. "my-capture") joined under the
	// operator-configured host base directory (default /var/log/retina/captures)
	// on every node that runs a capture pod. The capture files are written to
	// that joined directory, and an empty directory is created there if it does
	// not already exist.
	//
	// HostPath must be a relative subpath: absolute paths (e.g. "/tmp/foo",
	// "C:\\foo") and any value containing ".." segments are rejected by the
	// operator. CR authors cannot influence the base directory, which is
	// controlled by the cluster operator via the operator config.
	// +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