v1alpha1

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	// NimCacheConditionJobCreated indicates that the caching job is created.
	NimCacheConditionJobCreated = "NIM_CACHE_JOB_CREATED"
	// NimCacheConditionJobCompleted indicates that the caching job is completed.
	NimCacheConditionJobCompleted = "NIM_CACHE_JOB_COMPLETED"
	// NimCacheConditionJobPending indicates that the caching job is in pending state.
	NimCacheConditionJobPending = "NIM_CACHE_JOB_PENDING"
	// NimCacheConditionPVCCreated indicates that the caching pvc is created.
	NimCacheConditionPVCCreated = "NIM_CACHE_PVC_CREATED"
	// NimCacheConditionReconcileFailed indicated that error occured while reconciling NIMCache object
	NimCacheConditionReconcileFailed = "NIM_CACHE_RECONCILE_FAILED"

	// NimCacheStatusNotReady indicates that cache is not ready
	NimCacheStatusNotReady = "NotReady"
	// NimCacheStatusPVCCreated indicates that the pvc is created for caching
	NimCacheStatusPVCCreated = "PVC-Created"
	// NimCacheStatusStarted indicates that caching process is started
	NimCacheStatusStarted = "Started"
	// NimCacheStatusReady indicates that cache is ready
	NimCacheStatusReady = "Ready"
	// NimCacheStatusInProgress indicates that caching is in progress
	NimCacheStatusInProgress = "InProgress"
	// NimCacheStatusPending indicates that caching is not yet started
	NimCacheStatusPending = "Pending"
	// NimCacheStatusFailed indicates that caching is failed
	NimCacheStatusFailed = "Failed"
)
View Source
const (
	// NIMPipelineConditionReady indicates that the NIM pipeline is ready.
	NIMPipelineConditionReady = "NIM_PIPELINE_READY"
	// NIMPipelineConditionFailed indicates that the NIM pipeline has failed.
	NIMPipelineConditionFailed = "NIM_PIPELINE_FAILED"

	// NIMPipelineStatusNotReady indicates that one or more services in the NIM pipeline are not ready
	NIMPipelineStatusNotReady = "NotReady"
	// NIMPipelineStatusReady indicates that NIM pipeline is ready
	NIMPipelineStatusReady = "Ready"
	// NIMPipelineStatusFailed indicates that one or more services in the NIM pipeline has failed
	NIMPipelineStatusFailed = "Failed"
)
View Source
const (
	// NIMServiceConditionReady indicates that the NIM deployment is ready.
	NIMServiceConditionReady = "NIM_SERVICE_READY"
	// NIMServiceConditionFailed indicates that the NIM deployment has failed.
	NIMServiceConditionFailed = "NIM_SERVICE_FAILED"

	// NIMServiceStatusPending indicates that NIM deployment is in pending state
	NIMServiceStatusPending = "Pending"
	// NIMServiceStatusNotReady indicates that NIM deployment is not ready
	NIMServiceStatusNotReady = "NotReady"
	// NIMServiceStatusReady indicates that NIM deployment is ready
	NIMServiceStatusReady = "Ready"
	// NIMServiceStatusFailed indicates that NIM deployment has failed
	NIMServiceStatusFailed = "Failed"
)

Variables

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

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func IsProbeEnabled

func IsProbeEnabled(probe Probe) bool

IsProbeEnabled returns true if a given liveness/readiness/startup probe is enabled

Types

type Autoscaling

type Autoscaling struct {
	Enabled     *bool                       `json:"enabled,omitempty"`
	HPA         HorizontalPodAutoscalerSpec `json:"hpa,omitempty"`
	Annotations map[string]string           `json:"annotations,omitempty"`
}

Autoscaling defines attributes to automatically scale the service based on metrics

func (*Autoscaling) DeepCopy

func (in *Autoscaling) DeepCopy() *Autoscaling

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

func (*Autoscaling) DeepCopyInto

func (in *Autoscaling) DeepCopyInto(out *Autoscaling)

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

type CertConfig

type CertConfig struct {
	// Name of the ConfigMap containing the certificate data.
	Name string `json:"name"`
	// MountPath is the path where the certificates should be mounted in the container.
	MountPath string `json:"mountPath"`
}

CertConfig defines the configuration for custom certificates.

func (*CertConfig) DeepCopy

func (in *CertConfig) DeepCopy() *CertConfig

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

func (*CertConfig) DeepCopyInto

func (in *CertConfig) DeepCopyInto(out *CertConfig)

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

type DataStoreSource

type DataStoreSource struct {
	// The endpoint for datastore
	Endpoint string `json:"endpoint"`
	// Name of either model/checkpoint or dataset to download
	ModelName      *string `json:"modelName,omitempty"`
	CheckpointName *string `json:"checkpointName,omitempty"`
	DatasetName    *string `json:"datasetName,omitempty"`
	// The name of an existing auth secret containing the AUTH_TOKEN"
	AuthSecret string `json:"authSecret"`
	// ModelPuller is the container image that can pull the model
	ModelPuller string `json:"modelPuller"`
	// PullSecret for the model puller image
	PullSecret string `json:"pullSecret,omitempty"`
}

DataStoreSource references a model stored on NVIDIA DataStore service

func (*DataStoreSource) DeepCopy

func (in *DataStoreSource) DeepCopy() *DataStoreSource

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

func (*DataStoreSource) DeepCopyInto

func (in *DataStoreSource) DeepCopyInto(out *DataStoreSource)

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

type Expose

type Expose struct {
	Service Service `json:"service,omitempty"`
	Ingress Ingress `json:"ingress,omitempty"`
}

Expose defines attributes to expose the service

func (*Expose) DeepCopy

func (in *Expose) DeepCopy() *Expose

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

func (*Expose) DeepCopyInto

func (in *Expose) DeepCopyInto(out *Expose)

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

type GPUSpec

type GPUSpec struct {
	// Product is the GPU product string (h100, a100, l40s)
	Product string `json:"product,omitempty"`
	// IDs are the device-ids for a specific GPU SKU
	IDs []string `json:"ids,omitempty"`
}

GPUSpec is the spec required to cache models for selected gpu type

func (*GPUSpec) DeepCopy

func (in *GPUSpec) DeepCopy() *GPUSpec

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

func (*GPUSpec) DeepCopyInto

func (in *GPUSpec) DeepCopyInto(out *GPUSpec)

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

type HorizontalPodAutoscalerSpec

type HorizontalPodAutoscalerSpec struct {
	MinReplicas *int32                                         `json:"minReplicas,omitempty"`
	MaxReplicas int32                                          `json:"maxReplicas"`
	Metrics     []autoscalingv2.MetricSpec                     `json:"metrics,omitempty"`
	Behavior    *autoscalingv2.HorizontalPodAutoscalerBehavior `json:"behavior,omitempty" `
}

HorizontalPodAutoscalerSpec defines the parameters required to setup HPA

func (*HorizontalPodAutoscalerSpec) DeepCopy

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

func (*HorizontalPodAutoscalerSpec) DeepCopyInto

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

type Image

type Image struct {
	Repository  string   `json:"repository,omitempty"`
	PullPolicy  string   `json:"pullPolicy,omitempty"`
	Tag         string   `json:"tag,omitempty"`
	PullSecrets []string `json:"pullSecrets,omitempty"`
}

Image defines image attributes

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

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

type Ingress

type Ingress struct {
	// ingress, or virtualService - not both
	Enabled     *bool                    `json:"enabled,omitempty"`
	Annotations map[string]string        `json:"annotations,omitempty"`
	Spec        networkingv1.IngressSpec `json:"spec,omitempty"`
}

Ingress defines attributes to enable ingress for the service

func (*Ingress) DeepCopy

func (in *Ingress) DeepCopy() *Ingress

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

func (*Ingress) DeepCopyInto

func (in *Ingress) DeepCopyInto(out *Ingress)

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

type IngressHost

type IngressHost struct {
	Host  string        `json:"host,omitempty"`
	Paths []IngressPath `json:"paths,omitempty"`
}

IngressHost defines attributes for ingress host

func (*IngressHost) DeepCopy

func (in *IngressHost) DeepCopy() *IngressHost

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

func (*IngressHost) DeepCopyInto

func (in *IngressHost) DeepCopyInto(out *IngressHost)

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

type IngressPath

type IngressPath struct {
	Path        string                `json:"path,omitempty"`
	PathType    networkingv1.PathType `json:"pathType,omitempty"`
	ServiceType string                `json:"serviceType,omitempty"`
}

IngressPath defines attributes for ingress paths

func (*IngressPath) DeepCopy

func (in *IngressPath) DeepCopy() *IngressPath

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

func (*IngressPath) DeepCopyInto

func (in *IngressPath) DeepCopyInto(out *IngressPath)

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

type Metrics

type Metrics struct {
	Enabled *bool `json:"enabled,omitempty"`
	// for use with the Prometheus Operator and the primary service object
	ServiceMonitor ServiceMonitor `json:"serviceMonitor,omitempty"`
}

Metrics defines attributes to setup metrics collection

func (*Metrics) DeepCopy

func (in *Metrics) DeepCopy() *Metrics

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

func (*Metrics) DeepCopyInto

func (in *Metrics) DeepCopyInto(out *Metrics)

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

type ModelSpec

type ModelSpec struct {
	// Profiles are the specific model profiles to cache. When these are provided, rest of the model parameters for profile selection are ignored
	Profiles []string `json:"profiles,omitempty"`
	// Precision is the precision for model quantization
	Precision string `json:"precision,omitempty"`
	// Engine is the backend engine (tensort_llm, vllm)
	Engine string `json:"engine,omitempty"`
	// TensorParallelism is the minimum GPUs required for the model computations
	TensorParallelism string `json:"tensorParallelism,omitempty"`
	// QoSProfile is the supported QoS profile types for the models (throughput, latency)
	QoSProfile string `json:"qosProfile,omitempty"`
	// GPU is the spec for matching GPUs for caching optimized models
	GPUs []GPUSpec `json:"gpus,omitempty"`
	// Lora indicates a finetuned model with LoRa adapters
	Lora *bool `json:"lora,omitempty"`
	// Buildable indicates generic model profiles that can be optimized with an NVIDIA engine for any GPUs
	Buildable *bool `json:"buildable,omitempty"`
}

ModelSpec is the spec required to cache selected models

func (*ModelSpec) DeepCopy

func (in *ModelSpec) DeepCopy() *ModelSpec

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

func (*ModelSpec) DeepCopyInto

func (in *ModelSpec) DeepCopyInto(out *ModelSpec)

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

type NGCSource

type NGCSource struct {
	// The name of an existing pull secret containing the NGC_API_KEY
	AuthSecret string `json:"authSecret"`
	// ModelPuller is the container image that can pull the model
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="modelPuller is an immutable field. Please create a new NIMCache resource instead when you want to change this container."
	ModelPuller string `json:"modelPuller"`
	// PullSecret to pull the model puller image
	PullSecret string `json:"pullSecret,omitempty"`
	// Model spec for caching
	Model ModelSpec `json:"model,omitempty"`
}

NGCSource references a model stored on NVIDIA NGC

func (*NGCSource) DeepCopy

func (in *NGCSource) DeepCopy() *NGCSource

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

func (*NGCSource) DeepCopyInto

func (in *NGCSource) DeepCopyInto(out *NGCSource)

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

type NIMCache

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

	Spec   NIMCacheSpec   `json:"spec,omitempty"`
	Status NIMCacheStatus `json:"status,omitempty"`
}

NIMCache is the Schema for the nimcaches API

func (*NIMCache) DeepCopy

func (in *NIMCache) DeepCopy() *NIMCache

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

func (*NIMCache) DeepCopyInto

func (in *NIMCache) DeepCopyInto(out *NIMCache)

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

func (*NIMCache) DeepCopyObject

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

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

func (*NIMCache) GetGroupID

func (n *NIMCache) GetGroupID() *int64

GetGroupID returns group ID. Returns default value if not set on NimCache object.

func (*NIMCache) GetNodeSelectors

func (n *NIMCache) GetNodeSelectors() map[string]string

GetNodeSelectors returns nodeselectors configured for the NIMCache Job

func (*NIMCache) GetPVCName

func (n *NIMCache) GetPVCName(pvc PersistentVolumeClaim) string

GetPVCName returns the name to be used for the PVC based on the custom spec Prefers pvc.Name if explicitly set by the user in the NIMCache instance

func (*NIMCache) GetRuntimeClassName added in v1.0.1

func (n *NIMCache) GetRuntimeClassName() *string

GetRuntimeClassName return the runtime class name for the NIMCache Job

func (*NIMCache) GetTolerations

func (n *NIMCache) GetTolerations() []corev1.Toleration

GetTolerations returns tolerations configured for the NIMCache Job

func (*NIMCache) GetUserID

func (n *NIMCache) GetUserID() *int64

GetUserID returns user ID. Returns default value if not set on NimCache object.

type NIMCacheList

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

NIMCacheList contains a list of NIMCache

func (*NIMCacheList) DeepCopy

func (in *NIMCacheList) DeepCopy() *NIMCacheList

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

func (*NIMCacheList) DeepCopyInto

func (in *NIMCacheList) DeepCopyInto(out *NIMCacheList)

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

func (*NIMCacheList) DeepCopyObject

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

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

type NIMCacheSpec

type NIMCacheSpec struct {
	// Source is the NIM model source to cache
	Source NIMSource `json:"source"`
	// Storage is the target storage for caching NIM model
	Storage NIMCacheStorage `json:"storage"`
	// Resources defines the minimum resources required for the caching job to run(cpu, memory, gpu).
	Resources Resources `json:"resources,omitempty"`
	// Tolerations for running the job to cache the NIM model
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// NodeSelector is the node selector labels to schedule the caching job.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// UserID is the user ID for the caching job
	UserID *int64 `json:"userID,omitempty"`
	// GroupID is the group ID for the caching job
	GroupID *int64 `json:"groupID,omitempty"`
	// CertConfig is the name of the ConfigMap containing the custom certificates.
	// for secure communication.
	CertConfig *CertConfig `json:"certConfig,omitempty"`
	// Env are the additional custom environment variabes for the caching job
	Env []corev1.EnvVar `json:"env,omitempty"`
	// RuntimeClassName is the runtimeclass for the caching job
	RuntimeClassName string `json:"runtimeClassName,omitempty"`
}

NIMCacheSpec defines the desired state of NIMCache

func (*NIMCacheSpec) DeepCopy

func (in *NIMCacheSpec) DeepCopy() *NIMCacheSpec

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

func (*NIMCacheSpec) DeepCopyInto

func (in *NIMCacheSpec) DeepCopyInto(out *NIMCacheSpec)

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

type NIMCacheStatus

type NIMCacheStatus struct {
	State      string             `json:"state,omitempty"`
	PVC        string             `json:"pvc,omitempty"`
	Profiles   []NIMProfile       `json:"profiles,omitempty"`
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

NIMCacheStatus defines the observed state of NIMCache

func (*NIMCacheStatus) DeepCopy

func (in *NIMCacheStatus) DeepCopy() *NIMCacheStatus

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

func (*NIMCacheStatus) DeepCopyInto

func (in *NIMCacheStatus) DeepCopyInto(out *NIMCacheStatus)

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

type NIMCacheStorage

type NIMCacheStorage struct {
	// PersistentVolumeClaim is the pvc volume used for caching NIM
	PVC PersistentVolumeClaim `json:"pvc,omitempty"`
	// HostPath is the host path volume for caching NIM
	HostPath *string `json:"hostPath,omitempty"`
}

NIMCacheStorage defines the attributes of various storage targets used to store the model

func (*NIMCacheStorage) DeepCopy

func (in *NIMCacheStorage) DeepCopy() *NIMCacheStorage

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

func (*NIMCacheStorage) DeepCopyInto

func (in *NIMCacheStorage) DeepCopyInto(out *NIMCacheStorage)

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

type NIMCacheVolSpec

type NIMCacheVolSpec struct {
	Name    string `json:"name,omitempty"`
	Profile string `json:"profile,omitempty"`
}

NIMCacheVolSpec defines the spec to use NIMCache volume

func (*NIMCacheVolSpec) DeepCopy

func (in *NIMCacheVolSpec) DeepCopy() *NIMCacheVolSpec

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

func (*NIMCacheVolSpec) DeepCopyInto

func (in *NIMCacheVolSpec) DeepCopyInto(out *NIMCacheVolSpec)

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

type NIMPipeline

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

	Spec   NIMPipelineSpec   `json:"spec,omitempty"`
	Status NIMPipelineStatus `json:"status,omitempty"`
}

NIMPipeline is the Schema for the nimpipelines API

func (*NIMPipeline) DeepCopy

func (in *NIMPipeline) DeepCopy() *NIMPipeline

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

func (*NIMPipeline) DeepCopyInto

func (in *NIMPipeline) DeepCopyInto(out *NIMPipeline)

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

func (*NIMPipeline) DeepCopyObject

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

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

type NIMPipelineList

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

NIMPipelineList contains a list of NIMPipeline

func (*NIMPipelineList) DeepCopy

func (in *NIMPipelineList) DeepCopy() *NIMPipelineList

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

func (*NIMPipelineList) DeepCopyInto

func (in *NIMPipelineList) DeepCopyInto(out *NIMPipelineList)

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

func (*NIMPipelineList) DeepCopyObject

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

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

type NIMPipelineSpec

type NIMPipelineSpec struct {

	// NIMService configures attributes to deploy a NIM service as part of the pipeline
	Services []NIMServicePipelineSpec `json:"services,omitempty"`
}

NIMPipelineSpec defines the desired state of NIMPipeline

func (*NIMPipelineSpec) DeepCopy

func (in *NIMPipelineSpec) DeepCopy() *NIMPipelineSpec

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

func (*NIMPipelineSpec) DeepCopyInto

func (in *NIMPipelineSpec) DeepCopyInto(out *NIMPipelineSpec)

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

type NIMPipelineStatus

type NIMPipelineStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// States indicate state of individual services in the pipeline
	States map[string]string `json:"states,omitempty"`
	// State indicates the overall state of the pipeline
	State string `json:"state,omitempty"`
}

NIMPipelineStatus defines the observed state of NIMPipeline

func (*NIMPipelineStatus) DeepCopy

func (in *NIMPipelineStatus) DeepCopy() *NIMPipelineStatus

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

func (*NIMPipelineStatus) DeepCopyInto

func (in *NIMPipelineStatus) DeepCopyInto(out *NIMPipelineStatus)

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

type NIMProfile

type NIMProfile struct {
	Name    string            `json:"name,omitempty"`
	Model   string            `json:"model,omitempty"`
	Release string            `json:"release,omitempty"`
	Config  map[string]string `json:"config,omitempty"`
}

NIMProfile defines the profiles that were cached

func (*NIMProfile) DeepCopy

func (in *NIMProfile) DeepCopy() *NIMProfile

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

func (*NIMProfile) DeepCopyInto

func (in *NIMProfile) DeepCopyInto(out *NIMProfile)

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

type NIMService

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

	Spec   NIMServiceSpec   `json:"spec,omitempty"`
	Status NIMServiceStatus `json:"status,omitempty"`
}

NIMService is the Schema for the nimservices API

func (*NIMService) DeepCopy

func (in *NIMService) DeepCopy() *NIMService

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

func (*NIMService) DeepCopyInto

func (in *NIMService) DeepCopyInto(out *NIMService)

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

func (*NIMService) DeepCopyObject

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

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

func (*NIMService) GetArgs

func (n *NIMService) GetArgs() []string

GetArgs return arguments for the NIMService container

func (*NIMService) GetCommand

func (n *NIMService) GetCommand() []string

GetCommand return command to override for the NIMService container

func (*NIMService) GetContainerName

func (n *NIMService) GetContainerName() string

GetContainerName returns name of the container for NIMService deployment

func (*NIMService) GetDefaultLivenessProbe

func (n *NIMService) GetDefaultLivenessProbe() *corev1.Probe

GetDefaultLivenessProbe returns the default liveness probe for the NIMService container

func (*NIMService) GetDefaultReadinessProbe

func (n *NIMService) GetDefaultReadinessProbe() *corev1.Probe

GetDefaultReadinessProbe returns the default readiness probe for the NIMService container

func (*NIMService) GetDefaultStartupProbe

func (n *NIMService) GetDefaultStartupProbe() *corev1.Probe

GetDefaultStartupProbe returns the default startup probe for the NIMService container

func (*NIMService) GetDeploymentKind

func (n *NIMService) GetDeploymentKind() string

GetDeploymentKind returns the kind of deployment for NIMService

func (*NIMService) GetDeploymentParams

func (n *NIMService) GetDeploymentParams() *rendertypes.DeploymentParams

GetDeploymentParams returns params to render Deployment from templates

func (*NIMService) GetEnv

func (n *NIMService) GetEnv() []corev1.EnvVar

GetEnv returns merged slice of standard and user specified env variables

func (*NIMService) GetGroupID

func (n *NIMService) GetGroupID() *int64

GetGroupID returns the group ID for the NIMService deployment

func (*NIMService) GetHPA

GetHPA returns the HPA spec for the NIMService deployment

func (*NIMService) GetHPAAnnotations

func (n *NIMService) GetHPAAnnotations() map[string]string

func (*NIMService) GetHPAParams

func (n *NIMService) GetHPAParams() *rendertypes.HPAParams

GetHPAParams returns params to render HPA from templates

func (*NIMService) GetImage

func (n *NIMService) GetImage() string

GetImage returns container image for the NIMService

func (*NIMService) GetImagePullPolicy

func (n *NIMService) GetImagePullPolicy() string

GetImagePullPolicy returns the image pull policy for the NIM container

func (*NIMService) GetImagePullSecrets

func (n *NIMService) GetImagePullSecrets() []string

GetImagePullSecrets returns the image pull secrets for the NIM container

func (*NIMService) GetIngressAnnotations

func (n *NIMService) GetIngressAnnotations() map[string]string

func (*NIMService) GetIngressParams

func (n *NIMService) GetIngressParams() *rendertypes.IngressParams

GetIngressParams returns params to render Ingress from templates

func (*NIMService) GetIngressSpec

func (n *NIMService) GetIngressSpec() networkingv1.IngressSpec

GetIngressSpec returns the Ingress spec NIMService deployment

func (*NIMService) GetLivenessProbe

func (n *NIMService) GetLivenessProbe() *corev1.Probe

GetLivenessProbe returns liveness probe for the NIMService container

func (*NIMService) GetNIMCacheName

func (n *NIMService) GetNIMCacheName() string

GetNIMCacheName returns the NIMCache name to use for the NIMService deployment

func (*NIMService) GetNIMCacheProfile

func (n *NIMService) GetNIMCacheProfile() string

GetNIMCacheProfile returns the explicit profile to use for the NIMService deployment

func (*NIMService) GetNIMServiceAnnotations

func (n *NIMService) GetNIMServiceAnnotations() map[string]string

GetNIMServiceAnnotations returns annotations to apply to the NIMService instance

func (*NIMService) GetNodeSelector

func (n *NIMService) GetNodeSelector() map[string]string

GetNodeSelector returns node selector labels for the NIMService instance

func (*NIMService) GetPVCName

func (n *NIMService) GetPVCName(pvc PersistentVolumeClaim) string

GetPVCName returns the name to be used for the PVC based on the custom spec Prefers pvc.Name if explicitly set by the user in the NIMService instance

func (*NIMService) GetPodAffinity

func (n *NIMService) GetPodAffinity() *corev1.PodAffinity

GetPodAffinity returns pod affinity for the NIMService instance

func (*NIMService) GetReadinessProbe

func (n *NIMService) GetReadinessProbe() *corev1.Probe

GetReadinessProbe returns readiness probe for the NIMService container

func (*NIMService) GetReplicas

func (n *NIMService) GetReplicas() int

GetReplicas returns replicas for the NIMService deployment

func (*NIMService) GetResources

func (n *NIMService) GetResources() *corev1.ResourceRequirements

GetResources returns resources to allocate to the NIMService container

func (*NIMService) GetRoleBindingParams

func (n *NIMService) GetRoleBindingParams() *rendertypes.RoleBindingParams

GetRoleBindingParams returns params to render RoleBinding from templates

func (*NIMService) GetRoleParams

func (n *NIMService) GetRoleParams() *rendertypes.RoleParams

GetRoleParams returns params to render Role from templates

func (*NIMService) GetRuntimeClassName added in v1.0.1

func (n *NIMService) GetRuntimeClassName() string

GetRuntimeClassName return the runtime class name for the NIMService deployment

func (*NIMService) GetSCCParams

func (n *NIMService) GetSCCParams() *rendertypes.SCCParams

GetSCCParams return params to render SCC from templates

func (*NIMService) GetSelectorLabels

func (n *NIMService) GetSelectorLabels() map[string]string

GetSelectorLabels returns standard selector labels to apply to the NIMService instance

func (*NIMService) GetServiceAccountName

func (n *NIMService) GetServiceAccountName() string

GetServiceAccountName returns service account name for the NIMService deployment

func (*NIMService) GetServiceAccountParams

func (n *NIMService) GetServiceAccountParams() *rendertypes.ServiceAccountParams

GetServiceAccountParams return params to render ServiceAccount from templates

func (*NIMService) GetServiceAnnotations

func (n *NIMService) GetServiceAnnotations() map[string]string

func (*NIMService) GetServiceLabels

func (n *NIMService) GetServiceLabels() map[string]string

GetServiceLabels returns merged labels to apply to the NIMService instance

func (*NIMService) GetServiceMonitor

func (n *NIMService) GetServiceMonitor() ServiceMonitor

GetServiceMonitor returns the Service Monitor details for the NIMService deployment

func (*NIMService) GetServiceMonitorAnnotations

func (n *NIMService) GetServiceMonitorAnnotations() map[string]string

func (*NIMService) GetServiceMonitorParams

func (n *NIMService) GetServiceMonitorParams() *rendertypes.ServiceMonitorParams

GetServiceMonitorParams return params to render Service Monitor from templates

func (*NIMService) GetServiceParams

func (n *NIMService) GetServiceParams() *rendertypes.ServiceParams

GetServiceParams returns params to render Service from templates

func (*NIMService) GetServicePort

func (n *NIMService) GetServicePort() int32

GetServicePort returns the service port for the NIMService deployment

func (*NIMService) GetServiceType added in v1.0.1

func (n *NIMService) GetServiceType() string

GetServiceType returns the service type for the NIMService deployment

func (*NIMService) GetStandardAnnotations

func (n *NIMService) GetStandardAnnotations() map[string]string

GetStandardAnnotations returns default annotations to apply to the NIMService instance

func (*NIMService) GetStandardEnv

func (n *NIMService) GetStandardEnv() []corev1.EnvVar

GetStandardEnv returns the standard set of env variables for the NIMService container

func (*NIMService) GetStandardLabels

func (n *NIMService) GetStandardLabels() map[string]string

GetStandardLabels returns the standard set of labels for NIMService resources

func (*NIMService) GetStandardSelectorLabels

func (n *NIMService) GetStandardSelectorLabels() map[string]string

GetStandardSelectorLabels returns the standard selector labels for the NIMService deployment

func (*NIMService) GetStartupProbe

func (n *NIMService) GetStartupProbe() *corev1.Probe

GetStartupProbe returns startup probe for the NIMService container

func (*NIMService) GetStatefulSetParams

func (n *NIMService) GetStatefulSetParams() *rendertypes.StatefulSetParams

GetStatefulSetParams returns params to render StatefulSet from templates

func (*NIMService) GetStorageReadOnly

func (n *NIMService) GetStorageReadOnly() bool

GetStorageReadOnly returns true if the volume have to be mounted as read-only for the NIMService deployment

func (*NIMService) GetTolerations

func (n *NIMService) GetTolerations() []corev1.Toleration

GetTolerations returns tolerations for the NIMService instance

func (*NIMService) GetUserID

func (n *NIMService) GetUserID() *int64

GetUserID returns the user ID for the NIMService deployment

func (*NIMService) GetVolumeMounts

func (n *NIMService) GetVolumeMounts(modelPVC PersistentVolumeClaim) []corev1.VolumeMount

GetVolumeMounts returns volumes for the NIMService container

func (*NIMService) GetVolumes

func (n *NIMService) GetVolumes(modelPVC PersistentVolumeClaim) []corev1.Volume

GetVolumes returns volumes for the NIMService container

func (*NIMService) GetVolumesMounts

func (n *NIMService) GetVolumesMounts() []corev1.Volume

GetVolumesMounts returns volume mounts for the NIMService container

func (*NIMService) IsAutoScalingEnabled

func (n *NIMService) IsAutoScalingEnabled() bool

IsAutoScalingEnabled returns true if autoscaling is enabled for NIMService deployment

func (*NIMService) IsIngressEnabled

func (n *NIMService) IsIngressEnabled() bool

IsIngressEnabled returns true if ingress is enabled for NIMService deployment

func (*NIMService) IsServiceMonitorEnabled

func (n *NIMService) IsServiceMonitorEnabled() bool

IsServiceMonitorEnabled returns true if servicemonitor is enabled for NIMService deployment

type NIMServiceList

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

NIMServiceList contains a list of NIMService

func (*NIMServiceList) DeepCopy

func (in *NIMServiceList) DeepCopy() *NIMServiceList

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

func (*NIMServiceList) DeepCopyInto

func (in *NIMServiceList) DeepCopyInto(out *NIMServiceList)

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

func (*NIMServiceList) DeepCopyObject

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

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

type NIMServicePipelineSpec

type NIMServicePipelineSpec struct {
	Name         string              `json:"name,omitempty"`
	Enabled      *bool               `json:"enabled,omitempty"`
	Spec         NIMServiceSpec      `json:"spec,omitempty"`
	Dependencies []ServiceDependency `json:"dependencies,omitempty"`
}

NIMServicePipelineSpec defines the desired state of NIMService as part of the NIMPipeline

func (*NIMServicePipelineSpec) DeepCopy

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

func (*NIMServicePipelineSpec) DeepCopyInto

func (in *NIMServicePipelineSpec) DeepCopyInto(out *NIMServicePipelineSpec)

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

type NIMServiceSpec

type NIMServiceSpec struct {
	Image   Image           `json:"image,omitempty"`
	Command []string        `json:"command,omitempty"`
	Args    []string        `json:"args,omitempty"`
	Env     []corev1.EnvVar `json:"env,omitempty"`
	// The name of an existing pull secret containing the NGC_API_KEY
	AuthSecret string `json:"authSecret"`
	// Storage is the target storage for caching NIM model if NIMCache is not provided
	Storage        NIMServiceStorage            `json:"storage,omitempty"`
	Labels         map[string]string            `json:"labels,omitempty"`
	Annotations    map[string]string            `json:"annotations,omitempty"`
	NodeSelector   map[string]string            `json:"nodeSelector,omitempty"`
	Tolerations    []corev1.Toleration          `json:"tolerations,omitempty"`
	PodAffinity    *corev1.PodAffinity          `json:"podAffinity,omitempty"`
	Resources      *corev1.ResourceRequirements `json:"resources,omitempty"`
	Expose         Expose                       `json:"expose,omitempty"`
	LivenessProbe  Probe                        `json:"livenessProbe,omitempty"`
	ReadinessProbe Probe                        `json:"readinessProbe,omitempty"`
	StartupProbe   Probe                        `json:"startupProbe,omitempty"`
	Scale          Autoscaling                  `json:"scale,omitempty"`
	Metrics        Metrics                      `json:"metrics,omitempty"`
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default:=1
	Replicas         int    `json:"replicas,omitempty"`
	UserID           *int64 `json:"userID,omitempty"`
	GroupID          *int64 `json:"groupID,omitempty"`
	RuntimeClassName string `json:"runtimeClassName,omitempty"`
}

NIMServiceSpec defines the desired state of NIMService

func (*NIMServiceSpec) DeepCopy

func (in *NIMServiceSpec) DeepCopy() *NIMServiceSpec

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

func (*NIMServiceSpec) DeepCopyInto

func (in *NIMServiceSpec) DeepCopyInto(out *NIMServiceSpec)

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

type NIMServiceStatus

type NIMServiceStatus struct {
	Conditions        []metav1.Condition `json:"conditions,omitempty"`
	AvailableReplicas int32              `json:"availableReplicas,omitempty"`
	State             string             `json:"state,omitempty"`
}

NIMServiceStatus defines the observed state of NIMService

func (*NIMServiceStatus) DeepCopy

func (in *NIMServiceStatus) DeepCopy() *NIMServiceStatus

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

func (*NIMServiceStatus) DeepCopyInto

func (in *NIMServiceStatus) DeepCopyInto(out *NIMServiceStatus)

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

type NIMServiceStorage

type NIMServiceStorage struct {
	NIMCache NIMCacheVolSpec `json:"nimCache,omitempty"`
	// PersistentVolumeClaim is the pvc volume used for caching NIM
	PVC PersistentVolumeClaim `json:"pvc,omitempty"`
	// HostPath is the host path volume for caching NIM
	HostPath *string `json:"hostPath,omitempty"`
	// ReadOnly mode indicates if the volume should be mounted as read-only
	ReadOnly *bool `json:"readOnly,omitempty"`
}

NIMServiceStorage defines the attributes of various storage targets used to store the model

func (*NIMServiceStorage) DeepCopy

func (in *NIMServiceStorage) DeepCopy() *NIMServiceStorage

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

func (*NIMServiceStorage) DeepCopyInto

func (in *NIMServiceStorage) DeepCopyInto(out *NIMServiceStorage)

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

type NIMSource

type NIMSource struct {
	// NGCSource represents models stored in NGC
	NGC *NGCSource `json:"ngc,omitempty"`

	// NGCSource represents models stored in NVIDIA DataStore service
	DataStore *DataStoreSource `json:"dataStore,omitempty"`
}

NIMSource defines the source for caching NIM model

func (*NIMSource) DeepCopy

func (in *NIMSource) DeepCopy() *NIMSource

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

func (*NIMSource) DeepCopyInto

func (in *NIMSource) DeepCopyInto(out *NIMSource)

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

func (*NIMSource) EnvFromSecrets

func (s *NIMSource) EnvFromSecrets() []v1.EnvFromSource

EnvFromSecrets return the list of secrets that should be mounted as env vars

type PersistentVolumeClaim

type PersistentVolumeClaim struct {
	// Create indicates to create a new PVC
	Create *bool `json:"create,omitempty"`
	// Name is the name of the PVC
	Name string `json:"name,omitempty"`
	// StorageClass to be used for PVC creation. Leave it as empty if the PVC is already created.
	StorageClass string `json:"storageClass,omitempty"`
	// Size of the NIM cache in Gi, used during PVC creation
	Size string `json:"size,omitempty"`
	// VolumeAccessMode is the volume access mode of the PVC
	VolumeAccessMode corev1.PersistentVolumeAccessMode `json:"volumeAccessMode,omitempty"`
	SubPath          string                            `json:"subPath,omitempty"`
}

PersistentVolumeClaim defines the attributes of PVC used as a source for caching NIM model

func (*PersistentVolumeClaim) DeepCopy

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

func (*PersistentVolumeClaim) DeepCopyInto

func (in *PersistentVolumeClaim) DeepCopyInto(out *PersistentVolumeClaim)

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

type Probe

type Probe struct {
	Enabled *bool         `json:"enabled,omitempty"`
	Probe   *corev1.Probe `json:"probe,omitempty"`
}

Probe defines attributes for startup/liveness/readiness probes

func (*Probe) DeepCopy

func (in *Probe) DeepCopy() *Probe

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

func (*Probe) DeepCopyInto

func (in *Probe) DeepCopyInto(out *Probe)

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

type Resources

type Resources struct {
	// CPU indicates the minimum number of CPUs to use while caching NIM
	CPU resource.Quantity `json:"cpu,omitempty"`
	// Memory indicates the minimum amount of memory to use while caching NIM
	// Valid values are numbers followed by one of the suffixes Ki, Mi, Gi, or Ti (e.g. "4Gi", "4096Mi").
	Memory resource.Quantity `json:"memory,omitempty"`
}

Resources defines the minimum resources required for caching NIM. +kubebuilder:validation:Required

func (*Resources) DeepCopy

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInto

func (in *Resources) DeepCopyInto(out *Resources)

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

type Service

type Service struct {
	Type corev1.ServiceType `json:"type,omitempty"`
	// override the default service name
	Name string `json:"name,omitempty"`
	// +kubebuilder:default=8000
	Port        int32             `json:"port"`
	Annotations map[string]string `json:"annotations,omitempty"`
}

Service defines attributes to create a service

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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

type ServiceDependency

type ServiceDependency struct {
	// Name is the dependent service name
	Name string `json:"name"`
	// Port is the dependent service port
	Port int32 `json:"port"`
	// EnvName is the dependent service endpoint environment variable name
	EnvName string `json:"envName,omitempty"`
	// EnvValue is the dependent service endpoint environment variable value
	EnvValue string `json:"envValue,omitempty"`
}

ServiceDependency defines service dependencies

func (*ServiceDependency) DeepCopy

func (in *ServiceDependency) DeepCopy() *ServiceDependency

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

func (*ServiceDependency) DeepCopyInto

func (in *ServiceDependency) DeepCopyInto(out *ServiceDependency)

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

type ServiceMonitor

type ServiceMonitor struct {
	AdditionalLabels map[string]string `json:"additionalLabels,omitempty"`
	Annotations      map[string]string `json:"annotations,omitempty"`
	Interval         promv1.Duration   `json:"interval,omitempty"`
	ScrapeTimeout    promv1.Duration   `json:"scrapeTimeout,omitempty"`
}

ServiceMonitor defines attributes to create a service monitor

func (*ServiceMonitor) DeepCopy

func (in *ServiceMonitor) DeepCopy() *ServiceMonitor

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

func (*ServiceMonitor) DeepCopyInto

func (in *ServiceMonitor) DeepCopyInto(out *ServiceMonitor)

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