v1alpha1

package
v0.0.0-...-7fc0de4 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the svc.dpf v1alpha1 API group +kubebuilder:object:generate=true +groupName=svc.dpu.nvidia.com

Package v1alpha1 contains API Schema definitions for the sfc v1alpha1 API group +kubebuilder:object:generate=true +groupName=svc.dpu.nvidia.com

Index

Constants

View Source
const (
	DPUDeploymentFinalizer = "dpu.nvidia.com/dpudeployment"
	DPUDeploymentKind      = "DPUDeployment"
)
View Source
const (
	ConditionPreReqsReady                   conditions.ConditionType = "PrerequisitesReady"
	ConditionResourceFittingReady           conditions.ConditionType = "ResourceFittingReady"
	ConditionDPUSetsReconciled              conditions.ConditionType = "DPUSetsReconciled"
	ConditionDPUSetsReady                   conditions.ConditionType = "DPUSetsReady"
	ConditionDPUServicesReconciled          conditions.ConditionType = "DPUServicesReconciled"
	ConditionDPUServicesReady               conditions.ConditionType = "DPUServicesReady"
	ConditionDPUServiceChainsReconciled     conditions.ConditionType = "DPUServiceChainsReconciled"
	ConditionDPUServiceChainsReady          conditions.ConditionType = "DPUServiceChainsReady"
	ConditionDPUServiceInterfacesReconciled conditions.ConditionType = "DPUServiceInterfacesReconciled"
	ConditionDPUServiceInterfacesReady      conditions.ConditionType = "DPUServiceInterfacesReady"
)

Status related variables

View Source
const (
	// DPUServiceCredentialRequestFinalizer is the finalizer that will be added to the
	DPUServiceCredentialRequestFinalizer = "dpu.nvidia.com/dpuservicecredentialrequest"
	DPUServiceCredentialRequestKind      = "DPUServiceCredentialRequest"
)
View Source
const (
	// SecretTypeKubeconfig is the type of the secret that will be created.
	SecretTypeKubeconfig = "kubeconfig"
	// SecretTypeTokenFile is the type of the secret that will be created.
	SecretTypeTokenFile = "tokenFile"
)
View Source
const (
	// ConditionServiceAccountReconciled is the condition type that indicates that the
	// service account is ready.
	ConditionServiceAccountReconciled conditions.ConditionType = "ServiceAccountReconciled"

	// ConditionSecretReconciled is the condition type that indicates that the secret
	// is ready.
	ConditionSecretReconciled conditions.ConditionType = "SecretReconciled"
)
View Source
const (
	// DPUServiceKind is the kind of the DPUService.
	DPUServiceKind = "DPUService"
	// DPUServiceListKind is the kind of the DPUServiceList.
	DPUServiceListKind = "DPUServiceList"
	// DPUServiceFinalizer is the finalizer that will be added to the DPUService.
	DPUServiceFinalizer = "dpu.nvidia.com/dpuservice"
	// DPUServiceNameLabelKey is the label key that is used to store the name of the DPUService.
	DPUServiceNameLabelKey = "dpu.nvidia.com/dpuservice-name"
	// DPUServiceNamespaceLabelKey is the label key that is used to store the namespace of the DPUService.
	DPUServiceNamespaceLabelKey = "dpu.nvidia.com/dpuservice-namespace"
	// DPFServiceIDLabelKey is a label of DPU Service pods with a value of service identifier.
	DPFServiceIDLabelKey = "svc.dpu.nvidia.com/service"

	// DPFImagePullSecretLabelKey marks a secret as being an ImagePullSecret used by DPF which should be mirrored to DPUClusters.
	DPFImagePullSecretLabelKey = "dpu.nvidia.com/image-pull-secret"

	// DPUServiceInterfaceAnnotationKey is the key used to add an annotation to a
	// the DPUServiceInterface to indicate that it is consumed by a DPUService.
	DPUServiceInterfaceAnnotationKey = "dpu.nvidia.com/consumed-by"

	// InterfaceIndexKey is the key used to index the DPUService by the interfaces
	// it consumes.
	InterfaceIndexKey = ".metadata.interfaces"
)
View Source
const (
	// ConditionDPUServiceInterfaceReconciled is the condition type that indicates that the
	// DPUServiceInterface is reconciled.
	ConditionDPUServiceInterfaceReconciled conditions.ConditionType = "DPUServiceInterfaceReconciled"
	// ConditionApplicationPrereqsReconciled is the condition type that indicates that the
	// application prerequisites are reconciled.
	ConditionApplicationPrereqsReconciled conditions.ConditionType = "ApplicationPrereqsReconciled"
	// ConditionApplicationsReconciled is the condition type that indicates that the
	// applications are reconciled.
	ConditionApplicationsReconciled conditions.ConditionType = "ApplicationsReconciled"
	// ConditionApplicationsReady is the condition type that indicates that the
	// applications are ready.
	ConditionApplicationsReady conditions.ConditionType = "ApplicationsReady"
)
View Source
const (
	DPUServiceChainFinalizer = "svc.dpu.nvidia.com/dpuservicechain"
	DPUServiceChainKind      = "DPUServiceChain"
	DPUServiceChainListKind  = "DPUServiceChainList"
)
View Source
const (
	ConditionServiceChainSetReconciled conditions.ConditionType = "ServiceChainSetReconciled"
	ConditionServiceChainSetReady      conditions.ConditionType = "ServiceChainSetReady"
)

Status related variables

View Source
const (
	DPUServiceInterfaceFinalizer = "svc.dpu.nvidia.com/dpuserviceinterface"
	DPUServiceInterfaceKind      = "DPUServiceInterface"
	DPUServiceInterfaceListKind  = "DPUServiceInterfaceList"
)
View Source
const (
	ConditionServiceInterfaceSetReconciled conditions.ConditionType = "ServiceInterfaceSetReconciled"
	ConditionServiceInterfaceSetReady      conditions.ConditionType = "ServiceInterfaceSetReady"
)

Status related variables

View Source
const (
	DPUServiceIPAMFinalizer = "svc.dpu.nvidia.com/dpuserviceipam"
	DPUServiceIPAMKind      = "DPUServiceIPAM"
)
View Source
const (
	ConditionDPUIPAMObjectReconciled conditions.ConditionType = "DPUIPAMObjectReconciled"
	ConditionDPUIPAMObjectReady      conditions.ConditionType = "DPUIPAMObjectReady"
)

Status related variables

View Source
const (
	// ServiceChainSetKind is the kind of the ServiceChainSet in string format.
	ServiceChainSetKind = "ServiceChainSet"
	// ServiceChainSetFinalizer is set on a ServiceChainSet when it is first handled by
	// the controller, and removed when this object is deleted.
	ServiceChainSetFinalizer = "dpu.nvidia.com/servicechainset"
)
View Source
const (
	ConditionServiceChainsReconciled conditions.ConditionType = "ServiceChainsReconciled"
	ConditionServiceChainsReady      conditions.ConditionType = "ServiceChainsReady"
)

Status related variables

View Source
const (
	ServiceInterfaceKind = "ServiceChain"

	// InterfaceTypeVLAN is the vlan interface type
	InterfaceTypeVLAN = "vlan"
	// InterfaceTypePhysical is the physical interface type
	InterfaceTypePhysical = "physical"
	// InterfaceTypePF is the pf interface type
	InterfaceTypePF = "pf"
	// InterfaceTypeVF is the vf interface type
	InterfaceTypeVF = "vf"
	// InterfaceTypeOVN is the ovn interface type
	InterfaceTypeOVN = "ovn"
	// InterfaceTypeService is the service interface type
	InterfaceTypeService = "service"
)
View Source
const (
	// ServiceInterfaceSetKind is the kind of the ServiceInterfaceSet in string format.
	ServiceInterfaceSetKind = "ServiceInterfaceSet"
	// ServiceInterfaceSetFinalizer is set on a ServiceInterfaceSet when it is first handled by
	// the controller, and removed when this object is deleted.
	ServiceInterfaceSetFinalizer = "dpu.nvidia.com/serviceinterfaceset"
)
View Source
const (
	ConditionServiceInterfacesReconciled conditions.ConditionType = "ServiceInterfacesReconciled"
	ConditionServiceInterfacesReady      conditions.ConditionType = "ServiceInterfacesReady"
)

Status related variables

View Source
const (
	// DPUServiceConfigurationKind is the kind of the DPUServiceConfiguration object
	DPUServiceConfigurationKind = "DPUServiceConfiguration"
)
View Source
const (
	// DPUServiceTemplateKind is the kind of the DPUServiceTemplate object
	DPUServiceTemplateKind = "DPUServiceTemplate"
)
View Source
const (
	ServiceChainKind = "ServiceChain"
)
View Source
const SvcDpuGroupName = "svc.dpu.nvidia.com"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "svc.dpu.nvidia.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// DPUServiceConditions is the list of conditions that the DPUService
	// can have.
	Conditions = []conditions.ConditionType{
		conditions.TypeReady,
		ConditionApplicationPrereqsReconciled,
		ConditionApplicationsReconciled,
		ConditionApplicationsReady,
		ConditionDPUServiceInterfaceReconciled,
	}
)
View Source
var (
	// DPUCredentialRequestConditions is the list of conditions that the DPUServiceCredentialRequest
	// can have.
	DPUCredentialRequestConditions = []conditions.ConditionType{
		conditions.TypeReady,
		ConditionServiceAccountReconciled,
		ConditionSecretReconciled,
	}
)
View Source
var DPUDeploymentGroupVersionKind = GroupVersion.WithKind(DPUDeploymentKind)
View Source
var DPUServiceChainGroupVersionKind = GroupVersion.WithKind(DPUServiceChainKind)
View Source
var DPUServiceConfigurationGroupVersionKind = GroupVersion.WithKind(DPUServiceConfigurationKind)

DPUServiceConfigurationGroupVersionKind is the GroupVersionKind of the DPUServiceConfiguration object

View Source
var DPUServiceCredentialRequestGroupVersionKind = GroupVersion.WithKind(DPUServiceCredentialRequestKind)
View Source
var DPUServiceGroupVersionKind = GroupVersion.WithKind(DPUServiceKind)
View Source
var DPUServiceIPAMGroupVersionKind = GroupVersion.WithKind(DPUServiceIPAMKind)
View Source
var DPUServiceInterfaceGroupVersionKind = GroupVersion.WithKind(DPUServiceInterfaceKind)
View Source
var DPUServiceTemplateGroupVersionKind = GroupVersion.WithKind(DPUServiceTemplateKind)

DPUServiceTemplateGroupVersionKind is the GroupVersionKind of the DPUServiceTemplate object

View Source
var ServiceChainGroupVersionKind = GroupVersion.WithKind(ServiceChainKind)
View Source
var (
	// ServiceChainSetGroupVersionKind is the GroupVersionKind of the ServiceChainSet
	ServiceChainSetGroupVersionKind = GroupVersion.WithKind(ServiceChainSetKind)
)
View Source
var ServiceInterfaceGroupVersionKind = GroupVersion.WithKind(ServiceChainKind)
View Source
var (
	// ServiceInterfaceSetGroupVersionKind is the GroupVersionKind of the ServiceInterfaceSet
	ServiceInterfaceSetGroupVersionKind = GroupVersion.WithKind(ServiceInterfaceSetKind)
)

Functions

This section is empty.

Types

type ApplicationSource

type ApplicationSource struct {
	// RepoURL specifies the URL to the repository that contains the application Helm chart.
	// The URL must begin with either 'oci://' or 'https://', ensuring it points to a valid
	// OCI registry or a web-based repository.
	// +kubebuilder:validation:Pattern=`^(oci://|https://).+$`
	// +required
	RepoURL string `json:"repoURL"`

	// Path is the location of the chart inside the repo.
	// +optional
	Path string `json:"path"`

	// Version is a semver tag for the Chart's version.
	// +kubebuilder:validation:MinLength=1
	// +required
	Version string `json:"version"`

	// Chart is the name of the helm chart.
	// +optional
	Chart string `json:"chart,omitempty"`

	// ReleaseName is the name to give to the release generate from the DPUService.
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`
}

ApplicationSource specifies the source of the Helm chart.

func (*ApplicationSource) DeepCopy

func (in *ApplicationSource) DeepCopy() *ApplicationSource

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

func (*ApplicationSource) DeepCopyInto

func (in *ApplicationSource) DeepCopyInto(out *ApplicationSource)

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

func (*ApplicationSource) GetArgoRepoURL

func (a *ApplicationSource) GetArgoRepoURL() string

type DPUDeployment

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

	Spec   DPUDeploymentSpec   `json:"spec,omitempty"`
	Status DPUDeploymentStatus `json:"status,omitempty"`
}

DPUDeployment is the Schema for the dpudeployments API. This object connects DPUServices with specific BFBs and DPUServiceChains.

func (*DPUDeployment) DeepCopy

func (in *DPUDeployment) DeepCopy() *DPUDeployment

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

func (*DPUDeployment) DeepCopyInto

func (in *DPUDeployment) DeepCopyInto(out *DPUDeployment)

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

func (*DPUDeployment) DeepCopyObject

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

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

func (*DPUDeployment) GetConditions

func (c *DPUDeployment) GetConditions() []metav1.Condition

func (*DPUDeployment) SetConditions

func (c *DPUDeployment) SetConditions(conditions []metav1.Condition)

type DPUDeploymentList

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

DPUDeploymentList contains a list of DPUDeployment

func (*DPUDeploymentList) DeepCopy

func (in *DPUDeploymentList) DeepCopy() *DPUDeploymentList

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

func (*DPUDeploymentList) DeepCopyInto

func (in *DPUDeploymentList) DeepCopyInto(out *DPUDeploymentList)

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

func (*DPUDeploymentList) DeepCopyObject

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

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

type DPUDeploymentPort

type DPUDeploymentPort struct {
	// Service holds configuration that helps configure the Service Function Chain and identify a port associated with
	// a DPUService
	// +optional
	Service *DPUDeploymentService `json:"service,omitempty"`
	// ServiceInterface holds configuration that helps configure the Service Function Chain and identify a user defined
	// port
	// +optional
	ServiceInterface *ServiceIfc `json:"serviceInterface,omitempty"`
}

DPUDeploymentPort defines how a port can be configured +kubebuilder:validation:XValidation:rule="(has(self.service) && !has(self.serviceInterface)) || (!has(self.service) && has(self.serviceInterface))", message="either service or serviceInterface must be specified"

func (*DPUDeploymentPort) DeepCopy

func (in *DPUDeploymentPort) DeepCopy() *DPUDeploymentPort

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

func (*DPUDeploymentPort) DeepCopyInto

func (in *DPUDeploymentPort) DeepCopyInto(out *DPUDeploymentPort)

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

type DPUDeploymentService

type DPUDeploymentService struct {
	// Name is the name of the service as defined in the DPUDeployment Spec
	// +required
	Name string `json:"name"`
	// Interface name is the name of the interface as defined in the DPUServiceTemplate
	// +required
	InterfaceName string `json:"interface"`
	// IPAM defines the IPAM configuration that is configured in the Service Function Chain
	// +optional
	IPAM *IPAM `json:"ipam,omitempty"`
}

DPUDeploymentService is the struct used for referencing an interface.

func (*DPUDeploymentService) DeepCopy

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

func (*DPUDeploymentService) DeepCopyInto

func (in *DPUDeploymentService) DeepCopyInto(out *DPUDeploymentService)

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

type DPUDeploymentServiceConfiguration

type DPUDeploymentServiceConfiguration struct {
	// ServiceTemplate is the name of the DPUServiceTemplate object to be used for this Service. It must be in the same
	// namespace as the DPUDeployment.
	ServiceTemplate string `json:"serviceTemplate"`
	// ServiceConfiguration is the name of the DPUServiceConfiguration object to be used for this Service. It must be
	// in the same namespace as the DPUDeployment.
	ServiceConfiguration string `json:"serviceConfiguration"`
}

DPUDeploymentServiceConfiguration describes the configuration of a particular Service

func (*DPUDeploymentServiceConfiguration) DeepCopy

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

func (*DPUDeploymentServiceConfiguration) DeepCopyInto

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

type DPUDeploymentSpec

type DPUDeploymentSpec struct {
	// DPUs contains the DPU related configuration
	// +required
	DPUs DPUs `json:"dpus"`

	// Services contains the DPUDeploymentService related configuration. The key is the deploymentServiceName and the value is its
	// configuration. All underlying objects must specify the same deploymentServiceName in order to be able to be consumed by the
	// DPUDeployment.
	// +required
	Services map[string]DPUDeploymentServiceConfiguration `json:"services"`

	// ServiceChains contains the configuration related to the DPUServiceChains that the DPUDeployment creates.
	// +required
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=50
	ServiceChains []DPUDeploymentSwitch `json:"serviceChains"`
}

DPUDeploymentSpec defines the desired state of DPUDeployment

func (*DPUDeploymentSpec) DeepCopy

func (in *DPUDeploymentSpec) DeepCopy() *DPUDeploymentSpec

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

func (*DPUDeploymentSpec) DeepCopyInto

func (in *DPUDeploymentSpec) DeepCopyInto(out *DPUDeploymentSpec)

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

type DPUDeploymentStatus

type DPUDeploymentStatus struct {
	// Conditions reflect the status of the object
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

DPUDeploymentStatus defines the observed state of DPUDeployment

func (*DPUDeploymentStatus) DeepCopy

func (in *DPUDeploymentStatus) DeepCopy() *DPUDeploymentStatus

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

func (*DPUDeploymentStatus) DeepCopyInto

func (in *DPUDeploymentStatus) DeepCopyInto(out *DPUDeploymentStatus)

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

type DPUDeploymentSwitch

type DPUDeploymentSwitch struct {
	// Ports contains the ports of the switch
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=50
	// +required
	Ports []DPUDeploymentPort `json:"ports"`
}

DPUDeploymentSwitch holds the ports that are connected in switch topology

func (*DPUDeploymentSwitch) DeepCopy

func (in *DPUDeploymentSwitch) DeepCopy() *DPUDeploymentSwitch

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

func (*DPUDeploymentSwitch) DeepCopyInto

func (in *DPUDeploymentSwitch) DeepCopyInto(out *DPUDeploymentSwitch)

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

type DPUService

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

	Spec   DPUServiceSpec   `json:"spec,omitempty"`
	Status DPUServiceStatus `json:"status,omitempty"`
}

DPUService is the Schema for the dpuservices API

func (*DPUService) DeepCopy

func (in *DPUService) DeepCopy() *DPUService

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

func (*DPUService) DeepCopyInto

func (in *DPUService) DeepCopyInto(out *DPUService)

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

func (*DPUService) DeepCopyObject

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

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

func (*DPUService) GetConditions

func (s *DPUService) GetConditions() []metav1.Condition

GetConditions returns the conditions of the DPUService.

func (*DPUService) IsPaused

func (s *DPUService) IsPaused() bool

IsPaused returns true if the DPUService is paused.

func (*DPUService) SetConditions

func (s *DPUService) SetConditions(conditions []metav1.Condition)

SetConditions sets the conditions of the DPUService.

func (*DPUService) SetServiceDeamonSetNodeSelector

func (s *DPUService) SetServiceDeamonSetNodeSelector(nodeSelector *corev1.NodeSelector)

SetServiceDeamonSetNodeSelector sets the nodeSelector for the ServiceDaemonSet.

type DPUServiceChain

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

	Spec   DPUServiceChainSpec   `json:"spec,omitempty"`
	Status DPUServiceChainStatus `json:"status,omitempty"`
}

DPUServiceChain is the Schema for the DPUServiceChain API

func (*DPUServiceChain) DeepCopy

func (in *DPUServiceChain) DeepCopy() *DPUServiceChain

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

func (*DPUServiceChain) DeepCopyInto

func (in *DPUServiceChain) DeepCopyInto(out *DPUServiceChain)

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

func (*DPUServiceChain) DeepCopyObject

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

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

func (*DPUServiceChain) GetConditions

func (c *DPUServiceChain) GetConditions() []metav1.Condition

func (*DPUServiceChain) SetConditions

func (c *DPUServiceChain) SetConditions(conditions []metav1.Condition)

type DPUServiceChainList

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

DPUServiceChainList contains a list of DPUServiceChain

func (*DPUServiceChainList) DeepCopy

func (in *DPUServiceChainList) DeepCopy() *DPUServiceChainList

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

func (*DPUServiceChainList) DeepCopyInto

func (in *DPUServiceChainList) DeepCopyInto(out *DPUServiceChainList)

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

func (*DPUServiceChainList) DeepCopyObject

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

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

type DPUServiceChainSpec

type DPUServiceChainSpec struct {
	// Select the Clusters with specific labels, ServiceChainSet CRs will be created only for these Clusters
	// +optional
	ClusterSelector *metav1.LabelSelector `json:"clusterSelector,omitempty"`
	// Template describes the ServiceChainSet that will be created for each selected Cluster.
	Template ServiceChainSetSpecTemplate `json:"template"`
}

DPUServiceChainSpec defines the desired state of DPUServiceChainSpec

func (*DPUServiceChainSpec) DeepCopy

func (in *DPUServiceChainSpec) DeepCopy() *DPUServiceChainSpec

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

func (*DPUServiceChainSpec) DeepCopyInto

func (in *DPUServiceChainSpec) DeepCopyInto(out *DPUServiceChainSpec)

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

type DPUServiceChainStatus

type DPUServiceChainStatus struct {
	// Conditions reflect the status of the object
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

DPUServiceChainStatus defines the observed state of DPUServiceChain

func (*DPUServiceChainStatus) DeepCopy

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

func (*DPUServiceChainStatus) DeepCopyInto

func (in *DPUServiceChainStatus) DeepCopyInto(out *DPUServiceChainStatus)

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

type DPUServiceConfiguration

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

	Spec   DPUServiceConfigurationSpec   `json:"spec,omitempty"`
	Status DPUServiceConfigurationStatus `json:"status,omitempty"`
}

DPUServiceConfiguration is the Schema for the dpuserviceconfigurations API. This object is intended to be used in conjunction with a DPUDeployment object. This object is the template from which the DPUService will be created. It contains all configuration options from the user to be provided to the service itself via the helm chart values. This object doesn't allow configuration of nodeSelector and resources in purpose as these are delegated to the DPUDeployment and DPUServiceTemplate accordingly.

func (*DPUServiceConfiguration) DeepCopy

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

func (*DPUServiceConfiguration) DeepCopyInto

func (in *DPUServiceConfiguration) DeepCopyInto(out *DPUServiceConfiguration)

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

func (*DPUServiceConfiguration) DeepCopyObject

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

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

type DPUServiceConfigurationList

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

DPUServiceConfigurationList contains a list of DPUServiceConfiguration

func (*DPUServiceConfigurationList) DeepCopy

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

func (*DPUServiceConfigurationList) DeepCopyInto

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

func (*DPUServiceConfigurationList) DeepCopyObject

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

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

type DPUServiceConfigurationServiceDaemonSetValues

type DPUServiceConfigurationServiceDaemonSetValues struct {
	// Labels specifies labels which are added to the ServiceDaemonSet.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// Annotations specifies annotations which are added to the ServiceDaemonSet.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

DPUServiceConfigurationServiceDaemonSetValues reflects the Helm related configuration

func (*DPUServiceConfigurationServiceDaemonSetValues) DeepCopy

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

func (*DPUServiceConfigurationServiceDaemonSetValues) DeepCopyInto

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

type DPUServiceConfigurationSpec

type DPUServiceConfigurationSpec struct {
	// DeploymentServiceName is the name of the DPU service this configuration refers to. It must match
	// .spec.deploymentServiceName of a DPUServiceTemplate object and one of the keys in .spec.services of a
	// DPUDeployment object.
	// +required
	DeploymentServiceName string `json:"deploymentServiceName"`
	// ServiceConfiguration contains fields that are configured on the generated DPUService.
	// +optional
	ServiceConfiguration ServiceConfiguration `json:"serviceConfiguration,omitempty"`
	// Interfaces specifies the DPUServiceInterface to be generated for the generated DPUService.
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=50
	// +optional
	Interfaces []ServiceInterfaceTemplate `json:"interfaces,omitempty"`
}

DPUServiceConfigurationSpec defines the desired state of DPUServiceConfiguration

func (*DPUServiceConfigurationSpec) DeepCopy

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

func (*DPUServiceConfigurationSpec) DeepCopyInto

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

type DPUServiceConfigurationStatus

type DPUServiceConfigurationStatus struct{}

DPUServiceConfigurationStatus defines the observed state of DPUServiceConfiguration

func (*DPUServiceConfigurationStatus) DeepCopy

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

func (*DPUServiceConfigurationStatus) DeepCopyInto

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

type DPUServiceCredentialRequest

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

	Spec   DPUServiceCredentialRequestSpec   `json:"spec,omitempty"`
	Status DPUServiceCredentialRequestStatus `json:"status,omitempty"`
}

DPUServiceCredentialRequest is the Schema for the dpuserviceCredentialRequests API

func (*DPUServiceCredentialRequest) DeepCopy

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

func (*DPUServiceCredentialRequest) DeepCopyInto

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

func (*DPUServiceCredentialRequest) DeepCopyObject

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

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

func (*DPUServiceCredentialRequest) GetConditions

func (c *DPUServiceCredentialRequest) GetConditions() []metav1.Condition

GetConditions returns the conditions of the DPUServiceCredentialRequest

func (*DPUServiceCredentialRequest) SetConditions

func (c *DPUServiceCredentialRequest) SetConditions(conditions []metav1.Condition)

SetConditions sets the conditions of the DPUServiceCredentialRequest

type DPUServiceCredentialRequestList

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

DPUServiceCredentialRequestList contains a list of DPUServiceCredentialRequest +kubebuilder:object:root=true

func (*DPUServiceCredentialRequestList) DeepCopy

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

func (*DPUServiceCredentialRequestList) DeepCopyInto

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

func (*DPUServiceCredentialRequestList) DeepCopyObject

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

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

type DPUServiceCredentialRequestSpec

type DPUServiceCredentialRequestSpec struct {
	// ServiceAccount defines the needed information to create the service account.
	// +required
	ServiceAccount NamespacedName `json:"serviceAccount"`

	// Duration is the duration for which the token will be valid.
	// Value must be in units accepted by Go time.ParseDuration https://golang.org/pkg/time/#ParseDuration.
	// e.g. "1h", "1m", "1s", "1ms", "1.5h", "2h45m".
	// Value duration must not be less than 10 minutes.
	// **Note:** The maximum TTL for a token is 24 hours, after which the token
	// will be rotated.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
	// +optional
	Duration *metav1.Duration `json:"duration,omitempty"`

	// TargetCluster defines the target cluster where the service account will
	// be created, and where a token for that service account will be requested.
	// If not provided, the token will be requested for the same cluster where
	// the DPUServiceCredentialRequest object is created.
	// +optional
	TargetCluster *NamespacedName `json:"targetCluster,omitempty"`

	// Type is the type of the secret that will be created.
	// The supported types are `kubeconfig` and `tokenFile`.
	// If `kubeconfig` is selected, the secret will contain a kubeconfig file,
	// that can be used to access the cluster.
	// If `tokenFile` is selected, the secret will contain a token file and serveral
	// environment variables that can be used to access the cluster. It can be used
	// with https://github.com/kubernetes/client-go/blob/v11.0.0/rest/config.go#L52
	// to create a client that will hanle file rotation.
	// +kubebuilder:validation:Enum=kubeconfig;tokenFile
	// +required
	Type string `json:"type"`

	// Secret defines the needed information to create the secret.
	// The secret will be of the type specified in the `spec.type` field.
	// +required
	Secret NamespacedName `json:"secret"`

	// ObjectMeta defines the metadata of the secret.
	// +optional
	ObjectMeta *ObjectMeta `json:"metadata,omitempty"`
}

DPUServiceCredentialRequestSpec defines the desired state of DPUServiceCredentialRequest

func (*DPUServiceCredentialRequestSpec) DeepCopy

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

func (*DPUServiceCredentialRequestSpec) DeepCopyInto

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

type DPUServiceCredentialRequestStatus

type DPUServiceCredentialRequestStatus struct {
	// Conditions defines current service state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ServiceAccount is the namespaced name of the ServiceAccount resource created by
	// the controller for the DPUServiceCredentialRequest.
	ServiceAccount *string `json:"serviceAccount,omitempty"`

	// TargetCluster is the cluster where the service account was created.
	// It has to be persisted in the status to be able to delete the service account
	// when the DPUServiceCredentialRequest is updated.
	// +optional
	TargetCluster *string `json:"targetCluster,omitempty"`

	// ExpirationTimestamp is the time when the token will expire.
	// +optional
	ExpirationTimestamp *metav1.Time `json:"expirationTimestamp,omitempty"`

	// IssuedAt is the time when the token was issued.
	// +optional
	IssuedAt *metav1.Time `json:"issuedAt,omitempty"`

	// Sercet is the namespaced name of the Secret resource created by the controller for
	// the DPUServiceCredentialRequest.
	Secret *string `json:"secret,omitempty"`
}

DPUServiceCredentialRequestStatus defines the observed state of DPUServiceCredentialRequest

func (*DPUServiceCredentialRequestStatus) DeepCopy

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

func (*DPUServiceCredentialRequestStatus) DeepCopyInto

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

func (*DPUServiceCredentialRequestStatus) GetSecret

GetSecret returns the namespace and name of the Secret.

func (*DPUServiceCredentialRequestStatus) GetServiceAccount

func (n *DPUServiceCredentialRequestStatus) GetServiceAccount() (string, string)

GetServiceAccount returns the namespace and name of the ServiceAccount.

func (*DPUServiceCredentialRequestStatus) GetTargetCluster

func (n *DPUServiceCredentialRequestStatus) GetTargetCluster() (string, string)

type DPUServiceIPAM

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

	Spec   DPUServiceIPAMSpec   `json:"spec,omitempty"`
	Status DPUServiceIPAMStatus `json:"status,omitempty"`
}

DPUServiceIPAM is the Schema for the dpuserviceipams API

func (*DPUServiceIPAM) DeepCopy

func (in *DPUServiceIPAM) DeepCopy() *DPUServiceIPAM

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

func (*DPUServiceIPAM) DeepCopyInto

func (in *DPUServiceIPAM) DeepCopyInto(out *DPUServiceIPAM)

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

func (*DPUServiceIPAM) DeepCopyObject

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

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

func (*DPUServiceIPAM) GetConditions

func (c *DPUServiceIPAM) GetConditions() []metav1.Condition

func (*DPUServiceIPAM) SetConditions

func (c *DPUServiceIPAM) SetConditions(conditions []metav1.Condition)

type DPUServiceIPAMList

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

DPUServiceIPAMList contains a list of DPUServiceIPAM

func (*DPUServiceIPAMList) DeepCopy

func (in *DPUServiceIPAMList) DeepCopy() *DPUServiceIPAMList

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

func (*DPUServiceIPAMList) DeepCopyInto

func (in *DPUServiceIPAMList) DeepCopyInto(out *DPUServiceIPAMList)

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

func (*DPUServiceIPAMList) DeepCopyObject

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

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

type DPUServiceIPAMSpec

type DPUServiceIPAMSpec struct {
	ObjectMeta `json:"metadata,omitempty"`
	// IPV4Network is the configuration related to splitting a network into subnets per node, each with their own gateway.
	IPV4Network *IPV4Network `json:"ipv4Network,omitempty"`
	// IPV4Subnet is the configuration related to splitting a subnet into blocks per node. In this setup, there is a
	// single gateway.
	IPV4Subnet *IPV4Subnet `json:"ipv4Subnet,omitempty"`

	// ClusterSelector determines in which clusters the DPUServiceIPAM controller should apply the configuration.
	// +optional
	ClusterSelector *metav1.LabelSelector `json:"clusterSelector,omitempty"`
	// NodeSelector determines in which DPU nodes the DPUServiceIPAM controller should apply the configuration.
	NodeSelector *corev1.NodeSelector `json:"nodeSelector,omitempty"`
}

DPUServiceIPAMSpec defines the desired state of DPUServiceIPAM

func (*DPUServiceIPAMSpec) DeepCopy

func (in *DPUServiceIPAMSpec) DeepCopy() *DPUServiceIPAMSpec

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

func (*DPUServiceIPAMSpec) DeepCopyInto

func (in *DPUServiceIPAMSpec) DeepCopyInto(out *DPUServiceIPAMSpec)

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

type DPUServiceIPAMStatus

type DPUServiceIPAMStatus struct {
	// Conditions reflect the status of the object
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

DPUServiceIPAMStatus defines the observed state of DPUServiceIPAM

func (*DPUServiceIPAMStatus) DeepCopy

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

func (*DPUServiceIPAMStatus) DeepCopyInto

func (in *DPUServiceIPAMStatus) DeepCopyInto(out *DPUServiceIPAMStatus)

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

type DPUServiceInterface

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

	Spec   DPUServiceInterfaceSpec   `json:"spec,omitempty"`
	Status DPUServiceInterfaceStatus `json:"status,omitempty"`
}

DPUServiceInterface is the Schema for the DPUServiceInterface API

func (*DPUServiceInterface) DeepCopy

func (in *DPUServiceInterface) DeepCopy() *DPUServiceInterface

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

func (*DPUServiceInterface) DeepCopyInto

func (in *DPUServiceInterface) DeepCopyInto(out *DPUServiceInterface)

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

func (*DPUServiceInterface) DeepCopyObject

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

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

func (*DPUServiceInterface) GetConditions

func (c *DPUServiceInterface) GetConditions() []metav1.Condition

func (*DPUServiceInterface) SetConditions

func (c *DPUServiceInterface) SetConditions(conditions []metav1.Condition)

type DPUServiceInterfaceList

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

DPUServiceInterfaceList contains a list of DPUServiceInterface

func (*DPUServiceInterfaceList) DeepCopy

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

func (*DPUServiceInterfaceList) DeepCopyInto

func (in *DPUServiceInterfaceList) DeepCopyInto(out *DPUServiceInterfaceList)

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

func (*DPUServiceInterfaceList) DeepCopyObject

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

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

type DPUServiceInterfaceSpec

type DPUServiceInterfaceSpec struct {
	// Select the Clusters with specific labels, ServiceInterfaceSet CRs will be created only for these Clusters
	// +optional
	ClusterSelector *metav1.LabelSelector `json:"clusterSelector,omitempty"`
	// Template describes the ServiceInterfaceSet that will be created for each selected Cluster.
	Template ServiceInterfaceSetSpecTemplate `json:"template"`
}

DPUServiceInterfaceSpec defines the desired state of DPUServiceInterfaceSpec

func (*DPUServiceInterfaceSpec) DeepCopy

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

func (*DPUServiceInterfaceSpec) DeepCopyInto

func (in *DPUServiceInterfaceSpec) DeepCopyInto(out *DPUServiceInterfaceSpec)

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

func (*DPUServiceInterfaceSpec) GetTemplateSpec

func (s *DPUServiceInterfaceSpec) GetTemplateSpec() *ServiceInterfaceSetSpec

GetTemplateSpec returns the spec of the template

type DPUServiceInterfaceStatus

type DPUServiceInterfaceStatus struct {
	// Conditions defines current service state.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

DPUServiceInterfaceStatus defines the observed state of DPUServiceInterface

func (*DPUServiceInterfaceStatus) DeepCopy

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

func (*DPUServiceInterfaceStatus) DeepCopyInto

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

type DPUServiceList

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

DPUServiceList contains a list of DPUService

func (*DPUServiceList) DeepCopy

func (in *DPUServiceList) DeepCopy() *DPUServiceList

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

func (*DPUServiceList) DeepCopyInto

func (in *DPUServiceList) DeepCopyInto(out *DPUServiceList)

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

func (*DPUServiceList) DeepCopyObject

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

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

type DPUServiceSpec

type DPUServiceSpec struct {
	// HelmChart reflects the Helm related configuration
	// +required
	HelmChart HelmChart `json:"helmChart"`

	// ServiceID is the ID of the service that the DPUService is associated with.
	// +optional
	ServiceID *string `json:"serviceID,omitempty"`

	// ServiceDaemonSet specifies the configuration for the ServiceDaemonSet.
	// +optional
	ServiceDaemonSet *ServiceDaemonSetValues `json:"serviceDaemonSet,omitempty"`

	// DeployInCluster indicates if the DPUService Helm Chart will be deployed on
	// the Host cluster. Default to false.
	// +optional
	DeployInCluster *bool `json:"deployInCluster,omitempty"`

	// Interfaces specifies the DPUServiceInterface names that the DPUService
	// uses in the same namespace.
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=50
	// +optional
	Interfaces []string `json:"interfaces,omitempty"`

	// Paused indicates that the DPUService is paused.
	// Underlying resources are also paused when this is set to true.
	// No deletion of resources will occur when this is set to true.
	// +optional
	Paused *bool `json:"paused,omitempty"`
}

DPUServiceSpec defines the desired state of DPUService +kubebuilder:validation:XValidation:rule="(has(self.interfaces) && has(self.serviceID)) || (!has(self.interfaces) && !has(self.serviceID)) || has(self.serviceID)", message="serviceID must be provided when interfaces are provided"

func (*DPUServiceSpec) DeepCopy

func (in *DPUServiceSpec) DeepCopy() *DPUServiceSpec

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

func (*DPUServiceSpec) DeepCopyInto

func (in *DPUServiceSpec) DeepCopyInto(out *DPUServiceSpec)

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

type DPUServiceStatus

type DPUServiceStatus struct {
	// Conditions defines current service state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

DPUServiceStatus defines the observed state of DPUService

func (*DPUServiceStatus) DeepCopy

func (in *DPUServiceStatus) DeepCopy() *DPUServiceStatus

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

func (*DPUServiceStatus) DeepCopyInto

func (in *DPUServiceStatus) DeepCopyInto(out *DPUServiceStatus)

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

type DPUServiceTemplate

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

	Spec   DPUServiceTemplateSpec   `json:"spec,omitempty"`
	Status DPUServiceTemplateStatus `json:"status,omitempty"`
}

DPUServiceTemplate is the Schema for the DPUServiceTemplate API. This object is intended to be used in conjunction with a DPUDeployment object. This object is the template from which the DPUService will be created. It contains configuration options related to resources required by the service to be deployed. The rest of the configuration options must be defined in a DPUServiceConfiguration object.

func (*DPUServiceTemplate) DeepCopy

func (in *DPUServiceTemplate) DeepCopy() *DPUServiceTemplate

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

func (*DPUServiceTemplate) DeepCopyInto

func (in *DPUServiceTemplate) DeepCopyInto(out *DPUServiceTemplate)

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

func (*DPUServiceTemplate) DeepCopyObject

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

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

type DPUServiceTemplateList

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

DPUServiceTemplateList contains a list of DPUServiceTemplate

func (*DPUServiceTemplateList) DeepCopy

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

func (*DPUServiceTemplateList) DeepCopyInto

func (in *DPUServiceTemplateList) DeepCopyInto(out *DPUServiceTemplateList)

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

func (*DPUServiceTemplateList) DeepCopyObject

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

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

type DPUServiceTemplateSpec

type DPUServiceTemplateSpec struct {
	// DeploymentServiceName is the name of the DPU service this configuration refers to. It must match
	// .spec.deploymentServiceName of a DPUServiceConfiguration object and one of the keys in .spec.services of a
	// DPUDeployment object.
	// +required
	DeploymentServiceName string `json:"deploymentServiceName"`
	// HelmChart reflects the Helm related configuration. The user is supposed to configure the values that are static
	// across any DPUServiceConfiguration used with this DPUServiceTemplate in a DPUDeployment. These values act as a
	// baseline and are merged with values specified in the DPUServiceConfiguration. In case of conflict, the
	// DPUServiceConfiguration values take precedence.
	// +required
	HelmChart HelmChart `json:"helmChart"`
	// ResourceRequirements contains the overall resources required by this particular service to run on a single node
	// +optional
	ResourceRequirements corev1.ResourceList `json:"resourceRequirements,omitempty"`
}

DPUServiceTemplateSpec defines the desired state of DPUServiceTemplate

func (*DPUServiceTemplateSpec) DeepCopy

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

func (*DPUServiceTemplateSpec) DeepCopyInto

func (in *DPUServiceTemplateSpec) DeepCopyInto(out *DPUServiceTemplateSpec)

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

type DPUServiceTemplateStatus

type DPUServiceTemplateStatus struct{}

DPUServiceTemplateStatus defines the observed state of DPUServiceTemplate

func (*DPUServiceTemplateStatus) DeepCopy

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

func (*DPUServiceTemplateStatus) DeepCopyInto

func (in *DPUServiceTemplateStatus) DeepCopyInto(out *DPUServiceTemplateStatus)

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

type DPUSet

type DPUSet struct {
	// NameSuffix is the suffix to be added to the name of the DPUSet object created by the DPUDeployment.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +required
	NameSuffix string `json:"nameSuffix,omitempty"`

	// NodeSelector defines the nodes that the DPUSet should target
	// +optional
	NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`

	// DPUSelector defines the DPUs that the DPUSet should target
	// +optional
	DPUSelector map[string]string `json:"dpuSelector,omitempty"`

	// DPUAnnotations is the annotations to be added to the DPU object created by the DPUSet.
	// +optional
	DPUAnnotations map[string]string `json:"dpuAnnotations,omitempty"`
}

DPUSet contains configuration for the DPUSet to be created by the DPUDeployment

func (*DPUSet) DeepCopy

func (in *DPUSet) DeepCopy() *DPUSet

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

func (*DPUSet) DeepCopyInto

func (in *DPUSet) DeepCopyInto(out *DPUSet)

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

type DPUs

type DPUs struct {
	// BFB is the name of the BFB object to be used in this DPUDeployment. It must be in the same namespace as the
	// DPUDeployment.
	// +required
	BFB string `json:"bfb"`

	// Flavor is the name of the DPUFlavor object to be used in this DPUDeployment. It must be in the same namespace as
	// the DPUDeployment.
	// +required
	Flavor string `json:"flavor"`

	// DPUSets contains configuration for each DPUSet that is going to be created by the DPUDeployment
	// +optional
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=50
	DPUSets []DPUSet `json:"dpuSets,omitempty"`
}

DPUs contains the DPU related configuration

func (*DPUs) DeepCopy

func (in *DPUs) DeepCopy() *DPUs

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

func (*DPUs) DeepCopyInto

func (in *DPUs) DeepCopyInto(out *DPUs)

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

type HelmChart

type HelmChart struct {
	// Source specifies information about the Helm chart
	// +required
	Source ApplicationSource `json:"source"`

	// Values specifies Helm values to be passed to Helm template, defined as a map. This takes precedence over Values.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Values *runtime.RawExtension `json:"values,omitempty"`
}

HelmChart reflects the helm related configuration

func (*HelmChart) DeepCopy

func (in *HelmChart) DeepCopy() *HelmChart

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

func (*HelmChart) DeepCopyInto

func (in *HelmChart) DeepCopyInto(out *HelmChart)

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

type IPAM

type IPAM struct {
	// Labels matching service IPAM
	// +kubebuilder:validation:MinProperties=1
	// +kubebuilder:validation:MaxProperties=50
	// +required
	MatchLabels map[string]string `json:"matchLabels"`
	// DefaultGateway adds gateway as default gateway in the routes list if true.
	// +optional
	DefaultGateway *bool `json:"defaultGateway,omitempty"`
	// SetDefaultRoute adds a default route to the routing table if true.
	// +optional
	SetDefaultRoute *bool `json:"setDefaultRoute,omitempty"`
}

IPAM defines the IPAM configuration

func (*IPAM) DeepCopy

func (in *IPAM) DeepCopy() *IPAM

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

func (*IPAM) DeepCopyInto

func (in *IPAM) DeepCopyInto(out *IPAM)

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

type IPV4Network

type IPV4Network struct {
	// Network is the CIDR from which subnets should be allocated per node.
	Network string `json:"network"`
	// GatewayIndex determines which IP in the subnet extracted from the CIDR should be the gateway IP. For point to
	// point networks (/31), one needs to leave this empty to make use of both the IPs.
	GatewayIndex *int32 `json:"gatewayIndex,omitempty"`
	// PrefixSize is the size of the subnet that should be allocated per node.
	PrefixSize int32 `json:"prefixSize"`
	// Exclusions is a list of IPs that should be excluded when splitting the CIDR into subnets per node.
	Exclusions []string `json:"exclusions,omitempty"`
	// Allocations describes the subnets that should be assigned in each DPU node.
	Allocations map[string]string `json:"allocations,omitempty"`
	// DefaultGateway adds gateway as default gateway in the routes list if true.
	DefaultGateway bool `json:"defaultGateway,omitempty"`
	// Routes is the static routes list using the gateway specified in the spec.
	Routes []Route `json:"routes,omitempty"`
}

IPV4Network describes the configuration relevant to splitting a network into subnet per node (i.e. different gateway and broadcast IP per node).

func (*IPV4Network) DeepCopy

func (in *IPV4Network) DeepCopy() *IPV4Network

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

func (*IPV4Network) DeepCopyInto

func (in *IPV4Network) DeepCopyInto(out *IPV4Network)

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

type IPV4Subnet

type IPV4Subnet struct {
	// Subnet is the CIDR from which blocks should be allocated per node
	Subnet string `json:"subnet"`
	// Gateway is the IP in the subnet that should be the gateway of the subnet.
	Gateway string `json:"gateway"`
	// PerNodeIPCount is the number of IPs that should be allocated per node.
	PerNodeIPCount int `json:"perNodeIPCount"`
	// if true, add gateway as default gateway in the routes list
	// DefaultGateway adds gateway as default gateway in the routes list if true.
	DefaultGateway bool `json:"defaultGateway,omitempty"`
	// Routes is the static routes list using the gateway specified in the spec.
	Routes []Route `json:"routes,omitempty"`
}

IPV4Subnet describes the configuration relevant to splitting a subnet to a subnet block per node (i.e. same gateway and broadcast IP across all nodes).

func (*IPV4Subnet) DeepCopy

func (in *IPV4Subnet) DeepCopy() *IPV4Subnet

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

func (*IPV4Subnet) DeepCopyInto

func (in *IPV4Subnet) DeepCopyInto(out *IPV4Subnet)

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

type NamespacedName

type NamespacedName struct {
	// Name of the object.
	// +required
	Name string `json:"name"`

	// Namespace of the object, if not provided the object will be looked up in
	// the same namespace as the referring object
	// +kubebuilder:Default=default
	// +optional
	Namespace *string `json:"namespace,omitempty"`
}

NamespacedName contains enough information to locate the referenced Kubernetes resource object in any namespace.

func (*NamespacedName) DeepCopy

func (in *NamespacedName) DeepCopy() *NamespacedName

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

func (*NamespacedName) DeepCopyInto

func (in *NamespacedName) DeepCopyInto(out *NamespacedName)

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

func (*NamespacedName) GetNamespace

func (n *NamespacedName) GetNamespace() string

GetNamespace returns the namespace of the NamespacedName.

func (*NamespacedName) String

func (n *NamespacedName) String() string

String returns the string representation of the NamespacedName.

type ObjectMeta

type ObjectMeta struct {
	// Labels is a map of string keys and values.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// Annotations is a map of string keys and values.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

ObjectMeta holds metadata like labels and annotations.

func (*ObjectMeta) DeepCopy

func (in *ObjectMeta) DeepCopy() *ObjectMeta

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

func (*ObjectMeta) DeepCopyInto

func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)

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

type PF

type PF struct {
	// The PF ID
	// +required
	ID int `json:"pfID"`
}

PF defines the PF configuration

func (*PF) DeepCopy

func (in *PF) DeepCopy() *PF

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

func (*PF) DeepCopyInto

func (in *PF) DeepCopyInto(out *PF)

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

type Physical

type Physical struct {
	// The interface name
	// +required
	InterfaceName string `json:"interfaceName"`
}

Physical Identifies a physical interface

func (*Physical) DeepCopy

func (in *Physical) DeepCopy() *Physical

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

func (*Physical) DeepCopyInto

func (in *Physical) DeepCopyInto(out *Physical)

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

type Port

type Port struct {
	// +required
	ServiceInterface ServiceIfc `json:"serviceInterface"`
}

Port defines the port configuration

func (*Port) DeepCopy

func (in *Port) DeepCopy() *Port

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

func (*Port) DeepCopyInto

func (in *Port) DeepCopyInto(out *Port)

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

type Route

type Route struct {
	// The destination of the route, in CIDR notation
	Dst string `json:"dst"`
}

Route contains static route parameters

func (*Route) DeepCopy

func (in *Route) DeepCopy() *Route

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

func (*Route) DeepCopyInto

func (in *Route) DeepCopyInto(out *Route)

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

type ServiceChain

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

	Spec   ServiceChainSpec   `json:"spec,omitempty"`
	Status ServiceChainStatus `json:"status,omitempty"`
}

ServiceChain is the Schema for the servicechains API

func (*ServiceChain) DeepCopy

func (in *ServiceChain) DeepCopy() *ServiceChain

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

func (*ServiceChain) DeepCopyInto

func (in *ServiceChain) DeepCopyInto(out *ServiceChain)

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

func (*ServiceChain) DeepCopyObject

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

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

type ServiceChainList

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

ServiceChainList contains a list of ServiceChain

func (*ServiceChainList) DeepCopy

func (in *ServiceChainList) DeepCopy() *ServiceChainList

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

func (*ServiceChainList) DeepCopyInto

func (in *ServiceChainList) DeepCopyInto(out *ServiceChainList)

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

func (*ServiceChainList) DeepCopyObject

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

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

type ServiceChainSet

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

	Spec   ServiceChainSetSpec   `json:"spec,omitempty"`
	Status ServiceChainSetStatus `json:"status,omitempty"`
}

ServiceChainSet is the Schema for the servicechainsets API

func (*ServiceChainSet) DeepCopy

func (in *ServiceChainSet) DeepCopy() *ServiceChainSet

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

func (*ServiceChainSet) DeepCopyInto

func (in *ServiceChainSet) DeepCopyInto(out *ServiceChainSet)

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

func (*ServiceChainSet) DeepCopyObject

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

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

func (*ServiceChainSet) GetConditions

func (c *ServiceChainSet) GetConditions() []metav1.Condition

func (*ServiceChainSet) SetConditions

func (c *ServiceChainSet) SetConditions(conditions []metav1.Condition)

type ServiceChainSetList

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

ServiceChainSetList contains a list of ServiceChainSet

func (*ServiceChainSetList) DeepCopy

func (in *ServiceChainSetList) DeepCopy() *ServiceChainSetList

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

func (*ServiceChainSetList) DeepCopyInto

func (in *ServiceChainSetList) DeepCopyInto(out *ServiceChainSetList)

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

func (*ServiceChainSetList) DeepCopyObject

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

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

type ServiceChainSetSpec

type ServiceChainSetSpec struct {
	// Select the Nodes with specific labels, ServiceChain CRs will be created
	// only for these Nodes
	// +optional
	NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`
	// ServiceChainSpecTemplate holds the template for the ServiceChainSpec
	// +required
	Template ServiceChainSpecTemplate `json:"template"`
}

ServiceChainSetSpec defines the desired state of ServiceChainSet

func (*ServiceChainSetSpec) DeepCopy

func (in *ServiceChainSetSpec) DeepCopy() *ServiceChainSetSpec

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

func (*ServiceChainSetSpec) DeepCopyInto

func (in *ServiceChainSetSpec) DeepCopyInto(out *ServiceChainSetSpec)

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

type ServiceChainSetSpecTemplate

type ServiceChainSetSpecTemplate struct {
	Spec       ServiceChainSetSpec `json:"spec"`
	ObjectMeta `json:"metadata,omitempty"`
}

ServiceChainSetSpecTemplate describes the data a ServiceChainSet should have when created from a template.

func (*ServiceChainSetSpecTemplate) DeepCopy

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

func (*ServiceChainSetSpecTemplate) DeepCopyInto

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

type ServiceChainSetStatus

type ServiceChainSetStatus struct {
	// Conditions reflect the status of the object
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// The number of nodes where the service chain is applied and is supposed to be applied.
	NumberApplied int32 `json:"numberApplied,omitempty"`

	// The number of nodes where the service chain is applied and ready.
	NumberReady int32 `json:"numberReady,omitempty"`
}

ServiceChainSetStatus defines the observed state of ServiceChainSet

func (*ServiceChainSetStatus) DeepCopy

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

func (*ServiceChainSetStatus) DeepCopyInto

func (in *ServiceChainSetStatus) DeepCopyInto(out *ServiceChainSetStatus)

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

type ServiceChainSpec

type ServiceChainSpec struct {
	// Node where this ServiceChain applies to
	// +optional
	Node *string `json:"node,omitempty"`
	// The switches of the ServiceChain, order is significant
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=50
	// +required
	Switches []Switch `json:"switches"`
}

ServiceChainSpec defines the desired state of ServiceChain

func (*ServiceChainSpec) DeepCopy

func (in *ServiceChainSpec) DeepCopy() *ServiceChainSpec

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

func (*ServiceChainSpec) DeepCopyInto

func (in *ServiceChainSpec) DeepCopyInto(out *ServiceChainSpec)

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

type ServiceChainSpecTemplate

type ServiceChainSpecTemplate struct {
	// ServiceChainSpec is the spec for the ServiceChainSpec
	// +required
	Spec ServiceChainSpec `json:"spec"`
	// ObjectMeta holds metadata like labels and annotations.
	// +optional
	ObjectMeta `json:"metadata,omitempty"`
}

ServiceChainSpecTemplate defines the template from which ServiceChainSpecs are created

func (*ServiceChainSpecTemplate) DeepCopy

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

func (*ServiceChainSpecTemplate) DeepCopyInto

func (in *ServiceChainSpecTemplate) DeepCopyInto(out *ServiceChainSpecTemplate)

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

type ServiceChainStatus

type ServiceChainStatus struct {
}

ServiceChainStatus defines the observed state of ServiceChain

func (*ServiceChainStatus) DeepCopy

func (in *ServiceChainStatus) DeepCopy() *ServiceChainStatus

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

func (*ServiceChainStatus) DeepCopyInto

func (in *ServiceChainStatus) DeepCopyInto(out *ServiceChainStatus)

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

type ServiceConfiguration

type ServiceConfiguration struct {
	// HelmChart reflects the Helm related configuration. The user is supposed to configure values specific to that
	// DPUServiceConfiguration used in a DPUDeployment and should not specify values that could be shared across multiple
	// DPUDeployments using different DPUServiceConfigurations. These values are merged with values specified in the
	// DPUServiceTemplate. In case of conflict, the DPUServiceConfiguration values take precedence.
	// +optional
	HelmChart ServiceConfigurationHelmChart `json:"helmChart,omitempty"`
	// ServiceDaemonSet contains settings related to the underlying DaemonSet that is part of the Helm chart
	// +optional
	ServiceDaemonSet DPUServiceConfigurationServiceDaemonSetValues `json:"serviceDaemonSet,omitempty"`
	// TODO: Add nodeEffect
	// DeployInCluster indicates if the DPUService Helm Chart will be deployed on the Host cluster. Default to false.
	// +optional
	DeployInCluster *bool `json:"deployInCluster,omitempty"`
}

ServiceConfiguration contains fields that are configured on the generated DPUService.

func (*ServiceConfiguration) DeepCopy

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

func (*ServiceConfiguration) DeepCopyInto

func (in *ServiceConfiguration) DeepCopyInto(out *ServiceConfiguration)

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

func (*ServiceConfiguration) ShouldDeployInCluster

func (s *ServiceConfiguration) ShouldDeployInCluster() bool

type ServiceConfigurationHelmChart

type ServiceConfigurationHelmChart struct {
	// Values specifies Helm values to be passed to Helm template, defined as a map. This takes precedence over Values.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Values *runtime.RawExtension `json:"values,omitempty"`
}

ServiceConfigurationHelmChart reflects the helm related configuration

func (*ServiceConfigurationHelmChart) DeepCopy

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

func (*ServiceConfigurationHelmChart) DeepCopyInto

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

type ServiceDaemonSetValues

type ServiceDaemonSetValues struct {
	// NodeSelector specifies which Nodes to deploy the ServiceDaemonSet to.
	// +optional
	NodeSelector *corev1.NodeSelector `json:"nodeSelector,omitempty"`

	// UpdateStrategy specifies the DeaemonSet update strategy for the ServiceDaemonset.
	// +optional
	UpdateStrategy *appsv1.DaemonSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// Labels specifies labels which are added to the ServiceDaemonSet.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations specifies annotations which are added to the ServiceDaemonSet.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

ServiceDaemonSetValues specifies the configuration for the ServiceDaemonSet.

func (*ServiceDaemonSetValues) DeepCopy

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

func (*ServiceDaemonSetValues) DeepCopyInto

func (in *ServiceDaemonSetValues) DeepCopyInto(out *ServiceDaemonSetValues)

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

type ServiceDef

type ServiceDef struct {
	// ServiceID is the DPU Service Identifier
	// +required
	ServiceID string `json:"serviceID"`
	// Network is the Network Attachment Definition in the form of "namespace/name"
	// or just "name" if the namespace is the same as the ServiceInterface.
	// +required
	Network string `json:"network"`
	// The interface name
	// +required
	InterfaceName string `json:"interfaceName"`
}

ServiceDef Identifes the service and network for the ServiceInterface

func (*ServiceDef) DeepCopy

func (in *ServiceDef) DeepCopy() *ServiceDef

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

func (*ServiceDef) DeepCopyInto

func (in *ServiceDef) DeepCopyInto(out *ServiceDef)

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

func (*ServiceDef) GetNetwork

func (s *ServiceDef) GetNetwork() (string, string)

GetNetwork returns the namespace and name of the network

type ServiceIfc

type ServiceIfc struct {
	// Labels matching service interface
	// +kubebuilder:validation:MinProperties=1
	// +kubebuilder:validation:MaxProperties=50
	// +required
	MatchLabels map[string]string `json:"matchLabels"`
	// IPAM defines the IPAM configuration when referencing a serviceInterface of type 'service'
	// +optional
	IPAM *IPAM `json:"ipam,omitempty"`
}

ServiceIfc defines the service interface configuration

func (*ServiceIfc) DeepCopy

func (in *ServiceIfc) DeepCopy() *ServiceIfc

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

func (*ServiceIfc) DeepCopyInto

func (in *ServiceIfc) DeepCopyInto(out *ServiceIfc)

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

type ServiceInterface

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

	Spec   ServiceInterfaceSpec   `json:"spec,omitempty"`
	Status ServiceInterfaceStatus `json:"status,omitempty"`
}

ServiceInterface is the Schema for the serviceinterfaces API

func (*ServiceInterface) DeepCopy

func (in *ServiceInterface) DeepCopy() *ServiceInterface

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

func (*ServiceInterface) DeepCopyInto

func (in *ServiceInterface) DeepCopyInto(out *ServiceInterface)

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

func (*ServiceInterface) DeepCopyObject

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

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

type ServiceInterfaceList

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

ServiceInterfaceList contains a list of ServiceInterface

func (*ServiceInterfaceList) DeepCopy

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

func (*ServiceInterfaceList) DeepCopyInto

func (in *ServiceInterfaceList) DeepCopyInto(out *ServiceInterfaceList)

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

func (*ServiceInterfaceList) DeepCopyObject

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

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

type ServiceInterfaceSet

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

	Spec   ServiceInterfaceSetSpec   `json:"spec,omitempty"`
	Status ServiceInterfaceSetStatus `json:"status,omitempty"`
}

ServiceInterfaceSet is the Schema for the serviceinterfacesets API

func (*ServiceInterfaceSet) DeepCopy

func (in *ServiceInterfaceSet) DeepCopy() *ServiceInterfaceSet

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

func (*ServiceInterfaceSet) DeepCopyInto

func (in *ServiceInterfaceSet) DeepCopyInto(out *ServiceInterfaceSet)

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

func (*ServiceInterfaceSet) DeepCopyObject

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

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

func (*ServiceInterfaceSet) GetConditions

func (c *ServiceInterfaceSet) GetConditions() []metav1.Condition

func (*ServiceInterfaceSet) SetConditions

func (c *ServiceInterfaceSet) SetConditions(conditions []metav1.Condition)

type ServiceInterfaceSetList

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

ServiceInterfaceSetList contains a list of ServiceInterfaceSet

func (*ServiceInterfaceSetList) DeepCopy

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

func (*ServiceInterfaceSetList) DeepCopyInto

func (in *ServiceInterfaceSetList) DeepCopyInto(out *ServiceInterfaceSetList)

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

func (*ServiceInterfaceSetList) DeepCopyObject

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

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

type ServiceInterfaceSetSpec

type ServiceInterfaceSetSpec struct {
	// Select the Nodes with specific labels, ServiceInterface CRs will be
	// created only for these Nodes
	// +optional
	NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`

	// Template holds the template for the erviceInterfaceSpec
	// +required
	Template ServiceInterfaceSpecTemplate `json:"template"`
}

ServiceInterfaceSetSpec defines the desired state of ServiceInterfaceSet

func (*ServiceInterfaceSetSpec) DeepCopy

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

func (*ServiceInterfaceSetSpec) DeepCopyInto

func (in *ServiceInterfaceSetSpec) DeepCopyInto(out *ServiceInterfaceSetSpec)

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

func (*ServiceInterfaceSetSpec) GetTemplateSpec

func (s *ServiceInterfaceSetSpec) GetTemplateSpec() *ServiceInterfaceSpec

GetTemplateSpec returns the ServiceInterfaceSpec from the template

type ServiceInterfaceSetSpecTemplate

type ServiceInterfaceSetSpecTemplate struct {
	Spec       ServiceInterfaceSetSpec `json:"spec"`
	ObjectMeta `json:"metadata,omitempty"`
}

ServiceInterfaceSetSpecTemplate describes the data a ServiceInterfaceSet should have when created from a template.

func (*ServiceInterfaceSetSpecTemplate) DeepCopy

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

func (*ServiceInterfaceSetSpecTemplate) DeepCopyInto

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

type ServiceInterfaceSetStatus

type ServiceInterfaceSetStatus struct {
	// Conditions reflect the status of the object
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// The number of nodes where the service chain is applied and is supposed to be applied.
	NumberApplied int32 `json:"numberApplied,omitempty"`

	// The number of nodes where the service chain is applied and ready.
	NumberReady int32 `json:"numberReady,omitempty"`
}

ServiceInterfaceSetStatus defines the observed state of ServiceInterfaceSet

func (*ServiceInterfaceSetStatus) DeepCopy

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

func (*ServiceInterfaceSetStatus) DeepCopyInto

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

type ServiceInterfaceSpec

type ServiceInterfaceSpec struct {
	// Node where this interface exists
	// +optional
	Node *string `json:"node,omitempty"`
	// The interface type ("vlan", "physical", "pf", "vf", "ovn", "service")
	// +kubebuilder:validation:Enum={"vlan", "physical", "pf", "vf", "ovn", "service"}
	// +required
	InterfaceType string `json:"interfaceType"`
	// The physical interface definition
	// +optional
	Physical *Physical `json:"physical,omitempty"`
	// The VLAN definition
	// +optional
	Vlan *VLAN `json:"vlan,omitempty"`
	// The VF definition
	// +optional
	VF *VF `json:"vf,omitempty"`
	// The PF definition
	// +optional
	PF *PF `json:"pf,omitempty"`
	// The Service definition
	// +optional
	Service *ServiceDef `json:"service,omitempty"`
}

ServiceInterfaceSpec defines the desired state of ServiceInterface +kubebuilder:validation:XValidation:rule="(self.interfaceType == 'vlan' && has(self.vlan)) || (self.interfaceType == 'pf' && has(self.pf)) || (self.interfaceType == 'vf' && has(self.vf)) || (self.interfaceType == 'physical' && has(self.physical)) || (self.interfaceType == 'service' && has(self.service)) || (self.interfaceType == 'ovn')", message="`for interfaceType=vlan, vlan must be set; for interfaceType=pf, pf must be set; for interfaceType=vf, vf must be set; for interfaceType=physical, physical must be set; for interfaceType=service, service must be set`"

func (*ServiceInterfaceSpec) DeepCopy

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

func (*ServiceInterfaceSpec) DeepCopyInto

func (in *ServiceInterfaceSpec) DeepCopyInto(out *ServiceInterfaceSpec)

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

type ServiceInterfaceSpecTemplate

type ServiceInterfaceSpecTemplate struct {
	// ServiceInterfaceSpec is the spec for the ServiceInterfaceSpec
	// +required
	Spec ServiceInterfaceSpec `json:"spec"`
	// ObjectMeta holds metadata like labels and annotations.
	// +optional
	ObjectMeta `json:"metadata,omitempty"`
}

ServiceInterfaceSpecTemplate defines the template from which ServiceInterfaceSpecs are created

func (*ServiceInterfaceSpecTemplate) DeepCopy

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

func (*ServiceInterfaceSpecTemplate) DeepCopyInto

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

type ServiceInterfaceStatus

type ServiceInterfaceStatus struct {
}

ServiceInterfaceStatus defines the observed state of ServiceInterface

func (*ServiceInterfaceStatus) DeepCopy

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

func (*ServiceInterfaceStatus) DeepCopyInto

func (in *ServiceInterfaceStatus) DeepCopyInto(out *ServiceInterfaceStatus)

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

type ServiceInterfaceTemplate

type ServiceInterfaceTemplate struct {
	// Name is the name of the interface
	// +required
	Name string `json:"name"`
	// Network is the Network Attachment Definition in the form of "namespace/name"
	// or just "name" if the namespace is the same as the namespace the pod is running.
	// +required
	Network string `json:"network"`
}

ServiceInterfaceTemplate contains the information related to an interface of the DPUService

func (*ServiceInterfaceTemplate) DeepCopy

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

func (*ServiceInterfaceTemplate) DeepCopyInto

func (in *ServiceInterfaceTemplate) DeepCopyInto(out *ServiceInterfaceTemplate)

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

type Switch

type Switch struct {
	// Ports of the switch
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=50
	// +required
	Ports []Port `json:"ports"`
}

Switch defines the switch configuration

func (*Switch) DeepCopy

func (in *Switch) DeepCopy() *Switch

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

func (*Switch) DeepCopyInto

func (in *Switch) DeepCopyInto(out *Switch)

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

type VF

type VF struct {
	// The VF ID
	// +required
	VFID int `json:"vfID"`
	// The PF ID
	// +required
	PFID int `json:"pfID"`
	// The parent interface reference
	// TODO: Figure out what this field is supposed to be
	// +required
	ParentInterfaceRef string `json:"parentInterfaceRef"`
}

VF defines the VF configuration

func (*VF) DeepCopy

func (in *VF) DeepCopy() *VF

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

func (*VF) DeepCopyInto

func (in *VF) DeepCopyInto(out *VF)

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

type VLAN

type VLAN struct {
	// The VLAN ID
	// +required
	VlanID int `json:"vlanID"`
	// The parent interface reference
	// TODO: Figure out what this field is supposed to be
	// +required
	ParentInterfaceRef string `json:"parentInterfaceRef"`
}

VLAN defines the VLAN configuration

func (*VLAN) DeepCopy

func (in *VLAN) DeepCopy() *VLAN

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

func (*VLAN) DeepCopyInto

func (in *VLAN) DeepCopyInto(out *VLAN)

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