UCS Manifest#
The full manifest of the UCS microservice is below:
type: msapplication
specVersion: 2.5.0
name: ucf.svc.ia-animation-graph-microservice
displayName: "Animation Graph Microservice"
chart: "https://helm.ngc.nvidia.com/nvidia/ace/charts/ia-animation-graph-microservice-1.1.0.tgz"
description: "Animation Graph Microservice"
version: "1.1.0"
category:
functional: ""
industry: ""
tags: []
keywords: []
eula: ""
nSpectId: NSPECT-RDWK-7253
publish: false
egress-endpoints:
- name: redis
description: Redis message broker
protocol: TCP
mandatory: False
scheme: asyncio
data-flow: out
- name: otlp
description: OpenTelemetry protocol (OTLP) compliant server
protocol: TCP
mandatory: False
scheme: asyncio
data-flow: out
ingress-endpoints:
- name: anim-server
description: "Animation data gRPC server"
protocol: TCP
scheme: grpc
mandatory: True
data-flow: in-out
service: ia-animation-graph-microservice
port: 51000
- name: http-api
description: "HTTP API"
protocol: TCP
scheme: http
mandatory: True
data-flow: in
service: ia-animation-graph-microservice
port: 8020
params:
kit:
#> description: Omniverse Kit related parameters.
#> type: object
settings: ""
#> description: Additional Kit settings passed at startup (e.g. '--/app/my/setting=42 --/app/my/other/setting=true').
#> type: string
printSettings: false
#> description: Print Kit settings on startup.
#> type: boolean
httpServer:
#> description: HTTP API server configuration
#> type: object
port: 8020
#> description: The port where the http API server is served.
#> type: integer
deployment:
#> description: Kubernetes deployment related parameters.
#> type: object
memoryRequest: "1Gi"
#> description: Resource memory request for container.
#> type: string
memoryLimit: "4Gi"
#> description: Resource memory limit for container.
#> type: string
gpuDisableAlloc: false
#> description: When set to true, the GPU allocation is switched from hardcoded to dynamic.
#> type: boolean
gpuAllocLimit: 1
#> description: Controls how many replicas run on a single GPU.
#> type: integer
persistentVolumeSize: 5000Mi
#> description: The size of the volume required to store the USD scene and all its dependencies.
#> type: string
storageClassName: mdx-local-path
#> description: The storage class for the persistent volume claims.
#> type: string
storageAccessMode: ReadWriteOnce
#> description: The access mode for the persistent volume claims.
#> type: string
resourceDownload:
#> description: Parameters for the resource download init container to specify how and where the USD resources are downloaded.
#> type: object
remoteResourcePath: ""
#> description: The remote resource path with the USD scene assets. Will be provided as "REMOTE_RESOURCE_PATH" env variable to the resource download init container. E.g. for NGC resources looks like "<NGC_ORG>/<NGC_TEAM>/<NGC_RESOURCE_NAME>:<NGC_RESOURCE_VERSION>".
#> type: string
secretName: ""
#> description: Name of the secret, that will be mounted into the resource download init container to provide credentials. E.g. for NGC the "NGC_CLI_API_KEY".
#> type: string
image: ""
#> description: Name of the image for the resource download init container. E.g. "nvcr.io/nvidia/ace/ngc-resource-downloader:1.2.0"
#> type: string
animationServer:
#> description: GRPC server for pulling and pushing animation data
#> type: object
port: 51000
#> description: The port where the animation data server is served.
#> type: integer
maxStreamCapacity: 3
#> description: The max number of parallel streams, that are supported for each instance of the microservice.
#> type: integer
scene:
#> description: USD scene asset configuration
#> type: object
filename: "Avatar_Scene.usda"
#> description: The name of the USD asset (e.g. `Avatar_Scene.usda`). This can be a .usda or a .usd file.
#> type: string
debug:
#> description: Debug configuration
#> type: object
logEnabled: true
#> description: Enable debug logs.
#> type: boolean
logEachReceivedAnimationDataMessage: false
#> description: Log each animation data message that is received on the grpc stream.
#> type: boolean
logEachSentAnimationDataMessage: false
#> description: Log each animation data message that is sent on the grpc stream.
#> type: boolean
logEachRedisAnimationGraphEvent: false
#> description: Log each finish notification that is sent to a redis stream.
#> type: boolean
logFrameInterval: 30
#> description: Enable debug output of each x-th frame.
#> type: integer
trace:
#> description: Trace configuration
#> type: object
jsonExporter:
#> description: Json exporter configuration
#> type: object
enabled: false
#> description: Enable exporting traces to a file in json format.
#> type: boolean
filename: "_trace.json"
#> description: Filename, where the traces are written to.
#> type: string
otlpExporter:
#> description: OTLP exporter configuration
#> type: object
enabled: false
#> description: Enable exporting traces to an OTLP compliant server (defined in egress).
#> type: boolean
captureDetail: 24
#> description: The trace levels to capture. LOW=16, MID=8, HIGH=4, VERBOSE=2, FULL=1. The values are added together to get the final trace level. E.g. LOW + MID = 24.
#> type: integer
animationSource:
#> description: GRPC animation source
#> type: object
bufferSize: 0.1
#> type: number
#> description: The buffer size of animation data input stream in seconds.
animationOutput:
#> description: GRPC animation output
#> type: object
frameRate: 30.0
#> description: The frames per second rate at which the data is sampled and streamed.
#> type: number
audioSampleRate: 16000
#> description: The number of audio samples per second that the service outputs.
#> type: integer
tests:
- name: dummy
app: tests/dev/dummy.yaml
params: tests/dev/params1.yaml
ciTrigger: true
timeout: 20
duration: 8
installPreReqs: true # Whether to install foundational services
namespace: default # Kubernetes namespace
gpuNodeLabels: ""
watchAllPods: true # OR set to false and set list of pods to watch below
watchPods: []
testerPods: # At least one tester pod is required
- name: animation-graph-deployment # Name of the test pod
startSignature: "SETTINGS" # Signature to look for in the logs indicating start of tests. Regex is accepted
endSignature: "Animation graph microservice readiness probe: OK" # Signature to look for in the logs indicating end of tests. Regex is accepted
errorSignatures: # Signatures that indicate test failures. Regex is accepted
- "UCF_MS_VALIDATION_RESULT: Fail"