Creating an application version#

We now need to create an application-version.yaml file to specify the details of the version of the Omniverse Kit App we want to deploy, including the container image, version, and related metadata.

Creating an application version#

  1. Create a new file called application-version.yaml.

  2. In the file, specify the Kind as ApplicationVersion.

    Sample application-version.yaml for version 110.1.3 of the usd-viewer application#
    apiVersion: omniverse.nvidia.com/v1
    kind: ApplicationVersion
    metadata:
      name: usd-viewer-110.1.3
      labels:
        app: usd-viewer
        applicationName: usd-viewer
        version: '110.1.3'
    spec:
      helm_chart: ngc-omniverse/kit-appstreaming-session
      helm_chart_version: '1.12.1'
      container: nvcr.io/nvidia/omniverse/usd-viewer
      container_version: '110.1.3'
    

    2.1 Specify the ApplicationVersion ID and semantic version of the application:

    metadata.name:

    The ApplicationVersion ID

    metadata.labels.version:

    The semantic version of the application.

    2.2 We use metadata from the Application to link the version to it:

    metadata.labels.app:

    Application.metadata.name

    metadata.labels.applicationName:

    Application.spec.name

    2.3 The spec section is where you define the container image and version for the Kit App:

    spec.container:

    Container image to use

    spec.container_version:

    Version of the container image to use

    2.4 That is also where you specify a Helm chart used to deploy it:

    spec.helm_chart:

    The chart to use, in the form <HelmRepository name>/<chart name> (for example ngc-omniverse/kit-appstreaming-session). The prefix must match the metadata.name of a Flux HelmRepository already present in the cluster (created during installation), not a URL.

    spec.helm_chart_version:

    Version of the Helm chart to use. This pins the session chart per application version, so different application versions may run on different session chart versions.

  3. Install the application version using kubectl:

    kubectl apply -f application-version.yaml -n omni-streaming
    
  4. List the new application version:

    kubectl describe applicationversions.omniverse.nvidia.com usd-viewer-110.1.3 -n omni-streaming
    
  5. List the new application version by calling the APS endpoint:

    curl http://<ingress url of the AP service>/cfg/apps/usd-viewer/versions