Omniverse Storage APIs and Service Adapter Developer Guide#

Overview#

The Omniverse Storage APIs are a collection of gRPC and REST API specifications, along with microservice adapters. They are designed to work on top of your existing storage and infrastructure services, making it easy to use them directly within the Omniverse platform in a consistent way. This stack is designed to be deployed with Kubernetes or for development purposes with MicroK8s.

This guide is intended for developers and system administrators that are working to integrate the Omniverse platform directly into their infrastructure and workflows. You will learn how to use the APIs, create custom adapters, and create a deployment that you can use with Omniverse-based workflows.

The full collection of helm charts, containers, and other artifacts are available in the NGC catalog: https://catalog.ngc.nvidia.com/orgs/nvidia/teams/omniverse/collections/storage_apis

Guide Terminology#

Term

Description

Omniverse Storage APIs/API specifications

Generically refers to all of the gRPC or REST API specifications created by NVIDIA for storage and infrastructure services.

Service Adapter

A microservice that implements any of the Omniverse Storage API specifications. (e.g. AWS S3 storage service, connects to the S3 storage service adapter).

Service

A long running service that provides a specific functionality. (e.g. AWS S3 storage service, Derived Data Cache Service)

Client Application

An application or library that uses the API. (e.g. Storage Navigator, Kit Framework)

Deployment

Specific configurations of services, service adapters and their explicit versions to provide a specific access and functionality for end-users.

API and Service Adapter Breakdown#

API Specifications#

We have several API specifications that are designed to be used independently or together, allowing you to build a microservice solution tailored to your infrastructure and workflow needs. However, our Service Adapter implementations leverage multiple APIs together to provide a full infrastructure solution.

Service Adapters#

The Service Adapters are organized into multiple distinct service components, each focused on a specific area of storage functionality. For your convenience, here is a summary of each:

Discovery#

Overview

Enables the ability to have a single entry point for clients to connect and receive a list of all the service endpoints used within a given Omniverse Storage deployment.

Discovery

Storage#

Overview

Our API specification allow for create, read, update, delete, list, on files and folders. They also include per file versioning capabilities. We offer two service examples:

  • Python example service: meant as a development example for single user local deployment

  • Pre-built container service: this service adapter is capable of connecting to S3 and Azure object storage, allowing your team to use object storage as working storage.

Storage

Notifications#

Overview

Enables real-time event streaming and notifications for storage operations, allowing clients to subscribe to and receive updates about file system changes.

Notifications

Sample Client Applications#

Storage Navigator#

Overview

Provides a web-based file browser and management interface for interacting with Omniverse Storage, enabling users to browse, upload, download, and manage files and folders.

Storage Navigator