v1alpha1

package
v0.0.0-...-96a12d9 Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2024 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Overview

+k8s:deepcopy-gen=package,register +groupName=cilium.io

Index

Constants

View Source
const (
	CRDVersion = "v1alpha1"

	// TPCRDName is the full name of the TracingPolicy CRD.
	TPCRDName = TPKindDefinition + "/" + CRDVersion

	// TPNamespacedCRDName is the full name of the TracingPolicy CRD.
	TPNamespacedCRDName = TPNamespacedKindDefinition + "/" + CRDVersion

	// PICRDName is the full name of the Tetragon Pod Info CRD.
	PICRDName = PIKindDefinition + "/" + CRDVersion
)
View Source
const (

	// TPPluralName is the plural name of Cilium Tracing Policy
	TPPluralName = "tracingpolicies"

	// TPKindDefinition is the kind name of Cilium Tracing Policy
	TPKindDefinition = "TracingPolicy"

	// TPName is the full name of Cilium Egress NAT Policy
	TPName = TPPluralName + "." + ciliumio.GroupName

	// TPNamespacedPluralName is the plural name of Cilium Tracing Policy
	TPNamespacedPluralName = "tracingpoliciesnamespaced"

	// TPNamespacedName
	TPNamespacedName = TPNamespacedPluralName + "." + ciliumio.GroupName

	// TPKindDefinition is the kind name of Cilium Tracing Policy
	TPNamespacedKindDefinition = "TracingPolicyNamespaced"
)
View Source
const (

	// PIPluralName is the plural name of Tetragon Pod Info
	PIPluralName = "podinfo"

	// PIKindDefinition is the Kind name of the Tetragon Pod Info
	PIKindDefinition = "PodInfo"

	// PIName is the full name of the Tetragon Pod Info
	PIName = PIPluralName + "." + ciliumio.GroupName
)
View Source
const CustomResourceDefinitionSchemaVersion = "1.2.0"

CustomResourceDefinitionSchemaVersion is semver-conformant version of CRD schema Used to determine if CRD needs to be updated in cluster

Developers: Bump patch for each change in the CRD schema.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: ciliumio.GroupName, Version: CRDVersion}

SchemeGroupVersion is group version used to register these objects

Functions

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ActionSelector

type ActionSelector struct {
	// +kubebuilder:validation:Enum=Post;FollowFD;UnfollowFD;Sigkill;CopyFD;Override;GetUrl;DnsLookup;NoPost;Signal;TrackSock;UntrackSock;NotifyEnforcer
	// Action to execute.
	Action string `json:"action"`
	// +kubebuilder:validation:Optional
	// An arg index for the fd for fdInstall action
	ArgFd uint32 `json:"argFd"`
	// +kubebuilder:validation:Optional
	// An arg index for the filename for fdInstall action
	ArgName uint32 `json:"argName"`
	// +kubebuilder:validation:Optional
	// A URL for the getUrl action
	ArgUrl string `json:"argUrl"`
	// +kubebuilder:validation:Optional
	// A FQDN to lookup for the dnsLookup action
	ArgFqdn string `json:"argFqdn"`
	// +kubebuilder:validation:Optional
	// error value for override action
	ArgError int32 `json:"argError"`
	// +kubebuilder:validation:Optional
	// A signal number for signal action
	ArgSig uint32 `json:"argSig"`
	// +kubebuilder:validation:Optional
	// An arg index for the sock for trackSock and untrackSock actions
	ArgSock uint32 `json:"argSock"`
	// +kubebuilder:validation:Optional
	// A time period within which repeated messages will not be posted. Can be
	// specified in seconds (default or with 's' suffix), minutes ('m' suffix)
	// or hours ('h' suffix). Only valid with the post action.
	RateLimit string `json:"rateLimit"`
	// +kubebuilder:validation:Optional
	// The scope of the provided rate limit argument. Can be "thread" (default),
	// "process" (all threads for the same process), or "global". If "thread" is
	// selected then rate limiting applies per thread; if "process" is selected
	// then rate limiting applies per process; if "global" is selected then rate
	// limiting applies regardless of which process or thread caused the action.
	// Only valid with the post action and with a rateLimit specified.
	RateLimitScope string `json:"rateLimitScope"`
	// +kubebuilder:validation:Optional
	// Enable kernel stack trace export. Only valid with the post action.
	KernelStackTrace bool `json:"kernelStackTrace"`
	// +kubebuilder:validation:Optional
	// Enable user stack trace export. Only valid with the post action.
	UserStackTrace bool `json:"userStackTrace"`
}

func (*ActionSelector) DeepCopy

func (in *ActionSelector) DeepCopy() *ActionSelector

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

func (*ActionSelector) DeepCopyInto

func (in *ActionSelector) DeepCopyInto(out *ActionSelector)

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

type ArgSelector

type ArgSelector struct {
	// +kubebuilder:validation:Minimum=0
	// Position of the argument to apply fhe filter to.
	Index uint32 `json:"index"`
	// +kubebuilder:validation:Enum=Equal;NotEqual;Prefix;NotPrefix;Postfix;NotPostfix;GreaterThan;LessThan;GT;LT;Mask;SPort;NotSPort;SPortPriv;NotSportPriv;DPort;NotDPort;DPortPriv;NotDPortPriv;SAddr;NotSAddr;DAddr;NotDAddr;Protocol;Family;State;InMap;NotInMap
	// Filter operation.
	Operator string `json:"operator"`
	// Value to compare the argument against.
	Values []string `json:"values,omitempty"`
}

func (*ArgSelector) DeepCopy

func (in *ArgSelector) DeepCopy() *ArgSelector

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

func (*ArgSelector) DeepCopyInto

func (in *ArgSelector) DeepCopyInto(out *ArgSelector)

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

type BinarySelector

type BinarySelector struct {
	// +kubebuilder:validation:Enum=In;NotIn;Prefix;NotPrefix
	// Filter operation.
	Operator string `json:"operator"`
	// Value to compare the argument against.
	Values []string `json:"values"`
}

func (*BinarySelector) DeepCopy

func (in *BinarySelector) DeepCopy() *BinarySelector

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

func (*BinarySelector) DeepCopyInto

func (in *BinarySelector) DeepCopyInto(out *BinarySelector)

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

type CapabilitiesSelector

type CapabilitiesSelector struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=Effective;Inheritable;Permitted
	// +kubebuilder:default=Effective
	// Type of capabilities
	Type string `json:"type"`
	// +kubebuilder:validation:Enum=In;NotIn
	// Namespace selector operator.
	Operator string `json:"operator"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Indicates whether these caps are namespace caps.
	IsNamespaceCapability bool `json:"isNamespaceCapability"`
	// Capabilities to match.
	Values []string `json:"values"`
}

func (*CapabilitiesSelector) DeepCopy

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

func (*CapabilitiesSelector) DeepCopyInto

func (in *CapabilitiesSelector) DeepCopyInto(out *CapabilitiesSelector)

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

type EnforcerSpec

type EnforcerSpec struct {
	// Calls where enforcer is executed in
	Calls []string `json:"calls"`
}

func (*EnforcerSpec) DeepCopy

func (in *EnforcerSpec) DeepCopy() *EnforcerSpec

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

func (*EnforcerSpec) DeepCopyInto

func (in *EnforcerSpec) DeepCopyInto(out *EnforcerSpec)

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

type KProbeArg

type KProbeArg struct {
	// +kubebuilder:validation:Minimum=0
	// Position of the argument.
	Index uint32 `json:"index"`
	// +kubebuilder:validation:Enum=auto;int;int8;uint8;int16;uint16;uint32;int32;uint64;int64;char_buf;char_iovec;size_t;skb;sock;string;fd;file;filename;path;nop;bpf_attr;perf_event;bpf_map;user_namespace;capability;kiocb;iov_iter;cred;load_info;module;syscall64;kernel_cap_t;cap_inheritable;cap_permitted;cap_effective;linux_binprm;data_loc;net_device
	// +kubebuilder:default=auto
	// Argument type.
	Type string `json:"type"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// Specifies the position of the corresponding size argument for this argument.
	// This field is used only for char_buf and char_iovec types.
	SizeArgIndex uint32 `json:"sizeArgIndex"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// This field is used only for char_buf and char_iovec types. It indicates
	// that this argument should be read later (when the kretprobe for the
	// symbol is triggered) because it might not be populated when the kprobe
	// is triggered at the entrance of the function. For example, a buffer
	// supplied to read(2) won't have content until kretprobe is triggered.
	ReturnCopy bool `json:"returnCopy"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Read maximum possible data (currently 327360). This field is only used
	// for char_buff data. When this value is false (default), the bpf program
	// will fetch at most 4096 bytes. In later kernels (>=5.4) tetragon
	// supports fetching up to 327360 bytes if this flag is turned on
	MaxData bool `json:"maxData"`
	// +kubebuilder:validation:Optional
	// Label to output in the JSON
	Label string `json:"label"`
}

func (*KProbeArg) DeepCopy

func (in *KProbeArg) DeepCopy() *KProbeArg

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

func (*KProbeArg) DeepCopyInto

func (in *KProbeArg) DeepCopyInto(out *KProbeArg)

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

type KProbeSelector

type KProbeSelector struct {
	// +kubebuilder:validation:Optional
	// A list of process ID filters. MatchPIDs are ANDed.
	MatchPIDs []PIDSelector `json:"matchPIDs,omitempty"`
	// +kubebuilder:validation:Optional
	// A list of argument filters. MatchArgs are ANDed.
	MatchArgs []ArgSelector `json:"matchArgs,omitempty"`
	// +kubebuilder:validation:Optional
	// A list of actions to execute when this selector matches
	MatchActions []ActionSelector `json:"matchActions,omitempty"`
	// +kubebuilder:validation:Optional
	// A list of argument filters. MatchArgs are ANDed.
	MatchReturnArgs []ArgSelector `json:"matchReturnArgs,omitempty"`
	// +kubebuilder:validation:Optional
	// A list of actions to execute when MatchReturnArgs selector matches
	MatchReturnActions []ActionSelector `json:"matchReturnActions,omitempty"`
	// +kubebuilder:validation:Optional
	// A list of binary exec name filters.
	MatchBinaries []BinarySelector `json:"matchBinaries,omitempty"`
	// +kubebuilder:validation:Optional
	// A list of namespaces and IDs
	MatchNamespaces []NamespaceSelector `json:"matchNamespaces,omitempty"`
	// +kubebuilder:validation:Optional
	// IDs for namespace changes
	MatchNamespaceChanges []NamespaceChangesSelector `json:"matchNamespaceChanges,omitempty"`
	// +kubebuilder:validation:Optional
	// A list of capabilities and IDs
	MatchCapabilities []CapabilitiesSelector `json:"matchCapabilities,omitempty"`
	// +kubebuilder:validation:Optional
	// IDs for capabilities changes
	MatchCapabilityChanges []CapabilitiesSelector `json:"matchCapabilityChanges,omitempty"`
}

KProbeSelector selects function calls for kprobe based on PIDs and function arguments. The results of MatchPIDs and MatchArgs are ANDed.

func (*KProbeSelector) DeepCopy

func (in *KProbeSelector) DeepCopy() *KProbeSelector

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

func (*KProbeSelector) DeepCopyInto

func (in *KProbeSelector) DeepCopyInto(out *KProbeSelector)

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

type KProbeSpec

type KProbeSpec struct {
	// Name of the function to apply the kprobe spec to.
	Call string `json:"call"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Indicates whether to collect return value of the traced function.
	Return bool `json:"return"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// Indicates whether the traced function is a syscall.
	Syscall bool `json:"syscall"`
	// +kubebuilder:validation:Optional
	// A short message of 256 characters max that will be included
	// in the event output to inform users what is going on.
	Message string `json:"message"`
	// +kubebuilder:validation:Optional
	// A list of function arguments to include in the trace output.
	Args []KProbeArg `json:"args,omitempty"`
	// +kubebuilder:validation:Optional
	// A return argument to include in the trace output.
	ReturnArg *KProbeArg `json:"returnArg,omitempty"`
	// +kubebuilder:validation:Optional
	// An action to perform on the return argument.
	// Available actions are: Post;TrackSock;UntrackSock
	ReturnArgAction string `json:"returnArgAction,omitempty"`
	// +kubebuilder:validation:Optional
	// Selectors to apply before producing trace output. Selectors are ORed.
	Selectors []KProbeSelector `json:"selectors,omitempty"`
	// +kubebuilder:validation:optional
	// +kubebuilder:validation:MaxItems=16
	// Tags to categorize the event, will be include in the event output.
	// Maximum of 16 Tags are supported.
	Tags []string `json:"tags,omitempty"`
}

func (*KProbeSpec) DeepCopy

func (in *KProbeSpec) DeepCopy() *KProbeSpec

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

func (*KProbeSpec) DeepCopyInto

func (in *KProbeSpec) DeepCopyInto(out *KProbeSpec)

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

type ListSpec

type ListSpec struct {
	// Name of the list
	Name string `json:"name"`
	// +kubebuilder:validation:Optional
	// Values of the list
	Values []string `json:"values,omitempty"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=syscalls;generated_syscalls;generated_ftrace
	// Indicates the type of the list values.
	Type string `json:"type,omitempty"`
	// +kubebuilder:validation:Optional
	// Pattern for 'generated' lists.
	Pattern *string `json:"pattern,omitempty"`
	// +kubebuilder:validation:Optional
	// List was validated
	Validated bool `json:"validated"`
}

func (*ListSpec) DeepCopy

func (in *ListSpec) DeepCopy() *ListSpec

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

func (*ListSpec) DeepCopyInto

func (in *ListSpec) DeepCopyInto(out *ListSpec)

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

type NamespaceChangesSelector

type NamespaceChangesSelector struct {
	// +kubebuilder:validation:Enum=In;NotIn
	// Namespace selector operator.
	Operator string `json:"operator"`
	// Namespace types (e.g., Mnt, Pid) to match.
	Values []string `json:"values"`
}

func (*NamespaceChangesSelector) DeepCopy

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

func (*NamespaceChangesSelector) DeepCopyInto

func (in *NamespaceChangesSelector) DeepCopyInto(out *NamespaceChangesSelector)

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

type NamespaceSelector

type NamespaceSelector struct {
	// +kubebuilder:validation:Enum=Uts;Ipc;Mnt;Pid;PidForChildren;Net;Time;TimeForChildren;Cgroup;User
	// Namespace selector name.
	Namespace string `json:"namespace"`
	// +kubebuilder:validation:Enum=In;NotIn
	// Namespace selector operator.
	Operator string `json:"operator"`
	// Namespace IDs (or host_ns for host namespace) of namespaces to match.
	Values []string `json:"values"`
}

func (*NamespaceSelector) DeepCopy

func (in *NamespaceSelector) DeepCopy() *NamespaceSelector

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

func (*NamespaceSelector) DeepCopyInto

func (in *NamespaceSelector) DeepCopyInto(out *NamespaceSelector)

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

type OptionSpec

type OptionSpec struct {
	// Name of the option
	Name string `json:"name"`
	// +kubebuilder:validation:Optional
	// Value of the option
	Value string `json:"value"`
}

func (*OptionSpec) DeepCopy

func (in *OptionSpec) DeepCopy() *OptionSpec

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

func (*OptionSpec) DeepCopyInto

func (in *OptionSpec) DeepCopyInto(out *OptionSpec)

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

type PIDSelector

type PIDSelector struct {
	// +kubebuilder:validation:Enum=In;NotIn
	// PID selector operator.
	Operator string `json:"operator"`
	// Process IDs to match.
	Values []uint32 `json:"values"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Indicates whether PIDs are namespace PIDs.
	IsNamespacePID bool `json:"isNamespacePID"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Matches any descendant processes of the matching PIDs.
	FollowForks bool `json:"followForks"`
}

func (*PIDSelector) DeepCopy

func (in *PIDSelector) DeepCopy() *PIDSelector

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

func (*PIDSelector) DeepCopyInto

func (in *PIDSelector) DeepCopyInto(out *PIDSelector)

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

type PodIP

type PodIP struct {
	// IP is an IP address (IPv4 or IPv6) assigned to the pod
	IP string `json:"IP,omitempty"`
}

func (*PodIP) DeepCopy

func (in *PodIP) DeepCopy() *PodIP

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

func (*PodIP) DeepCopyInto

func (in *PodIP) DeepCopyInto(out *PodIP)

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

type PodInfo

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

	Spec   PodInfoSpec   `json:"spec,omitempty"`
	Status PodInfoStatus `json:"status,omitempty"`

	// Workload type (e.g. "Deployment", "Daemonset") that created this pod.
	WorkloadType metav1.TypeMeta `json:"workloadType,omitempty"`
	// Workload that created this pod.
	WorkloadObject WorkloadObjectMeta `json:"workloadObject,omitempty"`
}

PodInfo is the Scheme for the Podinfo API

func (*PodInfo) DeepCopy

func (in *PodInfo) DeepCopy() *PodInfo

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

func (*PodInfo) DeepCopyInto

func (in *PodInfo) DeepCopyInto(out *PodInfo)

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

func (*PodInfo) DeepCopyObject

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

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

type PodInfoList

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

PodInfoList contains a list of Podinfo

func (*PodInfoList) DeepCopy

func (in *PodInfoList) DeepCopy() *PodInfoList

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

func (*PodInfoList) DeepCopyInto

func (in *PodInfoList) DeepCopyInto(out *PodInfoList)

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

func (*PodInfoList) DeepCopyObject

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

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

type PodInfoSpec

type PodInfoSpec struct {
	// Host networking requested for this pod. Use the host's network namespace.
	// If this option is set, the ports that will be used must be specified.
	HostNetwork bool `json:"hostNetwork,omitempty"`
}

func (*PodInfoSpec) DeepCopy

func (in *PodInfoSpec) DeepCopy() *PodInfoSpec

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

func (*PodInfoSpec) DeepCopyInto

func (in *PodInfoSpec) DeepCopyInto(out *PodInfoSpec)

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

type PodInfoStatus

type PodInfoStatus struct {
	// IP address allocated to the pod. Routable at least within the cluster.
	// Empty if not yet allocated.
	PodIP string `json:"podIP,omitempty"`

	// List of Ip addresses allocated to the pod. 0th entry must be same as PodIP.
	PodIPs []PodIP `json:"podIPs,omitempty"`
}

func (*PodInfoStatus) DeepCopy

func (in *PodInfoStatus) DeepCopy() *PodInfoStatus

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

func (*PodInfoStatus) DeepCopyInto

func (in *PodInfoStatus) DeepCopyInto(out *PodInfoStatus)

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

type TracepointSpec

type TracepointSpec struct {
	// Tracepoint subsystem
	Subsystem string `json:"subsystem"`
	// Tracepoint event
	Event string `json:"event"`
	// +kubebuilder:validation:Optional
	// A short message of 256 characters max that will be included
	// in the event output to inform users what is going on.
	Message string `json:"message"`
	// +kubebuilder:validation:Optional
	// A list of function arguments to include in the trace output.
	Args []KProbeArg `json:"args,omitempty"`
	// +kubebuilder:validation:Optional
	// Selectors to apply before producing trace output. Selectors are ORed.
	Selectors []KProbeSelector `json:"selectors,omitempty"`
	// +kubebuilder:validation:optional
	// +kubebuilder:validation:MaxItems=16
	// Tags to categorize the event, will be include in the event output.
	// Maximum of 16 Tags are supported.
	Tags []string `json:"tags,omitempty"`
}

func (*TracepointSpec) DeepCopy

func (in *TracepointSpec) DeepCopy() *TracepointSpec

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

func (*TracepointSpec) DeepCopyInto

func (in *TracepointSpec) DeepCopyInto(out *TracepointSpec)

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

type TracingPolicy

type TracingPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Tracing policy specification.
	Spec TracingPolicySpec `json:"spec"`
}

+genclient +genclient:noStatus +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:singular="tracingpolicy",path="tracingpolicies",scope="Cluster",shortName={}

func (*TracingPolicy) DeepCopy

func (in *TracingPolicy) DeepCopy() *TracingPolicy

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

func (*TracingPolicy) DeepCopyInto

func (in *TracingPolicy) DeepCopyInto(out *TracingPolicy)

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

func (*TracingPolicy) DeepCopyObject

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

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

func (*TracingPolicy) TpInfo

func (tp *TracingPolicy) TpInfo() string

func (*TracingPolicy) TpName

func (tp *TracingPolicy) TpName() string

func (*TracingPolicy) TpSpec

func (tp *TracingPolicy) TpSpec() *TracingPolicySpec

type TracingPolicyList

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*TracingPolicyList) DeepCopy

func (in *TracingPolicyList) DeepCopy() *TracingPolicyList

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

func (*TracingPolicyList) DeepCopyInto

func (in *TracingPolicyList) DeepCopyInto(out *TracingPolicyList)

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

func (*TracingPolicyList) DeepCopyObject

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

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

type TracingPolicyNamespaced

type TracingPolicyNamespaced struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Tracing policy specification.
	Spec TracingPolicySpec `json:"spec"`
}

+genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:singular="tracingpolicynamespaced",path="tracingpoliciesnamespaced",scope="Namespaced",shortName={}

func (*TracingPolicyNamespaced) DeepCopy

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

func (*TracingPolicyNamespaced) DeepCopyInto

func (in *TracingPolicyNamespaced) DeepCopyInto(out *TracingPolicyNamespaced)

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

func (*TracingPolicyNamespaced) DeepCopyObject

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

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

func (*TracingPolicyNamespaced) TpInfo

func (tp *TracingPolicyNamespaced) TpInfo() string

func (*TracingPolicyNamespaced) TpName

func (tp *TracingPolicyNamespaced) TpName() string

func (*TracingPolicyNamespaced) TpNamespace

func (tp *TracingPolicyNamespaced) TpNamespace() string

func (*TracingPolicyNamespaced) TpSpec

type TracingPolicyNamespacedList

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*TracingPolicyNamespacedList) DeepCopy

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

func (*TracingPolicyNamespacedList) DeepCopyInto

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

func (*TracingPolicyNamespacedList) DeepCopyObject

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

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

type TracingPolicySpec

type TracingPolicySpec struct {
	// +kubebuilder:validation:Optional
	// A list of kprobe specs.
	KProbes []KProbeSpec `json:"kprobes,omitempty"`
	// +kubebuilder:validation:Optional
	// A list of tracepoint specs.
	Tracepoints []TracepointSpec `json:"tracepoints,omitempty"`
	// +kubebuilder:validation:Optional
	// Enable loader events
	Loader bool `json:"loader,omitempty"`
	// +kubebuilder:validation:Optional
	// A list of uprobe specs.
	UProbes []UProbeSpec `json:"uprobes,omitempty"`

	// +kubebuilder:validation:Optional
	// PodSelector selects pods that this policy applies to
	PodSelector *slimv1.LabelSelector `json:"podSelector,omitempty"`

	// +kubebuilder:validation:Optional
	// ContainerSelector selects containers that this policy applies to.
	// A map of container fields will be constructed in the same way as a map of labels.
	// The name of the field represents the label "key", and the value of the field - label "value".
	// Currently, only the "name" field is supported.
	ContainerSelector *slimv1.LabelSelector `json:"containerSelector,omitempty"`

	// +kubebuilder:validation:Optional
	// A list of list specs.
	Lists []ListSpec `json:"lists,omitempty"`

	// +kubebuilder:validation:Optional
	// A killer spec.
	Enforcers []EnforcerSpec `json:"enforcers,omitempty"`

	// +kubebuilder:validation:Optional
	// A list of overloaded options
	Options []OptionSpec `json:"options,omitempty"`
}

func (*TracingPolicySpec) DeepCopy

func (in *TracingPolicySpec) DeepCopy() *TracingPolicySpec

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

func (*TracingPolicySpec) DeepCopyInto

func (in *TracingPolicySpec) DeepCopyInto(out *TracingPolicySpec)

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

type UProbeSpec

type UProbeSpec struct {
	// Name of the traced binary
	Path string `json:"path"`
	// List of the traced symbols
	Symbols []string `json:"symbols"`
	// +kubebuilder:validation:Optional
	// A short message of 256 characters max that will be included
	// in the event output to inform users what is going on.
	Message string `json:"message"`
	// +kubebuilder:validation:Optional
	// Selectors to apply before producing trace output. Selectors are ORed.
	Selectors []KProbeSelector `json:"selectors,omitempty"`
	// +kubebuilder:validation:Optional
	// A list of function arguments to include in the trace output.
	Args []KProbeArg `json:"args,omitempty"`
	// +kubebuilder:validation:optional
	// +kubebuilder:validation:MaxItems=16
	// Tags to categorize the event, will be include in the event output.
	// Maximum of 16 Tags are supported.
	Tags []string `json:"tags,omitempty"`
}

func (*UProbeSpec) DeepCopy

func (in *UProbeSpec) DeepCopy() *UProbeSpec

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

func (*UProbeSpec) DeepCopyInto

func (in *UProbeSpec) DeepCopyInto(out *UProbeSpec)

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

type WorkloadObjectMeta

type WorkloadObjectMeta struct {
	// Name of the object.
	// +optional
	Name string `json:"name,omitempty"`

	// Namespace of this object.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

WorkloadObjectMeta is metadata associated with workloads that create pods.

func (*WorkloadObjectMeta) DeepCopy

func (in *WorkloadObjectMeta) DeepCopy() *WorkloadObjectMeta

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

func (*WorkloadObjectMeta) DeepCopyInto

func (in *WorkloadObjectMeta) DeepCopyInto(out *WorkloadObjectMeta)

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

Jump to

Keyboard shortcuts

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