Advanced Configuration#

Config-template File Parameter Definitions#

While the config-template-examples folder provides minimalistic samples that work, you can customize the config-template.yml to a greater extent. Below table explains each and every attribute of this config-template.yml in detail.

GCP Advanced Configuration#

Parameter name

Type

Optional

Description

schema_version

string

Config-template schema version

name

string

A unique name to identify the infrastructure resources being created by Deployment scripts.

spec

map

Infrastructure and Application configuration.

spec > infra

string

Infrastructure configuration.

spec > infra > csp

string

Cloud service provider name, in this case gcp

spec > infra > backend

map

Terraform back-end configuration to store state of infrastructure.

spec > infra > backend > bucket

string

Name of the GCS bucket in which state of the resources provisioned will be stored.

spec > infra > backend > credentials

string

Absolute path of the GCP service account key file with access to the state bucket.

spec > infra > provider

map

GCP provider configuration.

spec > infra > provider > project

string

GCP project ID where resources will be provisioned.

spec > infra > provider > credentials

string

Absolute path of the GCP service account key file with access to provision resources.

spec > infra > configs

map

Additional infrastructure configuration.

spec > infra > configs > cns

map

yes

Nvidia Cloud Native Stack configuration. More details on Cloud Native Stack can be found here: NVIDIA/cloud-native-stack.

spec > infra > configs > cns > version

string

yes

The version of Nvidia Cloud Native Stack to install on the clusters. Defaults to 12.2.

spec > infra > configs > cns > git_ref

string

yes

The git commit hash of Nvidia Cloud Native Stack. Defaults to master branch’s latest commit hash of [NVIDIA/cloud-native-stack](NVIDIA/cloud-native-stack).

spec > infra > configs > cns > override_values

map

yes

Nvidia Cloud Native Stack values to override while setting up a kubernetes cluster.

spec > infra > configs > cns > override_values > cns_nvidia_driver

bool

yes

Set to yes if you want to install the Nvidia driver using runfile method otherwise no. Set this flag to yes to support the latest OS Kernels.

spec > infra > configs > cns > override_values > gpu_driver_version

string

yes

Config to override gpu_driver_version while installing Nvidia Cloud Native Stack.

spec > infra > configs > user_access_cidrs

list

Specify a CIDR block that encompasses the IP addresses of all client machines that will access the Tokkio UI.

spec > infra > configs > dev_access_cidrs

list

Specify a CIDR block that encompasses the IP addresses of all developer machines requiring SSH access to Tokkio GCP instances.

spec > infra > configs > region

string

GCP region where resources of the application will be deployed.

spec > infra > configs > ui_bucket_location

map

Location & Region details for hosting static UI using bucket.

spec > infra > configs > ui_bucket_location > location

string

GCP location code to be used to select regions.

spec > infra > configs > ui_bucket_location > region

string

Primary region out of dual region to be used for bucket hosting static UI.

spec > infra > configs > ui_bucket_location > alternate_region

string

Secondary region out of dual region to be used for bucket hosting static UI.

spec > infra > configs > ssh_private_key_path

string

Absolute path of the Controller instance’s private key.

spec > infra > configs > ssh_public_key

string

Absolute path of the Controller instance’s public key.

spec > infra > configs > additional_ssh_public_keys

list

yes

List of additional ssh public keys that will be added to ~/.ssh/authorized_keys on Application instance.

spec > infra > configs > dns_zone_name

string

DNS zone name under which applications will be registered.

spec > infra > configs > api_sub_domain

string

yes

Sub-domain of the app API endpoint.

spec > infra > configs > ui_sub_domain

string

yes

Sub-domain of the app UI endpoint.

spec > infra > configs > elastic_sub_domain

string

yes

Sub-domain of the Elastic endpoint.

spec > infra > configs > kibana_sub_domain

string

yes

Sub-domain of the Kibana endpoint.

spec > infra > configs > grafana_sub_domain

string

yes

Sub-domain of the Grafana endpoint.

spec > infra > configs > cdn_cache_enabled

bool

yes

true if UI needs to be served via a CDN cache. false if UI need not be served from a CDN cache.

spec > infra > configs > turn_server_provider

string

yes

Either rp or coturn or twilio. Defaults to coturn.

spec > infra > configs > clusters

map

Definition of clusters to be created.

spec > infra > configs > clusters > app

map

Definition of App cluster to be created.

spec > infra > configs > clusters > app > private_instance

bool

Always true as the app instance to be created is private.

spec > infra > configs > clusters > app > master

map

Definitions of the master node of the app cluster.

spec > infra > configs > clusters > app > master > type

string

GCP compute engine instance type for the app master node.

spec > infra > configs > clusters > app > master > guest_accelerators

list

Configuration to specify GPU & GPU count.

spec > infra > configs > clusters > app > master > guest_accelerators > type

string

Configuration to change to add guest_accelerators type

spec > infra > configs > clusters > app > master > guest_accelerators > count

number

Configuration to change add guest_accelerators gpu count

spec > infra > configs > clusters > app > features

map

Definitions of features flag of the app cluster.

spec > infra > configs > clusters > app > features > cns

bool

cns feature flag is always true as used to install Nvidia Cloud Native Stack.

spec > infra > configs > clusters > app > features > app

bool

app feature flag is always true as used to install tokkio app & other components.

spec > infra > configs > clusters > turn

map

Definition of master node of turn cluster.

spec > infra > configs > clusters > turn > private_instance

bool

Always false as the TURN server instance to be created is public.

spec > infra > configs > clusters > turn > master

map

Definitions of the master node of the turn cluster.

spec > infra > configs > clusters > turn > master > type

string

GCP compute engine instance type for the turn master node.

spec > infra > configs > clusters > turn > master > guest_accelerators

list

Set to an empty list as the turn server is not GPU based.

spec > infra > configs > clusters > turn > features

map

Definitions of features flag of the turn cluster.

spec > infra > configs > clusters > turn > features > cns

bool

true when turn_server_provider = rp otherwise false.

spec > infra > configs > clusters > turn > features > rp

bool

true when turn_server_provider = rp otherwise false.

spec > infra > configs > clusters > turn > features > coturn

bool

true when turn_server_provider = coturn otherwise false.

spec > platform

map

Configuration to change the default foundational config to be used.

spec > platform > configs

map

Foundational configuration.

spec > platform > configs > k8s_namespace

string

yes

Kubernetes namespace for foundational charts to be deployed. Defaults to platform.

spec > platform > configs > k8s_secrets

list

List of Kubernetes secrets needed for foundational helm charts.

spec > platform > secrets > ngc_cli_api_key

string

NGC API Key used to download helm charts to be used.

spec > app > configs > app_settings

map

Configuration to change the default App settings.

spec > app > configs > app_settings > k8s_namespace

string

yes

Kubernetes namespace for app chart to be deployed. Defaults to app.

spec > app > configs > app_settings > helm_chart

map

yes

Helm chart config for app chart.

spec > app > configs > app_settings > helm_chart > repo

map

yes

Configuration of remote repo used for app helm chart to be deployed.

spec > app > configs > app_settings > helm_chart > repo > enable

bool

yes

Flag to use app helm chart from remote repo, defaults to true. This flag is mutually exclusive to spec > app > configs > app_settings > helm_chart > local > enable. At a given time only one of them should be set to true.

spec > app > configs > app_settings > helm_chart > repo > repo_url

string

yes

Repo_url for app helm chart to be deployed. Defaults to [https://helm.ngc.nvidia.com/nvidia/ace](https://helm.ngc.nvidia.com/nvidia/ace).

spec > app > configs > app_settings > helm_chart > repo > chart_name

string

yes

App helm chart name to be fetched from remote repo, defaults to ucs-tokkio-app-base-3-stream-llm-rag-3d-ov.

spec > app > configs > app_settings > helm_chart > repo > chart_version

string

yes

App helm chart version to be fetched from remote repo,defaults to 4.1.4.

spec > app > configs > app_settings > helm_chart > repo > release_name

string

yes

Release name for app to be deployed using helm chart, defaults to tokkio-app.

spec > app > configs > app_settings > helm_chart > repo > user_value_override_files

list

yes

Absolute path of user override values.yml to be used for app chart deployment. This is a list, so more than one can be supplied.

spec > app > configs > app_settings > helm_chart > local

map

yes

Configuration to change app helm chart deployment using locally present chart.

spec > app > configs > app_settings > helm_chart > local > enable

bool

yes

true if you want to use a locally present app helm chart. Defaults to false. This flag is mutually exclusive to spec > app > configs > app_settings > helm_chart > repo > enable. At a given time only one of them should be set to true.

spec > app > configs > app_settings > helm_chart > local > path

string

yes

Absolute path of helm chart present locally.

spec > app > configs > app_settings > helm_chart > local > release_name

string

yes

Release name for app to be deployed using helm chart, defaults to tokkio-app.

spec > app > configs > app_settings > helm_chart > local > user_value_override_files

list

yes

Absolute path of user override values.yml to be used for app chart deployment. This is a list, so more than one can be supplied.

spec > app > configs > app_settings > k8s_secrets

list

List of kubernetes secrets to be deployed.

spec > app > configs > turn_server_settings

map

yes

Configuration to change to setup turn server to be used for app.

spec > app > configs > turn_server_settings > rp

map

yes

Configuration of rp as a turn server if rp was the choice set at spec > infra > configs > turn_server_provider.

spec > app > configs > turn_server_settings > rp > k8s_namespace

string

yes

Kubernetes namespace to be used for rp chart deployment. Defaults to rp

spec > app > configs > turn_server_settings > rp > helm_chart

map

yes

Helm chart config for rp chart to be deployed.

spec > app > configs > turn_server_settings > rp > helm_chart > repo

map

yes

Configuration of remote repo used for rp helm chart to be deployed.

spec > app > configs > turn_server_settings > rp > helm_chart > repo_url

string

yes

Repo_url for rp helm chart to be deployed,defaults to [https://helm.ngc.nvidia.com/nvidia/ace](https://helm.ngc.nvidia.com/nvidia/ace).

spec > app > configs > turn_server_settings > rp > helm_chart > chart_name

string

yes

RP helm chart name to be fetched from remote repo. Defaults to rproxy.

spec > app > configs > turn_server_settings > rp > helm_chart > chart_version

string

yes

RP helm chart version to be fetched from remote repo. Defaults to 0.0.8.

spec > app > configs > turn_server_settings > rp > helm_chart > release_name

string

yes

Release name for rp to be deployed using helm chart, defaults to rp.

spec > app > configs > turn_server_settings > rp > k8s_secrets

list

List of kubernetes secrets to be deployed.

spec > app > configs > turn_server_settings > coturn

map

yes

Configuration details of coturn as turn server when spec > infra > configs > turn_server_provider was set to coturn. .

spec > app > configs > turn_server_settings > coturn > username

string

yes

Coturn server username used while setting up coturn. Defaults to foo

spec > app > configs > turn_server_settings > coturn > password

string

yes

Coturn server password used while setting up coturn. Defaults to bar

spec > app > configs > turn_server_settings > coturn > realm

string

yes

Realm name for coturn server. Defaults to mydummyt.org

spec > app > configs > turn_server_settings > twilio

map

yes

Configuration details of twilio as a turn server when spec > infra > configs > turn_server_provider was set to twilio.

spec > app > configs > turn_server_settings > twilio > account_sid

string

yes

account_sid from twilio account. Defaults to empty string. Twilio subscription details can be found at [www.twilio.com](http://www.twilio.com/).

spec > app > configs > turn_server_settings > twilio > auth_token

string

yes

auth_token from twilio account. Defaults to empty string

spec > app > configs > ui_settings

map

yes

Configuration to change to override default UI.

spec > app > configs > ui_settings > resource

map

yes

Configuration for UI Resource to be used.

spec > app > configs > ui_settings > resource > ngc

map

yes

NGC config to download UI NGC Resource from.

spec > app > configs > ui_settings > resource > ngc > org

string

yes

NGC Organization of the UI resource. Defaults to nvidia

spec > app > configs > ui_settings > resource > ngc > team

string

yes

NGC Team of the UI resource. Defaults to ace

spec > app > configs > ui_settings > resource > ngc > name

string

yes

NGC Resource Name of the UI resource. Defaults to tokkio_ui

spec > app > configs > ui_settings > resource > ngc > version

string

yes

NGC Resource Version of the UI resource. Defaults to 5.0.0

spec > app > configs > ui_settings > resource > ngc > file

string

yes

NGC Resource File Name of the UI. Defaults to ui.tar.gz

spec > app > configs > ui_settings > user_env_vars

map

yes

Configuration to override default UI settings

spec > app > secrets > ngc_cli_api_key

string

NGC cli_api_key used to download UI resources and helm charts to be used.