Creating an Application Profile#
We now need to create an application-profile.yaml
file to define how our Omniverse Kit App is deployed and managed. This file specifies important configuration details such as resource limits, container image overrides, load balancer configuration, authentication, etc., ensuring the application is properly set up for streaming.
Creating an application profile#
Create a new file called
application-profile.yaml
.Set the
ApiVersion
andKind
as indicated below:1apiVersion: omniverse.nvidia.com/v1 2kind: ApplicationProfile 3metadata: 4 name: default 5spec: 6 name: Default profile 7 description: Updated memory and CPU settings. 8 supportedApplications: 9 - name: "usd-viewer" 10 versions: 11 - "*" 12 chartMappings: 13 container: streamingKit.image.repository 14 container_version: streamingKit.image.tag 15 name: streamingKit.name 16 chartValues: 17 global: 18 imagePullSecrets: 19 - name: regcred 20 streamingKit: 21 image: 22 repository: nvcr.io/nvidia/omniverse/usd-viewer 23 pullPolicy: Always 24 tag: '0.2.0' 25 sessionId: session_id 26 name: kit-app 27 resources: 28 requests: 29 nvidia.com/gpu: "1" 30 limits: 31 cpu: "3" 32 memory: "20Gi" 33 nvidia.com/gpu: "1" 34 env: 35 - name: USD_PATH 36 value: "/app/data/Forklift_A/Forklift_A01_PR_V_NVD_01.usd"
Specify the ID, name and description of the
ApplicationProfile
:- metadata.name:
The ID of the profile
- spec.name:
A human-readable name for the profile
- spec.description:
A description for the profile
Indicate which
Application
andApplicationVersion
this profile applies to:- spec.supportedApplications:
A list of name(s) and version(s) for which this profile can be used.
The name(s) must match the application id.
The versions are a list of supported versions that can be used with this profile.
Wildcards are supported at various levels in the version.
The
ApplicationProfile
is configurable and the example shown above highlights a few common types of configuration options.- spec.chartMappings:
Defines mapping between
spec.chartValues
settings and the Helm chart values they should override.- spec.chartValues:
The values to apply to the helm chart that will be installed.
Install the application profile using kubectl:
kubectl apply -f application-profile.yaml -n omni-streaming
List the created application profile:
kubectl describe applicationprofiles.omniverse.nvidia.com nlb -n omni-streaming
List using the APS endpoint:
curl http://{ingress url of the AP service}/cfg/apps/usd-viewer/versions/0.2.0/profiles
Additional information#
- Application Profiles
This configuration guide contains information about some of the common sections you might want to configure in an
ApplicationProfile
.- Omniverse Kit App Streaming - Samples and Resources
This resource contains various example
ApplicationProfile
YAML
files you can use for reference.