UCS Microservice Builder CLI#
The UCS Microservice Builder CLI tool can be used to create and build microservices. It can be used to list and view information about available microservices and perform a few NGC repository operations.
The tool is named ucf_ms_builder_cli
.
Basic Operations#
Viewing Help#
$ ucf_ms_builder_cli -h
usage: ucf_ms_builder_cli [-h] [-v] [-va] ...
positional arguments:
service Perform actions on a microservice
registry Perform actions on registry
component Perform actions on components
optional arguments:
-h, --help show this help message and exit
-v, --version Print MS Builder Version
-va, --version-all Print all versions
Checking the Tool Version#
$ ucf_ms_builder_cli -v
Version:
MS Builder: v2.5.0
$ ucf_ms_builder_cli --version-all
Versions:
MS Builder: v2.5.0
UCF MS Spec: v2.5.0
Service Command service
#
Service command service
can be used to create and build microservices and list and view information about available microservices.
$ ucf_ms_builder_cli service [-h] ...
positional arguments:
create Create a microservice scaffolding
clone Clone an existing microservice to a new version in prod
build Build a microservice
validate Validate a microservice
list List microservices
versions List versions of a microservice
remove Remove microservice from repo
info Info about a microservice
sync Sync a microservice from NGC to cache
optional arguments:
-h, --help show this help message and exit
Create Microservice Scaffolding#
ucf_ms_builder_cli service create [-h] [-d DESCRIPTION] [-o OUTPUT_DIR] -n NAME -i
{container-image,container-config,helm-chart} [-c CHART]
optional arguments:
-h, --help show this help message and exit
-d DESCRIPTION, --description DESCRIPTION
description of microservice
-o OUTPUT_DIR, --output_dir OUTPUT_DIR
output directory to place the created microservice
required arguments:
-n NAME, --name NAME name of the microservice
-i {container-image,container-config,helm-chart}, --input {container-image,container-config,helm-chart}
Input:
container image
container builder config
helm chart
-c CHART, --chart CHART
Chart path when using prebuilt helm chart (type=3)
e.g.
$ ucf_ms_builder_cli service create -n myservice -i container-image
Building a Microservice#
ucf_ms_builder_cli service build [-h] -d DIRECTORY [-t TARGET] [--push] [--skip-tests] [--skip-compliance] [-f]
[--keep-app-specs]
optional arguments:
-h, --help show this help message and exit
--push Push service to staging repo if it build is successful
--skip-tests Skip building of tests
--skip-compliance Skip compliance checks
-f, --force-cleanup Output directory contents will be cleaned up without user confirmation
--keep-app-specs Create app specs folder in user directory
required arguments:
-d DIRECTORY, --directory DIRECTORY
path to microservice directory
-t TARGET, --target TARGET
Target file path when using container builder config (type=2) (required by container builder)
e.g.
$ ucf_ms_builder_cli service build -d myservice/
List Available Microservices#
ucf_ms_builder_cli service list [-h] [-r REPO_NAME]
optional arguments:
-h, --help show this help message and exit
-r REPO_NAME, --repo-name REPO_NAME
Select an repository name
e.g.
$ ucf_ms_builder_cli service list
List Available Microservice Versions#
ucf_ms_builder_cli service versions [-h] -n NAME [-r REPO_NAME]
optional arguments:
-h, --help show this help message and exit
-n NAME, --name NAME Name of the microservice
-r REPO_NAME, --repo-name REPO_NAME
Select an repository name
e.g.
$ ucf_ms_builder_cli service versions -n ucf.svc.myservice
View Microservice Information#
ucf_ms_builder_cli service info [-h] [-v MS-VERSION] [--show-compliance-details] [--show-license] [--show-docs]
[--show-changelog] -n NAME
optional arguments:
-h, --help show this help message and exit
-v MS-VERSION, --version MS-VERSION
Version of the microservice to get info for
--show-compliance-details
Show compliance check details for the microservice
--show-license Show license text for the microservice
--show-docs Show detailed documentation for the microservice
--show-changelog Show changelog for the microservice
required arguments:
-n NAME, --name NAME name of the ms
e.g.
$ ucf_ms_builder_cli service info -n ucf.svc.myservice -v 0.0.1
Synchronize a Microservice#
ucf_ms_builder_cli service sync [-h] -n NAME [-v MS-VERSION]
optional arguments:
-h, --help show this help message and exit
-v MS-VERSION, --version MS-VERSION
Version of the microservice to sync (default: latest)
required arguments:
-n NAME, --name NAME Name of the microservice to sync
e.g.
$ ucf_ms_builder_cli service sync -n ucf.svc.myservice -v 0.0.1
Registry Command registry
#
The Registry command registry
can be used to perform various registry operations such as set the NGC API Key, sync all microservices
from a NGC repository, cache management.
$ ucf_ms_builder_cli registry -h
usage: ucf_ms_builder_cli registry [-h] ...
positional arguments:
repo Registry repository operations
cache Registry cache operations
optional arguments:
-h, --help show this help message and exit
Set NGC API Key#
ucf_ms_builder_cli registry repo set-api-key [-h] -a API_KEY
optional arguments:
-h, --help show this help message and exit
required arguments:
-a API_KEY, --api-key API_KEY
Select a API key
e.g.
ucf_ms_builder_cli registry repo set-api-key -a XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
List Available Repositories#
ucf_ms_builder_cli registry repo list [-h]
optional arguments:
-h, --help show this help message and exit
e.g.
ucf_ms_builder_cli registry repo list
View Information for a Repository#
ucf_ms_builder_cli registry repo info [-h] -n REPO_NAME
optional arguments:
-h, --help show this help message and exit
required arguments:
-n REPO_NAME, --repo-name REPO_NAME
Select an repository name
e.g.
ucf_ms_builder_cli registry repo info -n public
Synchronize All Microservices in a Repository#
ucf_ms_builder_cli registry repo sync [-h] -n REPO_NAME [-a]
optional arguments:
-h, --help show this help message and exit
-a, --all Sync all versions of a microservice
required arguments:
-n REPO_NAME, --repo-name REPO_NAME
Select an repository name
e.g.
ucf_ms_builder_cli registry repo sync -n public
Clear Local Repository#
ucf_ms_builder_cli registry repo clear [-h]
optional arguments:
-h, --help show this help message and exit
e.g.
ucf_ms_builder_cli registry repo clear
Set the Registry Cache Path#
ucf_ms_builder_cli registry cache set [-h] -p CACHE_PATH
optional arguments:
-h, --help show this help message and exit
required arguments:
-p CACHE_PATH, --cache-path CACHE_PATH
Select a cache path
e.g.
ucf_ms_builder_cli registry cache set -p /home/ubuntu/ucf_cache
View the Registry Cache Path#
ucf_ms_builder_cli registry cache view [-h]
optional arguments:
-h, --help show this help message and exit
e.g.
ucf_ms_builder_cli registry cache view
Clear the Registry Cache#
ucf_ms_builder_cli registry cache clear [-h]
optional arguments:
-h, --help show this help message and exit
e.g.
ucf_ms_builder_cli registry cache clear
Component Command component
#
The Component command component
can be used to list and view information about components available that can be used to implement a microservice.
$ ucf_ms_builder_cli component [-h] ...
positional arguments:
add Recursively scan directory for components and add them to cache
list List available components
info Display info of a component
optional arguments:
-h, --help show this help message and exit
List Components#
ucf_ms_builder_cli component list [-h]
optional arguments:
-h, --help show this help message and exit
e.g.
ucf_ms_builder_cli component list
View Information for a Component#
ucf_ms_builder_cli component info [-h] -c COMPONENT_NAME
optional arguments:
-h, --help show this help message and exit
required arguments:
-c COMPONENT_NAME, --component COMPONENT_NAME
List component info
e.g.
ucf_ms_builder_cli component info -c ucf.k8s.container
Add Custom Components#
ucf_ms_builder_cli component add [-h] -d DIR_PATH [--overwrite]
optional arguments:
-h, --help show this help message and exit
required arguments:
-d DIR_PATH, --directory DIR_PATH
Directory path containing components
--overwrite Overwrite components in cache having the same type
e.g.
ucf_ms_builder_cli component add -d /home/nvidia/ucf_custom_components