For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
    • NVIDIA Switch Infrastructure
    • I want to...
  • Quick Start
    • Start Here
    • Getting Started with Config Manager
    • TUI Wizard Reference
    • Configuration Samples
    • Interfaces
    • Local Development Quick Start
    • First Run Tour
  • Config Manager Overview
    • Config Manager Concepts
    • Getting Started with Nautobot
  • User Guides
    • New Site Bringup
    • Workflow Lifecycle
  • Deployment
    • Hosting Options
    • Network Topology Requirements
    • Firewall Ports
    • Airgapped Deployment
    • Troubleshooting
  • Services
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Your Privacy Choices | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogo
On this page
  • Keyboard Shortcuts
  • 1. Cluster
  • 2. Services
  • 3. External Services
  • 4. App Secrets
  • 5. Network Secrets
  • 6. Ingest Data
  • 7. Template Plugins
  • 8. OS Images
  • 9. Workflows
  • 10. Container Images
  • 11. SSO
  • 12. SPIFFE
  • 13. Infrastructure
  • 14. Values Preview
  • 15. Deploy
Quick Start

TUI Wizard Reference

||View as Markdown|
Previous

Getting Started with Config Manager

Next

Configuration Samples

The textual user interface (TUI) wizard is organized by deployment concern. Work through the sections from top to bottom for a first-time install, or jump directly to the section you need when editing an existing nv-config-manager-install.yaml.

Keyboard Shortcuts

KeyAction
F2Save configuration to disk
F5Jump to Values Preview
F9Jump to Deploy
F10Save and exit
Ctrl+CQuit after confirmation
Ctrl+NNext section
Ctrl+PPrevious section

Sidebar status indicators show which section is selected, complete, or needs attention. Hover over a section for status details.

1. Cluster

Set the deployment identity, site list, and resource size profile. These values drive service hostnames, namespace selection, Helm release naming, and generated resource overlays.

FieldDescription
HostnamePublic DNS base domain for service endpoints, such as nv-config-manager.example.com
EnvironmentEnvironment label, such as local, test, or prod
NamespaceKubernetes namespace for the deployment
Release NameHelm release name
Airgapped DeploymentEnable airgapped mode
NVIDIA Config Manager Device UsernameDevice login username for the Config Manager service account
SizeResource profile: small, medium, or large
SitesList of sites managed by this deployment
ProfileUse CasevCPURAMReplicas
smallLocal laptop or Kind8+24 GB1
mediumRemote VM or staging16+64 GB1
largeProduction or HA96+256 GB+3+

Each size profile selects a matching Helm values overlay, such as values-local-small.yaml, that tunes CPU, memory, and replica counts across services.

Sites represent data centers managed by this Config Manager deployment. Each site name must match the slug of the corresponding Nautobot Location. Sites scope per-site network secrets such as device login credentials and BGP passwords.

2. Services

Choose which Config Manager services this deployment should run.

ServiceDescription
RenderNetwork configuration render service
ZTPZero Touch Provisioning
DHCPDHCP server
TemporalTemporal workflow engine
Config StoreConfiguration storage API

To use an existing Nautobot instance, configure it on the External Services screen.

3. External Services

Connect Config Manager to existing Nautobot, Redis, Slack, or PostgreSQL services. Leave a service disabled to use the default in-cluster deployment.

ServiceFields
NautobotUse external Nautobot, Nautobot URL
RedisUse external Redis, host, port, TLS, password authentication
SlackConfigure a Slack channel for notifications
PostgreSQLUse external PostgreSQL, port, Temporal host, Temporal Visibility host, Config Store host, DHCP host, Nautobot host

4. App Secrets

Choose where application secrets are stored, and configure Git repository tokens for Nautobot Git sync.

FieldDescription
Secrets Methodkubernetes for in-cluster secrets or eso for External Secrets Operator with Vault
Vault ServerVault or OpenBao URL, shown when ESO is selected
Vault NamespaceEnterprise Vault namespace
Secrets Engine Mount PathVault secrets engine path
Config Secrets Engine PathOptional separate path for config secrets
Vault Auth Methodjwt or token
JWT Auth Mount PathJWT auth mount path
JWT Auth RoleJWT auth role name
Token Secret NameKubernetes secret name for token auth
Vault Secret PathsVault secret paths for ESO. Enable and customize only the groups you need.

Vault paths map secret groups such as Nautobot, Redis, PostgreSQL, network credentials, OIDC, Redfish, BMC, Slack, AIR, Jira, and CNPG backup settings to the paths used in your Vault layout.

Git tokens create git-token-<name> Kubernetes secrets or ESO-backed Vault references for Nautobot Git sync.

If you are using local Kubernetes secrets, you can optionally supply manual values for each secret, or leave them blank to auto-generate a random secret.

5. Network Secrets

Configure network protocol and workflow secrets written to config-secrets.ini. Common entries are pre-seeded on first run, including hash_salt, bgp_password, root_password, and api_user_key.

FieldDescription
NameHuman-readable label
Secret KeyINI field name and Vault key when using ESO
RotationRotation suffix
ValueSecret value; leave empty to auto-generate

The Scan Plugin Templates button inspects Jinja2 templates from Content plugin paths to discover additional required secrets. Add template plugin locations on the Template Plugins screen.

6. Ingest Data

Configure custom Nautobot jobs, bootstrap jobs, and post-deploy job execution. Use this section to stage a Design Builder topology loader, include the standard bootstrap jobs, or run other Nautobot jobs after Helm deployment.

FieldDescription
Include Bootstrap JobsShip standard bootstrap jobs
Custom Nautobot JobsPaths to job directories or tarballs
Post-Deploy JobsNautobot jobs to run after deployment, including class name and JSON input
Jobs PVC Storage ClassKubernetes storage class for the Nautobot jobs PVC
Jobs PVC Access ModeReadWriteOnce or ReadWriteMany
Node SelectorNode label selector for loader and Nautobot pods that mount the jobs PVC

Custom jobs and bootstrap jobs require local Nautobot (services.nautobot: true). If Nautobot is remote, validation shows a warning.

For a concrete Design Builder example, see Design Builder Data Loading.

7. Template Plugins

Configure Jinja2 template plugin directories used by the Render service. The node browser lets you pin plugin PVCs to a Kubernetes node on multi-node clusters that do not have shared RWX storage.

FieldDescription
Template PluginsPaths to template plugin directories
Plugin PVC Storage ClassKubernetes storage class for the plugin PVC
Plugin PVC Access ModeReadWriteOnce or ReadWriteMany
Node Selectorkey=value labels that pin the plugin PVC to a node

If a PVC is ReadWriteOnce, it can only mount on the node where it was first bound. Pin the pod to that node on multi-node clusters without shared NFS or RWX storage.

8. OS Images

Configure where ZTP OS images are stored and which images should be uploaded during deployment.

FieldDescription
FileImages are stored in a PersistentVolumeClaim with a manifest.json
S3 BucketName of the S3 or Ceph bucket to use for image storage; no PVC is required

For S3 bucket storage, configure the bucket name and path prefix. The installer computes SHA256 checksums, creates the expected {platform}/{version}/{filename} directory structure, and uploads the images to the S3 bucket.

FieldDescription
PVC NameName for the images PVC
PVC SizeStorage request
Storage ClassKubernetes storage class
PVC Access ModeReadWriteOnce or ReadWriteMany
OS ImagesImages to upload at deploy time, including platform, version, and file path
Node SelectorNode label selector for the ZTP pod that mounts the PVC

For file storage, configure the PVC name, size, storage class, access mode, and images to upload at deploy time. Each OS image entry includes platform, version, and local file path. During deployment, the installer computes SHA256 checksums, creates the expected {platform}/{version}/{filename} directory structure, and writes manifest.json to the PVC root. Images can also be uploaded later through the ZTP /v1/files API.

If a PVC is ReadWriteOnce, it can only mount on the node where it was first bound. Pin the pod to that node on multi-node clusters without shared NFS or RWX storage.

9. Workflows

Configure Temporal workflow RBAC defaults and per-workflow overrides.

FieldDescription
Admin RolesRoles with full admin access to all workflows
Default Read RolesDefault read access for all workflows
Default Execute RolesDefault execute access for all workflows
Per-Workflow OverridesOverride read or execute roles for specific workflows

The workflow list is generated from the Helm RBAC values file.

10. Container Images

Configure image source and registry settings.

FieldDescription
Image SourceBuild locally or Pull from registry
Registry PrefixImage registry prefix, such as nvcr.io/nvidian/cfa
Registry KeyOptional registry credentials
TagDefault image tag
Pull PolicyKubernetes pull policy
Per-Image OverridesOverride repository or tag for specific images

When Pull from registry is selected, the installer can fetch available tags from the Docker V2 API.

Per-image overrides can set a custom repository or tag for individual components. For local builds, images are tagged with a short content hash derived from the Docker image ID. Helm only restarts pods when image content changes.

11. SSO

Configure OIDC Single Sign-On for Config Manager services.

FieldDescription
Enable SSOMain toggle
ProviderOIDC provider. The bundled sample uses keycloak; any compatible OIDC provider can be substituted.
Issuer URLOIDC issuer URL
Client IDOIDC client identifier
Client SecretOIDC client secret
JWKS URIOverride for JWKS endpoint
AudiencesComma-separated audience list
ScopesComma-separated scope list
Additional JWT ProvidersAdd additional JWT issuers, such as SPIRE or external service accounts

The configuration samples use Keycloak as the example OIDC provider, but the installer accepts any OIDC provider that supplies the required issuer, client, secret, JWKS, audience, and scope settings.

12. SPIFFE

Configure SPIFFE identity for service-to-service authentication.

FieldDescription
Enable SPIFFEMain toggle
ProviderSPIRE uses the CSI driver, and Teleport uses a machine ID
Auth ModeJWT-SVID or mTLS
Trust DomainSPIFFE trust domain
Socket Mount PathVolume mount path in pods
Socket FileAgent socket filename
Socket Host PathHost socket path for Teleport
Group Prefix MappingsMaps SPIFFE ID prefixes to authorization groups. Use “Auto-generate Default” to populate from the current namespace.

13. Infrastructure

Configure gateway behavior, TLS, database backups, monitoring resources, and load balancers.

FieldDescription
Enable TLSUse self-signed TLS certificates for public endpoints
CNPG S3 BackupCloudNativePG PostgreSQL backups to S3
MonitoringPodMonitors and monitoring resources
Enable local observability stackEnable Grafana and Loki for local development

Load balancer providers include None, MetalLB, Cilium, and AWS NLB. MetalLB and Cilium use static IPs and optional DNS names for ZTP and DHCP. AWS NLB can be configured separately for Gateway, ZTP, and DHCP.

For local or lab deployments using self-signed TLS, the browser and any API clients must trust the generated certificate authority or explicitly accept the warning for each service hostname.

14. Values Preview

Generate and inspect the complete Helm values YAML before deploying. Use this screen to review exactly what the installer will pass to Helm.

ButtonAction
GenerateBuild values from the current configuration
Write to FileSave generated values to the configured output path

15. Deploy

Run deployment orchestration with live monitoring.

OptionDescription
Build ImagesBuild Docker images locally
Load to KindLoad built images into a Kind cluster
Install Envoy GatewayInstall Gateway API CRDs and Envoy Gateway
Install cert-managerInstall cert-manager CRDs and Helm chart
Install CNPG operatorInstall CloudNativePG operator
Kind Cluster nameKind cluster name
Helm TimeoutHelm install or upgrade timeout
Recreate existing secretsForce-recreate Kubernetes secrets
Run integration testsRun integration tests after deployment

Once you have set up your configuration, click the Start Deployment button to begin the deployment process. The deploy screen shows a step list, live pod status, deployment logs, individual pod/container log streams, and integration test output.

If anything goes wrong, correct the error and click the Retry Deployment button to try again.