Integrating Customization Changes with Rebuild#

Tokkio uses the UCS Tools to build and deploy its microservices using UCS Tools.

Prerequisites#

  1. Download and install the UCS tool.

  2. Ensure to sync the repo for UCS tools, as instructed in the documentation referenced above.

  3. Make sure the required privileges for pulling from UCS repository are granted.

  4. Make sure that you have NGC registry created for your team where you can upload the custom resources or charts.

Follow the steps below to build a customized version of Tokkio workflow:

  1. Reference the newly updated version of the microservice (if applicable) in tokkio-app.yaml and update the tokkio-app-params.yaml file if necessary.

  2. Build the app with UCS app builder to create a helm chart:

    $ ucf_app_builder_cli app build <app-spec-yaml> <param-yaml>
    # <param-yaml> is optional
    
  3. Package and publish the helm chart into NGC:

    $ helm package <APP>-<VERSION>
    $ ngc registry chart push --org ORG_NAME --team TEAM_NAME ORG_NAME/TEAM_NAME/CHART_NAME:VERSION
    
  4. Update the config-template.yml of your deployment script to reflect the path for the new helm chart (local or repo). A snippet of the relevant section in the config-template.yaml is provided below. Refer to Deployment for options on deployment script.

app:
  configs:
    app_settings:
      # k8s_namespace:   '<replace-with-k8s-namespace-for-app-chart-to-deploy-defaults-to-app>'
      # helm_chart:
      # repo:
          # enable: <true/false-defaults-to-true>
          # repo_url:   '<replace-with-app-chart-helm-repo-url-defaults-to-https://helm.ngc.  nvidia.com/nvidia/ace>'
          # chart_name:   '<replace-with-app-chart-name-defaults-to-ucs-tokkio-app-base-3-stre  am-llm-rag-3d-ov>'
          # chart_version: '<replace-with-chart-version-defaults-to-'4.1.4'>'
          # release_name:   '<replace-with-release-name-for-helm-deploy-defaults-to-'tokkio-app'  >'
          # user_value_override_files:   ['list-of-absolute-path-of-value-override-files']
      # local:
          #  enable: <true/false-defaults-to-false>
          #  path: '<absolute-path-of-helm-chart-present-locally>'
          #  release_name:   '<replace-with-release-name-for-helm-deploy-defaults-to-'tokkio-app'  >'
          #  user_value_override_files:   ['list-of-absolute-path-of-value-override-files']
  1. Uninstall previously installed Tokkio chart:

    ./envbuild.sh uninstall --component app

  2. Run the deployment script to install the updated chart. Use the correct path and name for your config-template in the command shown below:

    ./envbuild.sh install --component app --config-file ./config-template.yml