NGC Catalog
CLASSIC
Welcome Guest
Helm Charts
Omniverse Kit App Streaming - Applications and Profiles Service

Omniverse Kit App Streaming - Applications and Profiles Service

For versions and more information, please view on a desktop device.
Logo for Omniverse Kit App Streaming - Applications and Profiles Service
Associated Products
Features
Description
Helm chart to initialize a Kit application store
Publisher
NVIDIA
Latest Version
1.9.1
Compressed Size
38.64 KB
Modified
April 18, 2025

Omniverse Kit App Streaming - Applications and Profiles Service

Version: 1.8.1 Type: application AppVersion: 1.8.1



Overview

This Helm chart is designed for the deployment of the Omniverse Application service within Kubernetes environments. Serving as a core component of the Omniverse streaming application stack, this service facilitates the management and deployment of streaming applications.

Description

The nv.ov.svc.applications service within the Omniverse ecosystem provides a comprehensive solution for managing streaming applications. By leveraging this service, users can engage with the Omniverse platform more effectively, managing applications and their versions with ease.



Key Features:

  • Application Management: Enables listing all registered applications and retrieving comprehensive details about each one, facilitating better organization and control within the streaming application stack.

  • Version Control: Allows for detailed management of application versions, including listing available versions and retrieving specific version information, which aids in maintaining the lifecycle of streaming applications.

  • Profile Management: Supports defining and managing runtime profiles for different application versions, which optimizes the performance and resource utilization of streaming applications under various conditions.

This Helm chart includes all necessary components for deploying the Omniverse Application service, ensuring a seamless integration into your Kubernetes environment.



Custom Resource Definitions (CRDs)

The Helm chart introduces several Custom Resource Definitions (CRDs) to facilitate advanced application management within Kubernetes. These CRDs enable the definition of applications, their versions, and deployment profiles in a structured and Kubernetes-native manner.

Application

The Application CRD represents a high-level definition of an application.

Fields:

  • name: The human-readable name of the application.
  • description: A brief description of the application's purpose and functionality.

Purpose:

This CRD abstracts the core identity and metadata of an application, separating it from operational details, which are managed by the ApplicationVersion and ApplicationProfile CRDs. It centralizes the management of application metadata.

ApplicationVersion

The ApplicationVersion CRD defines specific versions of an application, detailing the associated Helm chart and container image.

Fields:

  • helm_chart: Specifies the Helm chart used for deploying this application version.
  • helm_chart_version: The version of the Helm chart.
  • container: The container image used for this version.
  • container_version: The version of the container.

Labels (mandatory):

  • applicationName: Identifies the application to which this version belongs.
  • version: The version identifier of the application.

Purpose:

The ApplicationVersion CRD enables precise management of application versions, allowing for the coexistence and independent management of multiple versions. It also facilitates specific configurations for each version, enabling detailed and controlled deployment strategies.

ApplicationProfile

The ApplicationProfile CRD specifies deployment profiles for applications, defining the deployment configurations for application versions.

Fields:

  • supportedApplications: Lists the applications and their specific versions that this profile supports, with wildcard support for version flexibility.
  • chart_mappings: Defines the mappings from ApplicationVersion fields to Helm chart values, allowing dynamic configuration based on the application version.
  • chart_values: Specifies the actual values used when deploying the Helm chart, serving as a template for deployment configurations.

Purpose:

The ApplicationProfile CRD enables the definition of complex deployment scenarios, allowing for customizable and dynamic deployments based on application requirements. It acts as a bridge between the details of application versions and the Helm chart deployment process, facilitating a high degree of customization in application deployments.



Configuration

To view values via helm use helm show values

NOTE: There are global values.

Values

Key Type Default Description
applications.affinity object {} Affinity for pod assignment. https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
applications.applications object {} Applications to make available as part of this service NOTE: The applications and applicationversions are custom CRDs that can also be created after this chart has been deployed.
applications.env object {} Env for the container of the service. https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#envvar-v1-core
applications.fullnameOverride string "applications" Full override .fullname template
applications.image.pullPolicy string "Always" Image pull policy.
applications.image.repository string "nvcr.io/nvidia/omniverse/kit-appstreaming-applications" Image repository.
applications.image.tag string "1.8.1" Image tag.
applications.imagePullSecrets list [] Image Pull Secrets
applications.ingress.enabled bool true Enables the creation of Ingress resource.
applications.ingress.path string "/" Path for ingress.
applications.ingress.pathType string "Prefix" Path Type for ingress.
applications.livenessProbe object {"httpGet":{"path":"/health","port":"http"},"initialDelaySeconds":5,"periodSeconds":3} LivenessProbe for the service. NOTE: service must have an endpoint as specified by the "path" https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#probe-v1-core
applications.monitoring.enabled bool false Enables the creation of ServiceMonitor resource.
applications.monitoring.prometheusNamespace string "monitoring" Prometheus namespace.
applications.name string "applications"
applications.nameOverride string "" Partially override .fullname template (maintains the release name)
applications.nodeSelector object {} Node labels for pod assignment. https://kubernetes.io/docs/user-guide/node-selection/
applications.podAnnotations object {} Pod annotations. https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
applications.podSecurityContext object {"runAsNonRoot":false} Security Context. https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
applications.profiles object {} Profiles to make available as part of this service NOTE: applicationprofiles are custom CRDs that can also be created after this chart has been deployed.
applications.readinessProbe object {"httpGet":{"path":"/ready","port":"http"},"initialDelaySeconds":5,"periodSeconds":3} readinessProbe for the service. NOTE: service must have an endpoint as specified by the "path" https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#probe-v1-core
applications.replicaCount int 1 Number of replicas.
applications.resources object {"limits":{"cpu":"500m","ephemeral-storage":"2Gi","memory":"512Mi"},"requests":{"cpu":"100m","ephemeral-storage":"1Gi","memory":"256Mi"}} Container resource requests and limits. https://kubernetes.io/docs/user-guide/compute-resources/
applications.revisionHistoryLimit int 5
applications.securityContext object {} Security Context. https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
applications.service.containerPort int 8080 Container port.
applications.service.name string "applications" Name of the service.
applications.service.port int 80 Service port.
applications.service.portName string "http" Port name.
applications.service.resolverContainerPort int 8081 Container port for resolver container
applications.service.resolverName string "resolver" Name of the service for the resolver container
applications.service.type string "ClusterIP" Kubernetes service type.
applications.serviceConfig object {"app_store_args":{"api_version":"v1","namespace":""},"app_store_cls":"nv.ov.svc.applications.store.crd.CRDApplicationStore","logging":{"level":"INFO","production_mode":true},"metrics":{"collector_url":"","enable_metrics_middleware":true,"export_interval_s":15,"export_metrics_to_collector":false,"export_metrics_to_console":false,"secure":false},"prefix_url":"cfg/apps","root_path":""} Configuration specific to this service.
applications.serviceConfig.app_store_args object {"api_version":"v1","namespace":""} App store arguments
applications.serviceConfig.app_store_cls string "nv.ov.svc.applications.store.crd.CRDApplicationStore" App store class
applications.serviceConfig.logging.level string "INFO" Log level for the application (valid levels; INFO, DEBUG, WARN, ERROR)
applications.serviceConfig.metrics object {"collector_url":"","enable_metrics_middleware":true,"export_interval_s":15,"export_metrics_to_collector":false,"export_metrics_to_console":false,"secure":false} Metrics related settings.
applications.serviceConfig.prefix_url string "cfg/apps" URL prefix for the service.
applications.serviceConfig.root_path string "" Root Path for the application. NOTE: useful when behind a proxy. https://fastapi.tiangolo.com/advanced/behind-a-proxy/
applications.startupProbe object {"httpGet":{"path":"/startup","port":"http"},"initialDelaySeconds":5,"periodSeconds":3} startupProbe for the service. NOTE: service must have an endpoint as specified by the "path" https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#probe-v1-core
applications.tolerations list [] Tolerations for pod assignment. https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
global.imagePullSecrets list [] Global image pull secrets used within the services.
global.ingress.annotations object {"kubernetes.io/ingress.class":"nginx"} Global Ingress annotations.
global.ingress.host string "" Global Ingress host.
global.ingress.paths list [] Global Ingress paths.
global.ingress.tls list [] Global Ingress tls.
global.transportHost string "0.0.0.0" Specify the services transport host. For IPv6 use "::".


Governing Terms

NVIDIA Omniverse is governed by the NVIDIA Agreements | Enterprise Software | NVIDIA Software License Agreement and NVIDIA Agreements | Enterprise Software | Product Specific Terms for Omniverse.

By downloading or using NVIDIA Omniverse, you agree to the NVIDIA Omniverse terms.