UCS Application Builder CLI#

The UCS Application Builder CLI tool can be used to create and build applications. It can be used to list and view information about available microservices and perform a few NGC repository operations.

The tool is named ucf_app_builder_cli.

Basic Operations#

Viewing Help#

$ ucf_app_builder_cli -h
usage: ucf_app_builder_cli [-h] [-v] [-va]  ...

positional arguments:

    app               Perform actions on apps
    service           Perform actions on a microservice
    registry          Perform actions on registry

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_app_builder_cli -v
Version:
        App Builder : v2.5.0
$ ucf_app_builder_cli --version-all
Versions:
        App Builder: v2.5.0
        UCF MS Spec: v2.5.0

Application Command app#

Application command app can be used to create and build applications.

$ ucf_app_builder_cli app -h
usage: ucf_app_builder_cli app [-h]  ...

positional arguments:

    create     Create UCF application graph boilerplate
    build      Build application from graph file and export to helm chart
    export-ms  Create a microservice from the application

optional arguments:
  -h, --help  show this help message and exit

Create Application Boilerplate#

ucf_app_builder_cli app create [-h] [-o OUTPUT_DIR] name

positional arguments:
  name           Application Name

optional arguments:
  -h, --help     show this help message and exit
  -o OUTPUT_DIR  Directory where the application should be created

e.g.

$ ucf_app_builder_cli app create my-application

Building an Application#

ucf_app_builder_cli app build [-h] [-o OUTPUT_DIR] [--ignore-validation-errors]
                              [--keep-app-specs] [-f]
                              [-v VALUE-OVERRIDE] [--generate-params-override]
                              [--validated]
                              app [params [params ...]]

positional arguments:
  app                   UCF Application Graph File or Directory Containing app.yaml
  params                UCF Application Graph Parameters Files

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT_DIR         Directory to build the application in
  --ignore-validation-errors
                        Ignore validation errors and build applicatoin
  --keep-app-specs      Retain app-specs used to create the application helmchart
  -f, --force-cleanup   Output directory contents will be cleaned up without user confirmation
  -v VALUE-OVERRIDE, --value-override VALUE-OVERRIDE
                        Input that provides the default values in the output value override file
  --generate-params-override
                        Generate override values for those impacted by parameter file
  --validated           Allows the user to build app using validated services only

e.g.

$ ucf_app_builder_cli app build app.yaml params.yaml

Exporting an Application as a microservice#

ucf_app_builder_cli app export-ms [-h] [-o OUTPUT_DIR] [--ignore-validation-errors] [-f] [--force-prod] -e EXPORT_INFO app [params [params ...]]

positional arguments:
  app                   UCF Application Graph File or Directory Containing app.yaml
  params                UCF Application Graph Parameters Files

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT_DIR         Directory to export the microservice in
  --ignore-validation-errors
                        Ignore validation errors and build application
  -f, --force-cleanup   Output directory contents will be cleaned up without user confirmation
  --force-prod          Only microservices that are in prod should be selected
  -e EXPORT_INFO        File containing additional user input required to export the application as a microservice

Service Command service#

The Service command service can be used to list and view information about available microservices.

$ ucf_app_builder_cli service -h
usage: ucf_app_builder_cli service [-h]  ...

positional arguments:

    list      List microservices
    versions  List versions of a microservice
    info      Info about a microservice
    sync      Sync a microservice from NGC to cache

optional arguments:
  -h, --help  show this help message and exit

List Available Microservices#

ucf_app_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_app_builder_cli service list

List Available Microservice Versions#

ucf_app_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_app_builder_cli service versions -n ucf.svc.myservice

View Microservice Information#

ucf_app_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_app_builder_cli service info -n ucf.svc.myservice -v 0.0.1

Synchronize a Microservice#

ucf_app_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_app_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_app_builder_cli registry -h
usage: ucf_app_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_app_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_app_builder_cli registry repo set-api-key -a XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

List Available Repositories#

ucf_app_builder_cli registry repo list [-h]

optional arguments:
  -h, --help  show this help message and exit

e.g.

ucf_app_builder_cli registry repo list

View Information for a Repository#

ucf_app_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_app_builder_cli registry repo info -n public

Synchronize All Microservices in a Repository#

ucf_app_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_app_builder_cli registry repo sync -n public

Clear Local Repository#

ucf_app_builder_cli registry repo clear [-h]

optional arguments:
  -h, --help  show this help message and exit

e.g.

ucf_app_builder_cli registry repo clear

Set the Registry Cache Path#

ucf_app_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_app_builder_cli registry cache set -p /home/ubuntu/ucf_cache

View the Registry Cache Path#

ucf_app_builder_cli registry cache view [-h]

optional arguments:
  -h, --help            show this help message and exit

e.g.

ucf_app_builder_cli registry cache view

Clear the Registry Cache#

ucf_app_builder_cli registry cache clear [-h]

optional arguments:
  -h, --help            show this help message and exit

e.g.

ucf_app_builder_cli registry cache clear