Documentation ¶
Overview ¶
All fields are required unless explicitly marked optional +kubebuilder:validation:Required
Package v1alpha1 contains API Schema definitions for the bpfman.io API group. +kubebuilder:object:generate=true +groupName=bpfman.io
All fields are required unless explicitly marked optional +kubebuilder:validation:Required
All fields are required unless explicitly marked optional +kubebuilder:validation:Required
All fields are required unless explicitly marked optional +kubebuilder:validation:Required
+kubebuilder:validation:Required
All fields are required unless explicitly marked optional +kubebuilder:validation:Required
All fields are required unless explicitly marked optional +kubebuilder:validation:Required
All fields are required unless explicitly marked optional +kubebuilder:validation:Required
All fields are required unless explicitly marked optional +kubebuilder:validation:Required
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type BpfProgram
- type BpfProgramCommon
- type BpfProgramConditionType
- type BpfProgramList
- type BpfProgramSpec
- type BpfProgramStatus
- type BytecodeImage
- type BytecodeSelector
- type ContainerSelector
- type FentryProgram
- type FentryProgramList
- type FentryProgramSpec
- type FentryProgramStatus
- type FexitProgram
- type FexitProgramList
- type FexitProgramSpec
- type FexitProgramStatus
- type ImagePullSecretSelector
- type InterfaceSelector
- type KprobeProgram
- type KprobeProgramList
- type KprobeProgramSpec
- type KprobeProgramStatus
- type ProgramConditionType
- type PullPolicy
- type TcProceedOnValue
- type TcProgram
- type TcProgramList
- type TcProgramSpec
- type TcProgramStatus
- type TracepointProgram
- type TracepointProgramList
- type TracepointProgramSpec
- type TracepointProgramStatus
- type UprobeProgram
- type UprobeProgramList
- type UprobeProgramSpec
- type UprobeProgramStatus
- type XdpProceedOnValue
- type XdpProgram
- type XdpProgramList
- type XdpProgramSpec
- type XdpProgramStatus
Constants ¶
const GroupName = "bpfman.io"
GroupName specifies the group name used to register the objects.
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Depreciated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}
GroupVersion specifies the group and the version used to register the objects.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type BpfProgram ¶
type BpfProgram struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec BpfProgramSpec `json:"spec"` // +optional Status BpfProgramStatus `json:"status,omitempty"` }
BpfProgram is the Schema for the Bpfprograms API +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.spec.type` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.conditions[0].reason` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*BpfProgram) DeepCopy ¶
func (in *BpfProgram) DeepCopy() *BpfProgram
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BpfProgram.
func (*BpfProgram) DeepCopyInto ¶
func (in *BpfProgram) DeepCopyInto(out *BpfProgram)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BpfProgram) DeepCopyObject ¶
func (in *BpfProgram) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BpfProgramCommon ¶
type BpfProgramCommon struct { // BpfFunctionName is the name of the function that is the entry point for the BPF // program BpfFunctionName string `json:"bpffunctionname"` // NodeSelector allows the user to specify which nodes to deploy the // bpf program to. This field must be specified, to select all nodes // use standard metav1.LabelSelector semantics and make it empty. NodeSelector metav1.LabelSelector `json:"nodeselector"` // Bytecode configures where the bpf program's bytecode should be loaded // from. ByteCode BytecodeSelector `json:"bytecode"` // GlobalData allows the user to to set global variables when the program is loaded // with an array of raw bytes. This is a very low level primitive. The caller // is responsible for formatting the byte string appropriately considering // such things as size, endianness, alignment and packing of data structures. // +optional GlobalData map[string][]byte `json:"globaldata,omitempty"` // MapOwnerSelector is used to select the loaded eBPF program this eBPF program // will share a map with. The value is a label applied to the BpfProgram to select. // The selector must resolve to exactly one instance of a BpfProgram on a given node // or the eBPF program will not load. // +optional MapOwnerSelector metav1.LabelSelector `json:"mapownerselector"` }
BpfProgramCommon defines the common attributes for all BPF programs
func (*BpfProgramCommon) DeepCopy ¶
func (in *BpfProgramCommon) DeepCopy() *BpfProgramCommon
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BpfProgramCommon.
func (*BpfProgramCommon) DeepCopyInto ¶
func (in *BpfProgramCommon) DeepCopyInto(out *BpfProgramCommon)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BpfProgramConditionType ¶
type BpfProgramConditionType string
BpfProgramConditionType is a condition type to indicate the status of a BPF program at the individual node level.
const ( // BpfProgCondLoaded indicates that the eBPF program was successfully loaded // into the kernel on a specific node. BpfProgCondLoaded BpfProgramConditionType = "Loaded" // BpfProgCondNotLoaded indicates that the eBPF program has not yet been // loaded into the kernel on a specific node. BpfProgCondNotLoaded BpfProgramConditionType = "NotLoaded" // BpfProgCondUnloaded indicates that in the midst of trying to remove the // eBPF program from the kernel on the node, that program has not yet been // removed. BpfProgCondNotUnloaded BpfProgramConditionType = "NotUnLoaded" // BpfProgCondNotSelected indicates that the eBPF program is not scheduled to be loaded // on a specific node. BpfProgCondNotSelected BpfProgramConditionType = "NotSelected" // BpfProgCondUnloaded indicates that the eBPF program has been unloaded from // the kernel on a specific node. BpfProgCondUnloaded BpfProgramConditionType = "Unloaded" // BpfProgCondMapOwnerNotFound indicates that the eBPF program sharing a map with another // eBPF program and that program does not exist. BpfProgCondMapOwnerNotFound BpfProgramConditionType = "MapOwnerNotFound" // BpfProgCondMapOwnerNotLoaded indicates that the eBPF program sharing a map with another // eBPF program and that program is not loaded. BpfProgCondMapOwnerNotLoaded BpfProgramConditionType = "MapOwnerNotLoaded" // BpfProgCondByteCodeError indicates that an error occured when trying to // process the bytecode selector. BpfProgCondBytecodeSelectorError BpfProgramConditionType = "BytecodeSelectorError" // BpfProgCondNoContainersOnNode indicates that there are no containers on the node // that match the container selector. BpfProgCondNoContainersOnNode BpfProgramConditionType = "NoContainersOnNode" // None of the above conditions apply BpfProgCondNone BpfProgramConditionType = "None" )
func (BpfProgramConditionType) Condition ¶
func (b BpfProgramConditionType) Condition() metav1.Condition
Condition is a helper method to promote any given BpfProgramConditionType to a full metav1.Condition in an opinionated fashion.
type BpfProgramList ¶
type BpfProgramList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []BpfProgram `json:"items"` }
BpfProgramList contains a list of BpfProgram
func (*BpfProgramList) DeepCopy ¶
func (in *BpfProgramList) DeepCopy() *BpfProgramList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BpfProgramList.
func (*BpfProgramList) DeepCopyInto ¶
func (in *BpfProgramList) DeepCopyInto(out *BpfProgramList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BpfProgramList) DeepCopyObject ¶
func (in *BpfProgramList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BpfProgramSpec ¶
type BpfProgramSpec struct { // Type specifies the bpf program type // +optional Type string `json:"type,omitempty"` }
BpfProgramSpec defines the desired state of BpfProgram
func (*BpfProgramSpec) DeepCopy ¶
func (in *BpfProgramSpec) DeepCopy() *BpfProgramSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BpfProgramSpec.
func (*BpfProgramSpec) DeepCopyInto ¶
func (in *BpfProgramSpec) DeepCopyInto(out *BpfProgramSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BpfProgramStatus ¶
type BpfProgramStatus struct { // Conditions houses the updates regarding the actual implementation of // the bpf program on the node // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
BpfProgramStatus defines the observed state of BpfProgram TODO Make these a fixed set of metav1.Condition.types and metav1.Condition.reasons
func (*BpfProgramStatus) DeepCopy ¶
func (in *BpfProgramStatus) DeepCopy() *BpfProgramStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BpfProgramStatus.
func (*BpfProgramStatus) DeepCopyInto ¶
func (in *BpfProgramStatus) DeepCopyInto(out *BpfProgramStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BytecodeImage ¶
type BytecodeImage struct { // Valid container image URL used to reference a remote bytecode image. Url string `json:"url"` // PullPolicy describes a policy for if/when to pull a bytecode image. Defaults to IfNotPresent. // +kubebuilder:default:=IfNotPresent // +optional ImagePullPolicy PullPolicy `json:"imagepullpolicy"` // ImagePullSecret is the name of the secret bpfman should use to get remote image // repository secrets. // +optional ImagePullSecret *ImagePullSecretSelector `json:"imagepullsecret,omitempty"` }
BytecodeImage defines how to specify a bytecode container image.
func (*BytecodeImage) DeepCopy ¶
func (in *BytecodeImage) DeepCopy() *BytecodeImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BytecodeImage.
func (*BytecodeImage) DeepCopyInto ¶
func (in *BytecodeImage) DeepCopyInto(out *BytecodeImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BytecodeSelector ¶
type BytecodeSelector struct { // Image used to specify a bytecode container image. Image *BytecodeImage `json:"image,omitempty"` // Path is used to specify a bytecode object via filepath. Path *string `json:"path,omitempty"` }
BytecodeSelector defines the various ways to reference bpf bytecode objects.
func (*BytecodeSelector) DeepCopy ¶
func (in *BytecodeSelector) DeepCopy() *BytecodeSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BytecodeSelector.
func (*BytecodeSelector) DeepCopyInto ¶
func (in *BytecodeSelector) DeepCopyInto(out *BytecodeSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerSelector ¶
type ContainerSelector struct { // Target namespaces. // +optional // +kubebuilder:default:="" Namespace string `json:"namespace"` // Target pods. This field must be specified, to select all pods use // standard metav1.LabelSelector semantics and make it empty. Pods metav1.LabelSelector `json:"pods"` // Name(s) of container(s). If none are specified, all containers in the // pod are selected. // +optional ContainerNames *[]string `json:"containernames,omitempty"` }
ContainerSelector identifies a set of containers. For example, this can be used to identify a set of containers in which to attach uprobes.
func (*ContainerSelector) DeepCopy ¶
func (in *ContainerSelector) DeepCopy() *ContainerSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerSelector.
func (*ContainerSelector) DeepCopyInto ¶
func (in *ContainerSelector) DeepCopyInto(out *ContainerSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FentryProgram ¶
type FentryProgram struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FentryProgramSpec `json:"spec"` // +optional Status FentryProgramStatus `json:"status,omitempty"` }
FentryProgram is the Schema for the FentryPrograms API +kubebuilder:printcolumn:name="BpfFunctionName",type=string,JSONPath=`.spec.bpffunctionname` +kubebuilder:printcolumn:name="NodeSelector",type=string,JSONPath=`.spec.nodeselector` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.conditions[0].reason` +kubebuilder:printcolumn:name="FunctionName",type=string,JSONPath=`.spec.func_name`,priority=1
func (*FentryProgram) DeepCopy ¶
func (in *FentryProgram) DeepCopy() *FentryProgram
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FentryProgram.
func (*FentryProgram) DeepCopyInto ¶
func (in *FentryProgram) DeepCopyInto(out *FentryProgram)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FentryProgram) DeepCopyObject ¶
func (in *FentryProgram) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FentryProgramList ¶
type FentryProgramList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FentryProgram `json:"items"` }
+kubebuilder:object:root=true FentryProgramList contains a list of FentryPrograms
func (*FentryProgramList) DeepCopy ¶
func (in *FentryProgramList) DeepCopy() *FentryProgramList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FentryProgramList.
func (*FentryProgramList) DeepCopyInto ¶
func (in *FentryProgramList) DeepCopyInto(out *FentryProgramList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FentryProgramList) DeepCopyObject ¶
func (in *FentryProgramList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FentryProgramSpec ¶
type FentryProgramSpec struct { BpfProgramCommon `json:",inline"` // Function to attach the fentry to. FunctionName string `json:"func_name"` }
FentryProgramSpec defines the desired state of FentryProgram +kubebuilder:printcolumn:name="FunctionName",type=string,JSONPath=`.spec.func_name`
func (*FentryProgramSpec) DeepCopy ¶
func (in *FentryProgramSpec) DeepCopy() *FentryProgramSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FentryProgramSpec.
func (*FentryProgramSpec) DeepCopyInto ¶
func (in *FentryProgramSpec) DeepCopyInto(out *FentryProgramSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FentryProgramStatus ¶
type FentryProgramStatus struct { // Conditions houses the global cluster state for the FentryProgram. The explicit // condition types are defined internally. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
FentryProgramStatus defines the observed state of FentryProgram
func (*FentryProgramStatus) DeepCopy ¶
func (in *FentryProgramStatus) DeepCopy() *FentryProgramStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FentryProgramStatus.
func (*FentryProgramStatus) DeepCopyInto ¶
func (in *FentryProgramStatus) DeepCopyInto(out *FentryProgramStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FexitProgram ¶
type FexitProgram struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FexitProgramSpec `json:"spec"` // +optional Status FexitProgramStatus `json:"status,omitempty"` }
FexitProgram is the Schema for the FexitPrograms API +kubebuilder:printcolumn:name="BpfFunctionName",type=string,JSONPath=`.spec.bpffunctionname` +kubebuilder:printcolumn:name="NodeSelector",type=string,JSONPath=`.spec.nodeselector` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.conditions[0].reason` +kubebuilder:printcolumn:name="FunctionName",type=string,JSONPath=`.spec.func_name`,priority=1
func (*FexitProgram) DeepCopy ¶
func (in *FexitProgram) DeepCopy() *FexitProgram
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FexitProgram.
func (*FexitProgram) DeepCopyInto ¶
func (in *FexitProgram) DeepCopyInto(out *FexitProgram)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FexitProgram) DeepCopyObject ¶
func (in *FexitProgram) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FexitProgramList ¶
type FexitProgramList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FexitProgram `json:"items"` }
+kubebuilder:object:root=true FexitProgramList contains a list of FexitPrograms
func (*FexitProgramList) DeepCopy ¶
func (in *FexitProgramList) DeepCopy() *FexitProgramList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FexitProgramList.
func (*FexitProgramList) DeepCopyInto ¶
func (in *FexitProgramList) DeepCopyInto(out *FexitProgramList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FexitProgramList) DeepCopyObject ¶
func (in *FexitProgramList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FexitProgramSpec ¶
type FexitProgramSpec struct { BpfProgramCommon `json:",inline"` // Function to attach the fexit to. FunctionName string `json:"func_name"` }
FexitProgramSpec defines the desired state of FexitProgram +kubebuilder:printcolumn:name="FunctionName",type=string,JSONPath=`.spec.func_name`
func (*FexitProgramSpec) DeepCopy ¶
func (in *FexitProgramSpec) DeepCopy() *FexitProgramSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FexitProgramSpec.
func (*FexitProgramSpec) DeepCopyInto ¶
func (in *FexitProgramSpec) DeepCopyInto(out *FexitProgramSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FexitProgramStatus ¶
type FexitProgramStatus struct { // Conditions houses the global cluster state for the FexitProgram. The explicit // condition types are defined internally. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
FexitProgramStatus defines the observed state of FexitProgram
func (*FexitProgramStatus) DeepCopy ¶
func (in *FexitProgramStatus) DeepCopy() *FexitProgramStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FexitProgramStatus.
func (*FexitProgramStatus) DeepCopyInto ¶
func (in *FexitProgramStatus) DeepCopyInto(out *FexitProgramStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImagePullSecretSelector ¶
type ImagePullSecretSelector struct { // Name of the secret which contains the credentials to access the image repository. Name string `json:"name"` // Namespace of the secret which contains the credentials to access the image repository. Namespace string `json:"namespace"` }
ImagePullSecretSelector defines the name and namespace of an image pull secret.
func (*ImagePullSecretSelector) DeepCopy ¶
func (in *ImagePullSecretSelector) DeepCopy() *ImagePullSecretSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePullSecretSelector.
func (*ImagePullSecretSelector) DeepCopyInto ¶
func (in *ImagePullSecretSelector) DeepCopyInto(out *ImagePullSecretSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceSelector ¶
type InterfaceSelector struct { // Interfaces refers to a list of network interfaces to attach the BPF // program to. // +optional Interfaces *[]string `json:"interfaces,omitempty"` // Attach BPF program to the primary interface on the node. Only 'true' accepted. // +optional PrimaryNodeInterface *bool `json:"primarynodeinterface,omitempty"` }
InterfaceSelector defines interface to attach to. +kubebuilder:validation:MaxProperties=1 +kubebuilder:validation:MinProperties=1
func (*InterfaceSelector) DeepCopy ¶
func (in *InterfaceSelector) DeepCopy() *InterfaceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceSelector.
func (*InterfaceSelector) DeepCopyInto ¶
func (in *InterfaceSelector) DeepCopyInto(out *InterfaceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KprobeProgram ¶
type KprobeProgram struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KprobeProgramSpec `json:"spec"` // +optional Status KprobeProgramStatus `json:"status,omitempty"` }
KprobeProgram is the Schema for the KprobePrograms API +kubebuilder:printcolumn:name="BpfFunctionName",type=string,JSONPath=`.spec.bpffunctionname` +kubebuilder:printcolumn:name="NodeSelector",type=string,JSONPath=`.spec.nodeselector` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.conditions[0].reason` +kubebuilder:printcolumn:name="FunctionName",type=string,JSONPath=`.spec.func_name`,priority=1 +kubebuilder:printcolumn:name="Offset",type=integer,JSONPath=`.spec.offset`,priority=1 +kubebuilder:printcolumn:name="RetProbe",type=boolean,JSONPath=`.spec.retprobe`,priority=1
func (*KprobeProgram) DeepCopy ¶
func (in *KprobeProgram) DeepCopy() *KprobeProgram
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KprobeProgram.
func (*KprobeProgram) DeepCopyInto ¶
func (in *KprobeProgram) DeepCopyInto(out *KprobeProgram)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KprobeProgram) DeepCopyObject ¶
func (in *KprobeProgram) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KprobeProgramList ¶
type KprobeProgramList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KprobeProgram `json:"items"` }
+kubebuilder:object:root=true KprobeProgramList contains a list of KprobePrograms
func (*KprobeProgramList) DeepCopy ¶
func (in *KprobeProgramList) DeepCopy() *KprobeProgramList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KprobeProgramList.
func (*KprobeProgramList) DeepCopyInto ¶
func (in *KprobeProgramList) DeepCopyInto(out *KprobeProgramList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KprobeProgramList) DeepCopyObject ¶
func (in *KprobeProgramList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KprobeProgramSpec ¶
type KprobeProgramSpec struct { BpfProgramCommon `json:",inline"` // Functions to attach the kprobe to. FunctionName string `json:"func_name"` // Offset added to the address of the function for kprobe. // Not allowed for kretprobes. // +optional // +kubebuilder:default:=0 Offset uint64 `json:"offset"` // Whether the program is a kretprobe. Default is false // +optional // +kubebuilder:default:=false RetProbe bool `json:"retprobe"` }
KprobeProgramSpec defines the desired state of KprobeProgram +kubebuilder:printcolumn:name="FunctionName",type=string,JSONPath=`.spec.func_name` +kubebuilder:printcolumn:name="Offset",type=integer,JSONPath=`.spec.offset` +kubebuilder:printcolumn:name="RetProbe",type=boolean,JSONPath=`.spec.retprobe` +kubebuilder:validation:XValidation:message="offset cannot be set for kretprobes",rule="self.retprobe == false || self.offset == 0"
func (*KprobeProgramSpec) DeepCopy ¶
func (in *KprobeProgramSpec) DeepCopy() *KprobeProgramSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KprobeProgramSpec.
func (*KprobeProgramSpec) DeepCopyInto ¶
func (in *KprobeProgramSpec) DeepCopyInto(out *KprobeProgramSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KprobeProgramStatus ¶
type KprobeProgramStatus struct { // Conditions houses the global cluster state for the KprobeProgram. The explicit // condition types are defined internally. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
KprobeProgramStatus defines the observed state of KprobeProgram
func (*KprobeProgramStatus) DeepCopy ¶
func (in *KprobeProgramStatus) DeepCopy() *KprobeProgramStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KprobeProgramStatus.
func (*KprobeProgramStatus) DeepCopyInto ¶
func (in *KprobeProgramStatus) DeepCopyInto(out *KprobeProgramStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProgramConditionType ¶
type ProgramConditionType string
ProgramConditionType is a condition type to indicate the status of a BPF program at the cluster level.
const ( // ProgramNotYetLoaded indicates that the program in question has not // yet been loaded on all nodes in the cluster. ProgramNotYetLoaded ProgramConditionType = "NotYetLoaded" // ProgramReconcileError indicates that an unforseen situation has // occurred in the controller logic, and the controller will retry. ProgramReconcileError ProgramConditionType = "ReconcileError" // BpfmanProgConfigReconcileSuccess indicates that the BPF program has been // successfully reconciled. // // TODO: we should consider removing "reconciled" type logic from the // public API as it's an implementation detail of our use of controller // runtime, but not necessarily relevant to human users or integrations. // // See: https://github.com/bpfman/bpfman/issues/430 ProgramReconcileSuccess ProgramConditionType = "ReconcileSuccess" // ProgramDeleteError indicates that the BPF program was marked for // deletion, but deletion was unsuccessful. ProgramDeleteError ProgramConditionType = "DeleteError" )
func (ProgramConditionType) Condition ¶
func (b ProgramConditionType) Condition(message string) metav1.Condition
Condition is a helper method to promote any given ProgramConditionType to a full metav1.Condition in an opinionated fashion.
TODO: this was created in the early days to provide at least SOME status information to the user, but the hardcoded messages need to be replaced in the future with dynamic and situation-aware messages later.
type PullPolicy ¶
type PullPolicy string
PullPolicy describes a policy for if/when to pull a container image +kubebuilder:validation:Enum=Always;Never;IfNotPresent
const ( // PullAlways means that bpfman always attempts to pull the latest bytecode image. Container will fail If the pull fails. PullAlways PullPolicy = "Always" // PullNever means that bpfman never pulls an image, but only uses a local image. Container will fail if the image isn't present PullNever PullPolicy = "Never" // PullIfNotPresent means that bpfman pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails. PullIfNotPresent PullPolicy = "IfNotPresent" )
type TcProceedOnValue ¶
type TcProceedOnValue string
+kubebuilder:validation:Enum=unspec;ok;reclassify;shot;pipe;stolen;queued;repeat;redirect;trap;dispatcher_return
type TcProgram ¶
type TcProgram struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TcProgramSpec `json:"spec"` // +optional Status TcProgramStatus `json:"status,omitempty"` }
TcProgram is the Schema for the TcProgram API +kubebuilder:printcolumn:name="BpfFunctionName",type=string,JSONPath=`.spec.bpffunctionname` +kubebuilder:printcolumn:name="NodeSelector",type=string,JSONPath=`.spec.nodeselector` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.conditions[0].reason` +kubebuilder:printcolumn:name="Priority",type=string,JSONPath=`.spec.priority`,priority=1 +kubebuilder:printcolumn:name="Direction",type=string,JSONPath=`.spec.direction`,priority=1 +kubebuilder:printcolumn:name="InterfaceSelector",type=string,JSONPath=`.spec.interfaceselector`,priority=1 +kubebuilder:printcolumn:name="ProceedOn",type=string,JSONPath=`.spec.proceedon`,priority=1
func (*TcProgram) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcProgram.
func (*TcProgram) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TcProgram) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TcProgramList ¶
type TcProgramList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TcProgram `json:"items"` }
+kubebuilder:object:root=true TcProgramList contains a list of TcPrograms
func (*TcProgramList) DeepCopy ¶
func (in *TcProgramList) DeepCopy() *TcProgramList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcProgramList.
func (*TcProgramList) DeepCopyInto ¶
func (in *TcProgramList) DeepCopyInto(out *TcProgramList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TcProgramList) DeepCopyObject ¶
func (in *TcProgramList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TcProgramSpec ¶
type TcProgramSpec struct { BpfProgramCommon `json:",inline"` // Selector to determine the network interface (or interfaces) InterfaceSelector InterfaceSelector `json:"interfaceselector"` // Priority specifies the priority of the tc program in relation to // other programs of the same type with the same attach point. It is a value // from 0 to 1000 where lower values have higher precedence. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=1000 Priority int32 `json:"priority"` // Direction specifies the direction of traffic the tc program should // attach to for a given network device. // +kubebuilder:validation:Enum=ingress;egress Direction string `json:"direction"` // ProceedOn allows the user to call other tc programs in chain on this exit code. // Multiple values are supported by repeating the parameter. // +optional // +kubebuilder:validation:MaxItems=11 // +kubebuilder:default:={pipe,dispatcher_return} ProceedOn []TcProceedOnValue `json:"proceedon"` }
TcProgramSpec defines the desired state of TcProgram
func (*TcProgramSpec) DeepCopy ¶
func (in *TcProgramSpec) DeepCopy() *TcProgramSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcProgramSpec.
func (*TcProgramSpec) DeepCopyInto ¶
func (in *TcProgramSpec) DeepCopyInto(out *TcProgramSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TcProgramStatus ¶
type TcProgramStatus struct { // Conditions houses the global cluster state for the TcProgram. The explicit // condition types are defined internally. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
TcProgramStatus defines the observed state of TcProgram
func (*TcProgramStatus) DeepCopy ¶
func (in *TcProgramStatus) DeepCopy() *TcProgramStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcProgramStatus.
func (*TcProgramStatus) DeepCopyInto ¶
func (in *TcProgramStatus) DeepCopyInto(out *TcProgramStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TracepointProgram ¶
type TracepointProgram struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TracepointProgramSpec `json:"spec"` // +optional Status TracepointProgramStatus `json:"status,omitempty"` }
TracepointProgram is the Schema for the TracepointPrograms API +kubebuilder:printcolumn:name="BpfFunctionName",type=string,JSONPath=`.spec.bpffunctionname` +kubebuilder:printcolumn:name="NodeSelector",type=string,JSONPath=`.spec.nodeselector` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.conditions[0].reason` +kubebuilder:printcolumn:name="TracePoint",type=string,JSONPath=`.spec.name`,priority=1
func (*TracepointProgram) DeepCopy ¶
func (in *TracepointProgram) DeepCopy() *TracepointProgram
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TracepointProgram.
func (*TracepointProgram) DeepCopyInto ¶
func (in *TracepointProgram) DeepCopyInto(out *TracepointProgram)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TracepointProgram) DeepCopyObject ¶
func (in *TracepointProgram) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TracepointProgramList ¶
type TracepointProgramList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TracepointProgram `json:"items"` }
+kubebuilder:object:root=true TracepointProgramList contains a list of TracepointPrograms
func (*TracepointProgramList) DeepCopy ¶
func (in *TracepointProgramList) DeepCopy() *TracepointProgramList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TracepointProgramList.
func (*TracepointProgramList) DeepCopyInto ¶
func (in *TracepointProgramList) DeepCopyInto(out *TracepointProgramList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TracepointProgramList) DeepCopyObject ¶
func (in *TracepointProgramList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TracepointProgramSpec ¶
type TracepointProgramSpec struct { BpfProgramCommon `json:",inline"` // Names refers to the names of kernel tracepoints to attach the // bpf program to. Names []string `json:"names"` }
TracepointProgramSpec defines the desired state of TracepointProgram +kubebuilder:printcolumn:name="TracePoint",type=string,JSONPath=`.spec.name`
func (*TracepointProgramSpec) DeepCopy ¶
func (in *TracepointProgramSpec) DeepCopy() *TracepointProgramSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TracepointProgramSpec.
func (*TracepointProgramSpec) DeepCopyInto ¶
func (in *TracepointProgramSpec) DeepCopyInto(out *TracepointProgramSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TracepointProgramStatus ¶
type TracepointProgramStatus struct { // Conditions houses the global cluster state for the TracepointProgram. The explicit // condition types are defined internally. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
TracepointProgramStatus defines the observed state of TracepointProgram
func (*TracepointProgramStatus) DeepCopy ¶
func (in *TracepointProgramStatus) DeepCopy() *TracepointProgramStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TracepointProgramStatus.
func (*TracepointProgramStatus) DeepCopyInto ¶
func (in *TracepointProgramStatus) DeepCopyInto(out *TracepointProgramStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UprobeProgram ¶
type UprobeProgram struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec UprobeProgramSpec `json:"spec"` // +optional Status UprobeProgramStatus `json:"status,omitempty"` }
UprobeProgram is the Schema for the UprobePrograms API +kubebuilder:printcolumn:name="BpfFunctionName",type=string,JSONPath=`.spec.bpffunctionname` +kubebuilder:printcolumn:name="NodeSelector",type=string,JSONPath=`.spec.nodeselector` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.conditions[0].reason` +kubebuilder:printcolumn:name="FunctionName",type=string,JSONPath=`.spec.func_name`,priority=1 +kubebuilder:printcolumn:name="Offset",type=integer,JSONPath=`.spec.offset`,priority=1 +kubebuilder:printcolumn:name="Target",type=string,JSONPath=`.spec.target`,priority=1 +kubebuilder:printcolumn:name="RetProbe",type=boolean,JSONPath=`.spec.retprobe`,priority=1 +kubebuilder:printcolumn:name="Pid",type=integer,JSONPath=`.spec.pid`,priority=1
func (*UprobeProgram) DeepCopy ¶
func (in *UprobeProgram) DeepCopy() *UprobeProgram
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UprobeProgram.
func (*UprobeProgram) DeepCopyInto ¶
func (in *UprobeProgram) DeepCopyInto(out *UprobeProgram)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UprobeProgram) DeepCopyObject ¶
func (in *UprobeProgram) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UprobeProgramList ¶
type UprobeProgramList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []UprobeProgram `json:"items"` }
+kubebuilder:object:root=true UprobeProgramList contains a list of UprobePrograms
func (*UprobeProgramList) DeepCopy ¶
func (in *UprobeProgramList) DeepCopy() *UprobeProgramList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UprobeProgramList.
func (*UprobeProgramList) DeepCopyInto ¶
func (in *UprobeProgramList) DeepCopyInto(out *UprobeProgramList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UprobeProgramList) DeepCopyObject ¶
func (in *UprobeProgramList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UprobeProgramSpec ¶
type UprobeProgramSpec struct { BpfProgramCommon `json:",inline"` // Function to attach the uprobe to. // +optional FunctionName string `json:"func_name"` // Offset added to the address of the function for uprobe. // +optional // +kubebuilder:default:=0 Offset uint64 `json:"offset"` // Library name or the absolute path to a binary or library. Target string `json:"target"` // Whether the program is a uretprobe. Default is false // +optional // +kubebuilder:default:=false RetProbe bool `json:"retprobe"` // Only execute uprobe for given process identification number (PID). If PID // is not provided, uprobe executes for all PIDs. // +optional Pid int32 `json:"pid"` // Containers identifes the set of containers in which to attach the uprobe. // If Containers is not specified, the uprobe will be attached in the // bpfman-agent container. The ContainerSelector is very flexible and even // allows the selection of all containers in a cluster. If an attempt is // made to attach uprobes to too many containers, it can have a negative // impact on on the cluster. // +optional Containers *ContainerSelector `json:"containers"` }
UprobeProgramSpec defines the desired state of UprobeProgram +kubebuilder:printcolumn:name="FunctionName",type=string,JSONPath=`.spec.func_name` +kubebuilder:printcolumn:name="Offset",type=integer,JSONPath=`.spec.offset` +kubebuilder:printcolumn:name="Target",type=string,JSONPath=`.spec.target` +kubebuilder:printcolumn:name="RetProbe",type=boolean,JSONPath=`.spec.retprobe` +kubebuilder:printcolumn:name="Pid",type=integer,JSONPath=`.spec.pid`
func (*UprobeProgramSpec) DeepCopy ¶
func (in *UprobeProgramSpec) DeepCopy() *UprobeProgramSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UprobeProgramSpec.
func (*UprobeProgramSpec) DeepCopyInto ¶
func (in *UprobeProgramSpec) DeepCopyInto(out *UprobeProgramSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UprobeProgramStatus ¶
type UprobeProgramStatus struct { // Conditions houses the global cluster state for the UprobeProgram. The explicit // condition types are defined internally. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
UprobeProgramStatus defines the observed state of UprobeProgram
func (*UprobeProgramStatus) DeepCopy ¶
func (in *UprobeProgramStatus) DeepCopy() *UprobeProgramStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UprobeProgramStatus.
func (*UprobeProgramStatus) DeepCopyInto ¶
func (in *UprobeProgramStatus) DeepCopyInto(out *UprobeProgramStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type XdpProceedOnValue ¶
type XdpProceedOnValue string
+kubebuilder:validation:Enum=aborted;drop;pass;tx;redirect;dispatcher_return
type XdpProgram ¶
type XdpProgram struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec XdpProgramSpec `json:"spec"` // +optional Status XdpProgramStatus `json:"status,omitempty"` }
XdpProgram is the Schema for the XdpPrograms API +kubebuilder:printcolumn:name="BpfFunctionName",type=string,JSONPath=`.spec.bpffunctionname` +kubebuilder:printcolumn:name="NodeSelector",type=string,JSONPath=`.spec.nodeselector` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.conditions[0].reason` +kubebuilder:printcolumn:name="Priority",type=string,JSONPath=`.spec.priority`,priority=1 +kubebuilder:printcolumn:name="InterfaceSelector",type=string,JSONPath=`.spec.interfaceselector`,priority=1 +kubebuilder:printcolumn:name="ProceedOn",type=string,JSONPath=`.spec.proceedon`,priority=1
func (*XdpProgram) DeepCopy ¶
func (in *XdpProgram) DeepCopy() *XdpProgram
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XdpProgram.
func (*XdpProgram) DeepCopyInto ¶
func (in *XdpProgram) DeepCopyInto(out *XdpProgram)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*XdpProgram) DeepCopyObject ¶
func (in *XdpProgram) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type XdpProgramList ¶
type XdpProgramList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []XdpProgram `json:"items"` }
+kubebuilder:object:root=true XdpProgramList contains a list of XdpPrograms
func (*XdpProgramList) DeepCopy ¶
func (in *XdpProgramList) DeepCopy() *XdpProgramList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XdpProgramList.
func (*XdpProgramList) DeepCopyInto ¶
func (in *XdpProgramList) DeepCopyInto(out *XdpProgramList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*XdpProgramList) DeepCopyObject ¶
func (in *XdpProgramList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type XdpProgramSpec ¶
type XdpProgramSpec struct { BpfProgramCommon `json:",inline"` // Selector to determine the network interface (or interfaces) InterfaceSelector InterfaceSelector `json:"interfaceselector"` // Priority specifies the priority of the bpf program in relation to // other programs of the same type with the same attach point. It is a value // from 0 to 1000 where lower values have higher precedence. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=1000 Priority int32 `json:"priority"` ProceedOn []XdpProceedOnValue `json:"proceedon"` }
XdpProgramSpec defines the desired state of XdpProgram
func (*XdpProgramSpec) DeepCopy ¶
func (in *XdpProgramSpec) DeepCopy() *XdpProgramSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XdpProgramSpec.
func (*XdpProgramSpec) DeepCopyInto ¶
func (in *XdpProgramSpec) DeepCopyInto(out *XdpProgramSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type XdpProgramStatus ¶
type XdpProgramStatus struct { // Conditions houses the global cluster state for the XdpProgram. The explicit // condition types are defined internally. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
XdpProgramStatus defines the observed state of XdpProgram
func (*XdpProgramStatus) DeepCopy ¶
func (in *XdpProgramStatus) DeepCopy() *XdpProgramStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XdpProgramStatus.
func (*XdpProgramStatus) DeepCopyInto ¶
func (in *XdpProgramStatus) DeepCopyInto(out *XdpProgramStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.