Both paths assume you already have the maintained
neuraltrust-platform chart
and credentials for the NeuralTrust image registry. <chart> below is the chart
reference your NeuralTrust contact provided.
On OpenShift the install is the same but ingress differs — see
OpenShift before you start.
- Hybrid
- External
Step 3 is where most installs fail. Those four Secrets are never generated by
the chart. If your values file does not reference them, the install stops at
render time with a validation error.
1
Check prerequisites
- A Kubernetes cluster with an ingress controller, and Helm 3.8+
- Capacity for your topology — Cluster sizing
- A base domain you can point at the cluster ingress, for example
platform.example.com - Outbound TCP 443 to the NeuralTrust config-sync, DataBridge, and telemetry hosts, plus inbound from the NeuralTrust source IP — Network
- A reachable PostgreSQL and Redis. The chart deploys both in-cluster by default; managed stores are recommended for production — sizes
2
Create the namespace and image pull secret
global.imageRegistry. Both paths, and the two
collector images that imageRegistry does not rewrite, are covered in
Container images.3
Create the four operator-supplied Secrets
Create TrustGate and TrustGuard in the console first. Each issues a
config-sync token and a DataAgent enrollment JWT. You generate the
LKG key yourself. Full walkthrough:
Console setup.Every other credential — JWT signing keys, the PostgreSQL password, and so on —
is generated on first install and reused on upgrade. See
Secrets.
The enrollment JWT already carries
tenant_id and instance_id. Do not set a
tenant ID in values.4
Write your values file
The chart ships Product flags default to off and at least one must be
values-required.yaml, a full-hybrid preset that already
matches the Secret names above. Copy it and change the two cluster-specific
lines:true. For a subset,
drop the flags you do not need and use the matching tracked slice —
values-trustgate.yaml.example, values-trustguard.yaml.example, or
values-red-teaming.yaml.example (data-plane API only, which needs no DataAgent
and no config-sync). Every switch is listed in
Feature flags.5
Install
6
Verify
agentgateway-proxy,
agentgateway-mcp, trustguard-data-plane, data-plane-api, firewall and
its workers, dataagent, dataagent-trustguard, control-plane-postgresql,
and redis.Hostnames derive from global.domain:Point DNS at the ingress address, then set the LLM URL and MCP URL in
Settings → Agent Gateway → General to finish
console setup.
Install fails? Common causes
Both modes validate your values while rendering, so these appear before anything reaches the cluster.
A clean render still cannot see your cluster. A missing
gcr-secret, a Secret
you referenced but never created, or an absent ingress class will only surface
as pod failures after install — check kubectl get pods -n neuraltrust and the
pod events.
Next steps
Configuration
Datastores, ingress, TLS, and domains.
Secrets
What the chart generates and what you must supply.
Feature flags
Every switch that changes the deployment.
High availability
Multi-region and failover planning.