Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package,register +groupName=cilium.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type ActionSelector
- type ArgSelector
- type BinarySelector
- type CapabilitiesSelector
- type KProbeArg
- type KProbeSelector
- type KProbeSpec
- type NamespaceChangesSelector
- type NamespaceSelector
- type PIDSelector
- type TracepointSpec
- type TracingPolicy
- func (in *TracingPolicy) DeepCopy() *TracingPolicy
- func (in *TracingPolicy) DeepCopyInto(out *TracingPolicy)
- func (in *TracingPolicy) DeepCopyObject() runtime.Object
- func (tp *TracingPolicy) TpInfo() string
- func (tp *TracingPolicy) TpName() string
- func (tp *TracingPolicy) TpSpec() *TracingPolicySpec
- type TracingPolicyList
- type TracingPolicyNamespaced
- func (in *TracingPolicyNamespaced) DeepCopy() *TracingPolicyNamespaced
- func (in *TracingPolicyNamespaced) DeepCopyInto(out *TracingPolicyNamespaced)
- func (in *TracingPolicyNamespaced) DeepCopyObject() runtime.Object
- func (tp *TracingPolicyNamespaced) TpInfo() string
- func (tp *TracingPolicyNamespaced) TpName() string
- func (tp *TracingPolicyNamespaced) TpNamespace() string
- func (tp *TracingPolicyNamespaced) TpSpec() *TracingPolicySpec
- type TracingPolicyNamespacedList
- type TracingPolicySpec
Constants ¶
const ( // 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. CustomResourceDefinitionSchemaVersion = "1.3.4" 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 )
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" )
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: ciliumio.GroupName, Version: CRDVersion}
SchemeGroupVersion is group version used to register these objects
Functions ¶
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 // 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"` }
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;Postfix // Filter operation. Operator string `json:"operator"` // Value to compare the argument against. Values []string `json:"values"` }
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 // 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 ¶
func (in *CapabilitiesSelector) DeepCopy() *CapabilitiesSelector
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 KProbeArg ¶
type KProbeArg struct { // +kubebuilder:validation:Minimum=0 // Position of the argument. Index uint32 `json:"index"` // +kubebuilder:validation:Enum=int;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; // 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. ReturnCopy bool `json:"returnCopy"` }
func (*KProbeArg) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KProbeArg.
func (*KProbeArg) DeepCopyInto ¶
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"` // +kubebuilder:validation:Optional // A list of argument filters. MatchArgs are ANDed. MatchArgs []ArgSelector `json:"matchArgs"` // +kubebuilder:validation:Optional // A list of actions to execute when this selector matches MatchActions []ActionSelector `json:"matchActions"` // +kubebuilder:validation:Optional // A list of argument filters. MatchArgs are ANDed. MatchReturnArgs []ArgSelector `json:"matchReturnArgs"` // +kubebuilder:validation:Optional // A list of binary exec name filters. MatchBinaries []BinarySelector `json:"matchBinaries"` // +kubebuilder:validation:Optional // A list of namespaces and IDs MatchNamespaces []NamespaceSelector `json:"matchNamespaces"` // +kubebuilder:validation:Optional // IDs for namespace changes MatchNamespaceChanges []NamespaceChangesSelector `json:"matchNamespaceChanges"` // +kubebuilder:validation:Optional // A list of capabilities and IDs MatchCapabilities []CapabilitiesSelector `json:"matchCapabilities"` // +kubebuilder:validation:Optional // IDs for capabilities changes MatchCapabilityChanges []CapabilitiesSelector `json:"matchCapabilityChanges"` }
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 list of function arguments to include in the trace output. Args []KProbeArg `json:"args"` // +kubebuilder:validation:Optional // A return argument to include in the trace output. ReturnArg KProbeArg `json:"returnArg"` // +kubebuilder:validation:Optional // Selectors to apply before producing trace output. Selectors are ORed. Selectors []KProbeSelector `json:"selectors"` }
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 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 ¶
func (in *NamespaceChangesSelector) DeepCopy() *NamespaceChangesSelector
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 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 TracepointSpec ¶
type TracepointSpec struct { // Tracepoint subsystem Subsystem string `json:"subsystem"` // Tracepoint event Event string `json:"event"` // +kubebuilder:validation:Optional // A list of function arguments to include in the trace output. Args []KProbeArg `json:"args"` // +kubebuilder:validation:Optional // Selectors to apply before producing trace output. Selectors are ORed. Selectors []KProbeSelector `json:"selectors"` }
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 ¶ added in v0.8.18
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 ¶ added in v0.8.20
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 ¶ added in v0.8.20
func (in *TracingPolicyNamespaced) DeepCopy() *TracingPolicyNamespaced
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TracingPolicyNamespaced.
func (*TracingPolicyNamespaced) DeepCopyInto ¶ added in v0.8.20
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 ¶ added in v0.8.20
func (in *TracingPolicyNamespaced) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TracingPolicyNamespaced) TpInfo ¶ added in v0.8.20
func (tp *TracingPolicyNamespaced) TpInfo() string
func (*TracingPolicyNamespaced) TpName ¶ added in v0.8.20
func (tp *TracingPolicyNamespaced) TpName() string
func (*TracingPolicyNamespaced) TpNamespace ¶ added in v0.8.20
func (tp *TracingPolicyNamespaced) TpNamespace() string
func (*TracingPolicyNamespaced) TpSpec ¶ added in v0.8.20
func (tp *TracingPolicyNamespaced) TpSpec() *TracingPolicySpec
type TracingPolicyNamespacedList ¶ added in v0.8.20
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 ¶ added in v0.8.20
func (in *TracingPolicyNamespacedList) DeepCopy() *TracingPolicyNamespacedList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TracingPolicyNamespacedList.
func (*TracingPolicyNamespacedList) DeepCopyInto ¶ added in v0.8.20
func (in *TracingPolicyNamespacedList) DeepCopyInto(out *TracingPolicyNamespacedList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TracingPolicyNamespacedList) DeepCopyObject ¶ added in v0.8.20
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"` // +kubebuilder:validation:Optional // A list of tracepoint specs. Tracepoints []TracepointSpec `json:"tracepoints"` // +kubebuilder:validation:Optional // Enable loader events Loader bool `json:"loader"` }
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.