v1alpha1

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

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

View Source
const GroupName = "bpfman.io"

GroupName specifies the group name used to register the objects.

Variables

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

	// Depreciated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
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

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

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.

See: https://github.com/bpfman/bpfman/issues/430

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

func (in *TcProgram) DeepCopy() *TcProgram

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

func (*TcProgram) DeepCopyInto

func (in *TcProgram) DeepCopyInto(out *TcProgram)

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

func (*TcProgram) DeepCopyObject

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

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

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

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

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.

Jump to

Keyboard shortcuts

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