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.

Environment Variable Definition#

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.

spec

map

Infrastructure and Application configuration.

spec > infra

string

Infrastructure configuration.

spec > infra > csp

string

Cloud service provider name, in this case aws.

spec > infra > backend

map

Terraform back-end configuration to store infrastructure state.

spec > infra > backend > access_key

string

AWS access key ID used to access the back-end bucket and table.

spec > infra > backend > secret_key

string

AWS secret access key used to access the back-end bucket and table.

spec > infra > backend > dynamodb_table

string

Name of the AWS Dynamo DB table used to manage concurrent access to the state.

spec > infra > backend > bucket

string

Name of the AWS S3 bucket in which state of the resources provisioned is stored.

spec > infra > backend > region

string

AWS region where state S3 bucket and Dynamo DB table are created.

spec > infra > backend > encrypt

bool

Whether or not to encrypt the state while stored in S3 bucket.

spec > infra > provider

map

AWS provider configuration.

spec > infra > provider > access_key

string

AWS access key ID used for resource provision.

spec > infra > provider > secret_key

string

AWS secret access key used for resource provision.

spec > infra > configs

map

Additional infrastructure configuration.

spec > infra > configs > cns

map

yes

Nvidia Cloud Native Stack configuration. More details on Nvidia Cloud Native Stack can be found here [NVIDIA/cloud-native-stack](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. By default it takes the master branch’s latest commit hash.

spec > infra > configs > cns > override_values

map

yes

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

spec > infra > configs > cns > override_values > cns_nvidia_driver

bool

yes

Set to yes if you want to install nvidia driver using run file method otherwise no. Defaults to 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 change gpu_driver_version to a different version than what the selected Nvidia Cloud Native Stack version installs by default.

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 AWS instances.

spec > infra > configs > region

string

AWS region where resources of the application will be deployed.

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 > base_domain

string

Route53 hosted zone name to be used as the base domain for the API and the UI.

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 Elasticsearch 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

AWS GPU instance type for the app master node.

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 It is needed on App instances.

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

bool

app feature flag is always true so that Script installs 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 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

AWS instance type for the turn master node.

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_secret

list

List of Kubernetes secrets needed for foundational helm charts.

spec > platform > secrets > ngc_cli_api_key

string

NGC cli_api_key used to download helm charts.

spec > app > configs > app_settings

map

Configuration to override the default App setting.

spec > app > configs > app_settings > k8s_namespace

string

yes

Kubernetes namespace for app helm chart to be deployed. Defaults to app. Avoid using default namespace.

spec > app > configs > app_settings > helm_chart

map

yes

Helm chart config for Application to be deployed.

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.

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’s helm override values yml file to be used for app chart deployment. This can be a list of files.

spec > app > configs > app_settings > helm_chart > local

map

yes

Configuration to make use of an app helm chart that is available locally.

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

bool

yes

Flag to use app helm chart from local folder. 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’s helm override values yml file to be used for app chart deployment. This can be a list of files.

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 TURN server setup.

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 rproxy(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

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

Helm release name for rp chart being deployed. 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.

spec > app > configs > ui_settings > resource > ngc

map

yes

NGC configuration for downloading UI resource.

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 api key used to download UI resources and helm charts.