Parameters#

UCS Parameters#

This section details the available UCS parameters and their default values for configuring the ACE Configurator microservice. These parameters can be customized to control various aspects of the deployment, including namespace settings, logging levels, and container image configuration.

parameters.yaml#
ace-configurator:
   global:
   #> description: Change some overall settings on how the UCS MS is deployed.
   #> type: object
       namespaceOverride: ""
       #> type: string
       #> description: You can override the namespace the MS is deployed to. Per default the MS will be deployed in the release namespace lilke all other MS of your UCS app (e.g., what you specificy wiht helm install -n <namespace>).
       fullnameOverride: ""
       #> type: string
       #> description: ADVANCED. Overwrite the full name used by the chart helpers (overwrites the entire prefix).
       nameOverride: ""
       #> type: string
       #> description: ADVANCED. Override the name prefix used by the chart helpers.
   configurator:
       #> description: Configuration settings for the ACE Configurator
       #> type: object
       rustLogLevel: "debug"
       #> type: string
       #> description: Control the log output of the MS. Internally this will set the RUST_LOG string used when launching the ACE Configurator
       tlsSecretName: ""
       #> type: string
       #> description: Name of the kubernetes secret that contains the TLS cert and key to be used by the ACE Configurator
       config: |
         # <HERE GOES THE CONTENT OF YOUR CONFIGURATION FILE, SEE DOCS FOR MORE INFO>
         ---
         # General configuration
         namespace: ace-configurator
         host: 0.0.0.0
         port: "8000"
       #> type: string
       #> description: ACE Configurator configuration file content
       image:
       #> description: image configuration
       #> type: object
           repository: nvcr.io/nvidia/ace
           #> type: string
           #> description: repository where to fetch the image
           name: ace-configurator
           #> type: string
           #> description: name of the image
           tag: 1.0.0
           #> type: string
           #> description: tag of the image
           pullPolicy: Always
           #> type: string
           #> enum_values: Always, IfNotPresent, Never
           #> description: pullPolicy of the image
   service:
       #> description: configuration of the ACE Configurator k8s service
       #> type: object
       port: 8000
       #> type: integer
       #> maximum: 65535
       #> minimum: 1
       #> description: Set the port used by the service
       type: NodePort
       #> type: string
       #> enum_values: NodePort, ClusterIP, LoadBalancer
       #> description: Set the type of the service depending on your needs. See k8s docs for more information.
       nodePort: 30180
       #> type: integer
       #> maximum: 65535
       #> minimum: 1
       #> description: If you chose the type `NodePort` this is the port that will be use
       ingress:
       #> description: ADVANCED. Use these settings to control the ingress object configuration if enabled is equal to true. This configures ingress k8s object. See k8s docs for more information.
       #> type: object
           enabled: false
           #> type: boolean
           #> description: ADVANCED. Set this to true, if you want to create an ingress object. If set to true `type`` is forced to `ClusterIP``.
           ingressClassName: nginx
           #> type: string
           #> description: ADVANCED. Ingress class name to use. See k8s docs for more information.
           host: ace-configurator.animation-pipeline.nvidia.com
           #> type: string
           #> description: ADVANCED.Specify the host of the ingress endpoint
           tls: false
           #> type: boolean
           #> description: ADVANCED. Set this to true, if you want to enable tls on the ingress

Configuration File#

The configuration file is divided into two main parts:

  • General configuration: contains general settings (listening address, port, …)

  • Service configuration: this section contains all assets that the ACE Configurator has to manage for each deployment

Here is a sample configuration file along with explanations:

parameters.yaml (configurator.config field only)#
 # General configuration
 namespace: ace-configurator
 host: 0.0.0.0
 port: "8000"

 # Service configuration
 services:
   file-watcher:
     file-watcher-cm:
       refresh_policy:
         type: Restart
       config_type: Cm
   file-watcher-pv:
     config:
       refresh_policy:
         type: HotReload
       config_type: Pv
   file-watcher-http:
     file-watcher-sts-pv:
       refresh_policy:
         type: Http
         url: "https://animation-pipeline/best-scene/reload"
       config_type: Pv
       container_name: "ms"

General Configuration#

Field

Type

Default

Description

namespace

String

“”

The namespace by the ACE Configurator will look for resources to manage. If the value is “”, the namespace of the Role will be used

host

String

0.0.0.0

listening address of the ACE Configurator web server

port

String

8000

listening port of the ACE Configurator web server

Service Configuration#

Services#

Field

Type

Default

Description

services

map of Service

Map of all the deployments/statefulsets the ACE Configurator has to monitor. The key is the name of the deployment/statefulset

Service#

A service is a map of Configuration. The key represents either the name of a ConfigMap or the name of a Volume listed in the deployment/statefulset.

Configuration#

Field

Type

Default

Description

refresh_policy

Refresh Policy

Describe what to do when this configuration has been updated

config_type

Pv, Cm

Indicate wether the configuration object is a ConfigMap or a Volume

container_name

String

“”

Name of the container where the assets are mounted. Useful only if there are multiple containers (not init containers) inside a pod.

Refresh Policy#

Field

Type

Default

Description

type

Restart, HotReload, Http

Restart restarts the pods after an update (equivalent to kubectl rollout restart). HotReload does nothing after the update. Http sends a POST request to a specified url.

url

String

This field is only mandatory for refresh policy with the field type equal to Http. It represents the target endpoint for the ACE Configurator POST request