Skip to main content
This is the values reference the model guides link into. Start from your model’s page — Hybrid, External, or Central — and come here for the individual settings. The exhaustive list, with every default, is values.yaml in the chart.

Values cheat sheet

The switches that matter most. In Hybrid, global.products is opt-in: set a product to true to run it. In External and Central it is opt-out: set a product to false to leave it out (TrustGuard only). Leave watchdog.enabled off unless NeuralTrust asks you to enable it. Product telemetry export is mandatory in Hybrid and always on — there is no global.clickstack.enabled: false opt-out. TrustGate and TrustGuard send OTLP to a co-located, enrollment-backed egress collector, which is why the enrollment tokens are required. For a deployment with no NeuralTrust dependency at all, use External. Operational telemetry, below, is separate and off unless you turn it on.

Operational telemetry

Operational telemetry is TrustGate and TrustGuard reporting on their own health — how many requests they serve, how many fail, and how long they take — rather than on the traffic they inspect. It is off by default and controlled by one value, global.observability.operationalTelemetry.

What it contains

  • TrustGate exports server spans and HTTP request rate, error, and duration metrics. Health and readiness probe requests are sampled at 1%; every other request is traced at 100%.
  • TrustGuard exports traces and metrics for evaluation latency and errors.
The attributes are operational: route templates, status codes, durations, and verdict and plugin labels. Neither service exports prompts or responses through this path.

Where it goes

In Hybrid, turning it on means NeuralTrust receives health data about your gateway and TrustGuard in addition to product telemetry. That is why it is a choice you make, not a default.

Why turn it on

With operational telemetry on in Hybrid, NeuralTrust support can see the health of your TrustGate and TrustGuard — error spikes, latency, saturation — and diagnose problems from it directly, often without asking you for logs or a support bundle. Turning it on is the recommended practice for faster support.
Turn it on while a support case is open. If you prefer to keep it off day to day, enable it when you open a case and disable it once the case is closed. Each switch is one upgrade and a rolling restart, so it is cheap to flip both ways.

Turn it on or off

ntctl install asks whether to turn it on. To answer up front, for example in a script:
On an existing install, switch it with ntctl upgrade. Pass the chart version you already run, which ntctl status prints, so the switch changes nothing else. Without --version, ntctl upgrade also moves you to the latest chart.
An upgrade without the flag keeps the current setting. ntctl never turns operational telemetry on by itself.

What happens when you switch it

The TrustGate and TrustGuard pods roll with the new setting in a normal rolling update. Their Deployments carry a checksum of the configuration that changes, so no manual rollout restart is needed. Nothing else is reconfigured: config sync, policies, and product telemetry are untouched, and there is no downtime beyond the rolling restart. Telemetry starts or stops within a minute or two of the new pods becoming Ready. The single value is the supported switch. For finer control, the chart’s per-component environment variables can override it through extraEnv — OPS_TRACES_ENABLED and OPS_METRICS_ENABLED set to "false" in the extraEnv of a TrustGate component (agentgateway.dataPlane, agentgateway.mcp, or, in External, agentgateway.controlPlane), or OPENTELEMETRY_ENABLED set to "false" in trustguard.dataPlane.extraEnv.

Managed stores

Managed PostgreSQL and Redis are the usual production choice in every self-hosted model. Pre-create the database, role, and Redis credentials on the managed instance, or, in External, let the chart create the PostgreSQL roles and databases with an administrator login you provide — see Let the chart create the roles. The chart can still run both in-cluster with deploy: true for evaluation; in External and Central mode that path also bootstraps the per-service roles automatically.
How you supply credentials depends on the topology:
A Secret you supply through postgresql.existingSecret is consumed with envFrom and never renamed, so it must hold DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME, DB_SSL_MODE and, in Hybrid, SENSIBLE_PG_DSN — not the POSTGRES_* names the chart uses in its own Secret. Prefer the narrower global.postgresql.passwordSecret, which keeps the chart’s Secret and replaces only the password. See Bringing your own Secret.
Reach both over private networking from the cluster. When you run two clusters across regions, they share one writable PostgreSQL primary with a cross-region read replica, and each region gets its own Redis — see High availability.

Ingress

global.domain combines with default host prefixes to render the public names. In Hybrid that is two: gateway.<domain> for the LLM/proxy Ingress and mcp.<domain> for MCP. External and Central add the console, its API, and the gateway admin surface. The chart creates separate agentgateway-gateway and agentgateway-mcp Ingress resources backed by separate Services. Each Service exposes port 80: the proxy Service targets TrustGate container port 8081 and the MCP Service targets 8082. Set the corresponding full URLs, including https://, in Settings → Agent Gateway → General — global.domain does not update those console settings. The chart can auto-add wildcard hosts (*.llm.<domain> / *.mcp.<domain>) for slug-based gateway discovery; set agentgateway.config.autoWildcardHosts: false to use exact hosts instead. Ingress class, annotations, and certificate sources are provider-specific — see Cloud notes. With two clusters active/passive, put one global LLM URL and one global MCP URL in front of both clusters’ Ingress resources and configure those stable URLs in the console.

Firewall workers

Firewall deploys with TrustGuard: no values are needed to get it. The chart renders two gateway replicas and one replica for each of the five default workers — toxicity, indirect-prompt-injections, prompt-jailbreak, prompt-moderation, and response-jailbreak — all on the firewall-cpu image pinned by your chart version. Default worker requests are 1 CPU and 3 GiB, with 2 CPU and 4 GiB limits; prompt-moderation overrides memory to 4 GiB requested and 6 GiB limited, and topic-guard raises its memory limit to 5 GiB. Official images bundle their models, so HUGGINGFACE_TOKEN is optional. This is the largest memory consumer in the data path, so it is the first thing to right-size if you run a subset of detectors. TrustGuard derives NEURAL_TRUST_FIREWALL_BASE_URL as http://firewall.<namespace>.svc.cluster.local and maps firewall-secrets/JWT_SECRET to its client secret. Both sides are wired by the chart, so there is nothing to configure.
firewall.enabled, firewall.firewall.enabled, and trustguard.firewall.enabled have no effect on whether Firewall renders. Setting all three to false with TrustGuard on still produces the gateway and all five workers. To reduce its footprint, size the workers instead.

GPU Firewall workers

Chart defaults are CPU. GPU mode needs a NeuralTrust-provided firewall-gpu image plus explicit GPU resources and scheduling, and a separate GPU node pool. Keep the gateway on the CPU image:
Each of the seven workers requests one GPU. Configure the GPU node pool to share every GPU among four CUDA MPS clients, so that two L4 nodes can host all seven workers. On GKE, set the node pool’s GPU sharing strategy to MPS with max_shared_clients_per_gpu = 4; on EKS, enable MPS sharing in the NVIDIA device plugin with four replicas. Four is the most an L4 can hold: each client may pin up to 6000 MB of device memory, and the L4 has 24 GB. Without sharing, every worker needs a GPU of its own. Node counts for each deployment model are in Capacity. This matches values-dataplane-gpu.yaml.example, which ships with the chart. Install the vendor device plugin and validate node labels first. CUDA MPS and hostIPC may require extra security approval, especially on OpenShift. If GPU pods stay Pending, inspect resource availability, taints, node labels, and the NVIDIA device plugin with kubectl describe pod.

Central control plane values

These apply only on the central cluster, under global.deploymentMode: saas. Data-plane clusters need none of them — they set global.controlPlane.domain and are otherwise ordinary Hybrid installs.
The chart refuses to render an endpoint with no certificate at all, rather than publishing one nothing outside the cluster can verify. The self-signed CA it generates is not in any remote cluster’s trust store until you put it there.

Trusting a private control plane

Set these on a remote cluster when the central control plane serves chart-generated or private-PKI certificates. Each replaces the system roots for that connection, so the bundle must carry every CA that leg needs.

Wizard-generated setup

The private gateway wizard’s Kubernetes output is credential and setup input, not an install-ready chart contract. Map its values into the maintained chart’s interfaces rather than applying it unchanged, and move every credential into pre-created Secrets — see Console setup and Secrets. Docker is for local evaluation of the LLM/proxy path. Its generated Compose command injects a generated CONFIG_SYNC_LKG_KEY and the two wizard-issued tokens, and needs three more values from you:
  • SERVER_SECRET_KEY — a random value of at least 32 bytes
  • CONFIG_SYNC_GRPC_ENDPOINT — the config-sync endpoint as host:port
  • DATABRIDGE_ADDR — the DataBridge endpoint as host:port
That path starts TrustGate’s LLM/proxy process on 8081 and does not start or expose MCP on 8082. Use Kubernetes for production MCP support. Manual returns CONTROL_PLANE_JWT and DATA_AGENT_JWT for fully custom manifests, and no deployment command. TrustGate listens on these ports by default:

TrustGate data-plane environment

Optional variables you may set on the TrustGate proxy and MCP pods, beyond what the chart and the wizard generate.

Secrets

Key contracts for every Secret you supply.

Requirements

Dependencies, ports, and capacity.