utils

package
v0.0.0-...-94c4bcd Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2025 License: Apache-2.0 Imports: 56 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IsNimRuntimeAnnotation = "runtimes.opendatahub.io/nvidia-nim"
)
View Source
const (
	KserveConfigMapName = "inferenceservice-config"
)

Variables

View Source
var GVK = struct {
	DataScienceClusterInitialization,
	DataScienceCluster schema.GroupVersionKind
}{
	DataScienceCluster: schema.GroupVersionKind{
		Group:   "datasciencecluster.opendatahub.io",
		Version: "v1",
		Kind:    "DataScienceCluster",
	},
	DataScienceClusterInitialization: schema.GroupVersionKind{
		Group:   "dscinitialization.opendatahub.io",
		Version: "v1",
		Kind:    "DSCInitialization",
	},
}

GVK is a struct that holds the GroupVersionKind for resources we don't have direct dependency on (by means of golang API) but we still want to interact with them e.g. through unstructured objects.

View Source
var NimEqualities semantic.Equalities

Functions

func AccountFailCondition

func AccountFailCondition(gen int64, msg string) metav1.Condition

AccountFailCondition returns an AccountStatus failed condition

func CleanupResources

func CleanupResources(ctx context.Context, account *v1.Account, kubeClient client.Client) error

CleanupResources is used for deleting the integration related resources (configmap, template, pull secret)

func ConvertToStructuredResource

func ConvertToStructuredResource(yamlContent []byte, out runtime.Object) error

func ConvertToUnstructuredResource

func ConvertToUnstructuredResource(yamlContent []byte, out *unstructured.Unstructured) error

func CreateSelfSignedCACertificate

func CreateSelfSignedCACertificate(ctx context.Context, c client.Client, secretName, domain, namespace string) error

func CreateSelfSignedCertificate

func CreateSelfSignedCertificate(ctx context.Context, c client.Client, caSecretName, caSecretNamespace, targetSecretName, targetNamespace string, sanIPs, sanDNSs []string) (*corev1.Secret, error)

func GenerateSelfSignedCACertificateAsSecret

func GenerateSelfSignedCACertificateAsSecret(ctx context.Context, name, addr, namespace string) (*corev1.Secret, error)

func GenerateSelfSignedCertificateAsSecret

func GenerateSelfSignedCertificateAsSecret(caCertSecret *corev1.Secret, targetSecretName, targetNamespace string, sanIPs, sanDNSs []string) (*corev1.Secret, error)

func GetApplicationNamespace

func GetApplicationNamespace(ctx context.Context, cli client.Client) (string, error)

GetApplicationNamespace returns the namespace where the application components are installed. defaults to: RHOAI - redhat-ods-applications, ODH: opendatahub

func GetAuthAudience

func GetAuthAudience(ctx context.Context, client client.Client, defaultAudience string) []string

func GetAvailableResourcesForApi

func GetAvailableResourcesForApi(config *rest.Config, groupVersion string) (*metav1.APIResourceList, error)

GetAvailableResourcesForApi returns the list of discovered resources that belong to the API specified in groupVersion. The first query to a specifig groupVersion will query the cluster API server to discover the available resources and the discovered resources will be cached and returned to subsequent invocations to prevent additional queries to the API server.

func GetEnvOr

func GetEnvOr(key, defaultValue string) string

func GetGatewayInfoFromConfigMap

func GetGatewayInfoFromConfigMap(ctx context.Context, cli client.Client) (namespace, name string, err error)

func GetInferenceServiceConfigMap

func GetInferenceServiceConfigMap(ctx context.Context, cli client.Client) (*corev1.ConfigMap, error)

func GetMaaSRoleBindingName

func GetMaaSRoleBindingName(llmisvc *kservev1alpha1.LLMInferenceService) string

GetMaaSRoleBindingName returns the name of the related RoleBinding resource for MaaS RBAC use cases

func GetMaaSRoleName

func GetMaaSRoleName(llmisvc *kservev1alpha1.LLMInferenceService) string

GetMaaSRoleName returns the name of the related Role resource for MaaS RBAC use cases

func GetNimModelData

func GetNimModelData(logger logr.Logger, apiKey string, runtimes []NimRuntime) (map[string]string, error)

GetNimModelData is used for fetching the model info for the given runtimes, returns configmap data

func GetNimServingRuntimeTemplate

func GetNimServingRuntimeTemplate(scheme *runtime.Scheme) (*v1alpha1.ServingRuntime, error)

GetNimServingRuntimeTemplate returns the Template used by ODH for creating serving runtimes

func IsCrdAvailable

func IsCrdAvailable(config *rest.Config, groupVersion, kind string) (bool, error)

IsCrdAvailable checks if a given CRD is present in the cluster by verifying the existence of its API.

func IsManagedByOpenDataHub

func IsManagedByOpenDataHub(obj client.Object) bool

func IsManagedResource

func IsManagedResource(owner client.Object, resource client.Object) bool

func IsNil

func IsNil(i any) bool

func IsNotNil

func IsNotNil(i any) bool

func IsRayTLSSecret

func IsRayTLSSecret(name string) bool

func MakeNimCondition

func MakeNimCondition(condType NimConditionType, status metav1.ConditionStatus, gen int64, reason, msg string) metav1.Condition

MakeNimCondition is used for building a status condition for NIM integration

func MergeUserLabelsAndAnnotations

func MergeUserLabelsAndAnnotations(desired, existing client.Object)

MergeUserLabelsAndAnnotations merges user-added labels and annotations from existing resource into desired resource while preserving template-defined values

func ObjectKeyFromReference

func ObjectKeyFromReference(ref *corev1.ObjectReference) client.ObjectKey

ObjectKeyFromReference returns the ObjectKey given a ObjectReference

func RegisterSchemes

func RegisterSchemes(s *runtime.Scheme)

RegisterSchemes adds schemes of used resources to controller's scheme.

func SetAvailableResourcesForApi

func SetAvailableResourcesForApi(groupVersion string, resources *metav1.APIResourceList)

SetAvailableResourcesForApi stores the value fo resources argument in the global cache of discovered API resources. This function should never be called directly. It is exported for usage in tests.

func SetOpenshiftRouteTimeoutForIsvc

func SetOpenshiftRouteTimeoutForIsvc(route *v1.Route, isvc *kservev1beta1.InferenceService)

SetOpenshiftRouteTimeoutForIsvc sets the timeout value for Openshift routes created for inference services.

func SubstituteVariablesInQueries

func SubstituteVariablesInQueries(data string, namespace string, name string) string

func UpdateStatus

func UpdateStatus(ctx context.Context, subject types.NamespacedName, status v1.AccountStatus, kubeClient client.Client) error

UpdateStatus is used for fetching an updating the status of the account

func ValidateApiKey

func ValidateApiKey(logger logr.Logger, apiKey string, runtimes []NimRuntime) error

ValidateApiKey is used for validating the given API key by retrieving the token and pulling the given custom runtime

Types

type HttpClient

type HttpClient interface {
	Do(*http.Request) (*http.Response, error)
}
var NimHttpClient HttpClient

type NIMCleanupRunner

type NIMCleanupRunner struct {
	Client client.Client
	Logger logr.Logger
}

NIMCleanupRunner is a Runnable used for cleaning up NIM when disabled

func (*NIMCleanupRunner) Start

func (r *NIMCleanupRunner) Start(ctx context.Context) error

type NimCatalogQuery

type NimCatalogQuery struct {
	Query    string `json:"query"`
	Page     int    `json:"page"`
	PageSize int    `json:"pageSize"`
}

NimCatalogQuery is used for constructing a query for NIM catalog fetch

type NimCatalogResponse

type NimCatalogResponse struct {
	ResultPageTotal int `json:"resultPageTotal"`
	Params          struct {
		Page int `json:"page"`
	} `json:"params"`
	Results []struct {
		GroupValue string `json:"groupValue"`
		Resources  []struct {
			ResourceId string `json:"resourceId"`
			Attributes []struct {
				Key   string `json:"key"`
				Value string `json:"value"`
			} `json:"attributes"`
			Name string `json:"name"`
		} `json:"resources"`
	} `json:"results"`
}

NimCatalogResponse represents the NIM catalog fetch response

type NimConditionType

type NimConditionType string
const (
	NimConditionAccountStatus    NimConditionType = "AccountStatus"
	NimConditionTemplateUpdate   NimConditionType = "TemplateUpdate"
	NimConditionSecretUpdate     NimConditionType = "SecretUpdate"
	NimConditionConfigMapUpdate  NimConditionType = "ConfigMapUpdate"
	NimConditionAPIKeyValidation NimConditionType = "APIKeyValidation"
)

func (NimConditionType) String

func (r NimConditionType) String() string

type NimModel

type NimModel struct {
	Name             string   `json:"name"`
	DisplayName      string   `json:"displayName"`
	ShortDescription string   `json:"shortDescription"`
	Namespace        string   `json:"namespace"`
	Tags             []string `json:"tags"`
	LatestTag        string   `json:"latestTag"`
	UpdatedDate      string   `json:"updatedDate"`
}

NimModel is a representation of NIM model info

type NimRuntime

type NimRuntime struct {
	Resource string
	Version  string
	Org      string
	Team     string
	Image    string
	Name     string
}

NimRuntime is a representation of a NIM custom runtime

func GetAvailableNimRuntimes

func GetAvailableNimRuntimes(logger logr.Logger) ([]NimRuntime, error)

GetAvailableNimRuntimes is used for fetching a list of available NIM custom runtimes

type NimTokenResponse

type NimTokenResponse struct {
	Token     string `json:"token"`
	ExpiresIn int    `json:"expires_in"`
}

NimTokenResponse represents the NIM token response

Jump to

Keyboard shortcuts

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