UCS Tools Registry

In this section, we explain how UCS Tools Registry (aka UCS Registry) and repositories in the registry are organized. Repositories can be local or remote on NGC. Developers can interact with the repositories using the UCS Tools (CLI/Studio).

Microservice Contents

A UCS Microservice contains the following artifacts:

  • UCS Microservice Specification

  • Helm chart

  • Container Image/s

  • Any other artifacts like DeepLearning Models and Configurations

Local Repository

Local repository is basically a file based repository created on the host file system.

When a microservice is built it is added to the local repository. The generated UCS Microservice Specification gets stored in this local repository. Based on the mode of microservice creation and build (Refer to Generate scaffolding), Helm Chart and Container Images maybe built and stored locally or maybe used from a remote location.

It is up to the microservice developer on how/where the other artifacts like Models and Configurations are stored and retrieved during deployment.

Note

Users can use the local (default) repository to store microservices.

NGC Repository

Currently, UCS Tools supports NGC as the remote repository. NGC is a NVIDIA provided catalog service for containers, pre-trained models, Helm charts for Kubernetes deployments and industry specific AI toolkits with software development kits (SDKs).

UCS Tools uses NGC as a platform for it’s various repositories where it stores the containers, helm charts and the UCS Microservice Specification for the various microservices.

A UCS Tools NGC repository is basically a Private NGC Registry with a specified org and team.

Multiple such use case/product-specific repositories have been created. Each UCS Tools NGC repository contains artifacts specific to the use case/product. It contains:

  • UCS Microservice Specification for the various microservices used in the use case/product.

  • Helm Chart for the microservices.

  • Container Images may be uploaded to the same private NGC repository. However this is OPTIONAL.

  • Other artifacts like Models and Configurations may be uploaded to the same private NGC repository. However this is OPTIONAL.

It is up to the microservice developer on how/where the Container Images and other artifacts like Models and Configurations are stored and retrieved during deployment.

Note

Users cannot create new NGC based repositories and hence they can use the local (default) repository to store microservices.

List of UCS Repositories

A list of Repositories that are part of the UCS Registry is uploaded to NGC public catalog. The tools can retrieve this list without any API keys.

Current list of UCS Repositories is:

  • UCF

  • Tokkio

  • ACE

  • Metropolis

Note

Not all above repositories are accessible to everyone. Only accessible repositories are visible in repo list. Please request access to the repositories from corresponding programs.

When a user sets the NGC API Key, the UCS Tools verifies the accessible repositories and populates the repo list.

For example:

  • User A might have access to the UCS repository but not the Tokkio repository and hence User A will only see and interact with UCS repository

  • User B might have access to both the UCS repository and the Tokkio repository and hence User A will see and interact with both UCS and Tokkio repositories

The UCS Repository

The UCS repository consists of microservices required for building the UCS Reference Applications. It consists of the following microservices:

  • ucf.svc.botmaker.dialog-manager

  • ucf.svc.botmaker.speech-controller

  • ucf.svc.botmaker.speech-web-app

  • ucf.svc.botmaker.text-web-app

  • ucf.svc.riva.speech-skills

For the UCS repository, all artifacts (microservice specifications, helm charts, container images, models, etc.,) have been added to the same private NGC registry and hence having access to just the one UCS private NGC registry is enough to get the UCS reference apps working.

The Tokkio Repository

The Tokkio repository consists of microservices required for building the Tokkio Application. It consists of the following microservices:

  • ucf.svc.botmaker.answer-rewriter

  • ucf.svc.botmaker.dialog-manager

  • ucf.svc.botmaker.speech-controller

  • ucf.svc.core.mongodb

  • ucf.svc.core.redis

  • ucf.svc.core.redis-timeseries

  • ucf.svc.ds.visionai

  • ucf.svc.maxine.anim-a2f

  • ucf.svc.maxine.audio

  • ucf.svc.metropolis.occupancy-alerts

  • ucf.svc.metropolis.occupancy-alerts-api

  • ucf.svc.riva.speech-skills

  • ucf.svc.tokkio.cart-manager

  • ucf.svc.tokkio.fulfillment-food-ordering

  • ucf.svc.tokkio.ingress-mgr

  • ucf.svc.tokkio.menu-api

  • ucf.svc.tokkio.mlops-data-collector

  • ucf.svc.tokkio.thinclient

  • ucf.svc.tokkio.ui-server

  • ucf.svc.vms

For the Tokkio repository, the microservice specifications and helm charts are part of the UCS Tokkio repository. Other artifacts like container images, models, etc., are part of the NV Tokkio 1.5 private NGC registry.

Hence access to both UCS Tokkio private NGC registry and NV Tokkio 1.5 private NGC registry is required to get the UCS Tokkio App working.

Extending the UCS Tools Repository List

The UCS Tools repository list can be easily extended for other use cases / products like ACE, MDX without having any changes in the tools. This would involve:

  • Creating a new use case / product specific private NGC team under nv-ucf org for hosting the Microservice Specifications and Helm charts.

  • Depending on use case / product, other artifacts like Container Images, Models etc., may be uploaded to the same private NGC team or maybe uploaded elsewhere.

  • Update the list of Repositories with the new repository and upload to NGC.

With the same unchanged build of tools, whenever user sets the NGC API Key, this updated list of repositories will be fetched and the new repository will be accessible to the user (if the user has been added to the corresponding private NGC team).