This guide walks you end-to-end through a hybrid deployment on EKS — the Data Plane, TrustGate, and Firewall run in your EKS cluster; the Control Plane UI, API, and Scheduler run on NeuralTrust SaaS. For the full-stack alternative, see AWS self-hosted.Documentation Index
Fetch the complete documentation index at: https://docs.neuraltrust.ai/llms.txt
Use this file to discover all available pages before exploring further.
What you’ll end up with
| Component | Location | Replicas |
|---|---|---|
| Data Plane API, worker, Kafka Connect | Your EKS cluster | 2, 1, 1 |
| TrustGate admin / gateway / actions | Your EKS cluster | 2 each |
| Firewall gateway + 5 workers | Your EKS cluster | 2 + 5 |
| ClickHouse, Kafka, PostgreSQL, Redis | Your EKS cluster (or external) | 1 each |
| Control Plane API, UI, Scheduler | NeuralTrust SaaS | — |
Prerequisites
| Resource | Recommended |
|---|---|
| EKS version | 1.28+ |
| CPU pool node type | m5.2xlarge (8 vCPU / 32 GiB) |
| Min CPU nodes | ≥ 4 across 3 AZs. Drop to 3 if Firewall workers run on GPU nodes. |
| GPU pool (optional, for GPU Firewall) | g4dn.xlarge (4 vCPU / 16 GiB / 1 × T4) — 5 nodes (one per default Firewall worker) |
| Storage | EBS CSI driver + gp3 storage class |
| Ingress | AWS Load Balancer Controller v2.6+ |
| Certificate | ACM cert in the cluster region covering *.<your-domain> |
| DNS | Route 53 hosted zone (or any DNS provider) |
| Image pull | gcr-keys.json from NeuralTrust |
| NeuralTrust tenant | A SaaS Control Plane tenant — request from [email protected] |
Step 1 — Provision EKS and add-ons
--nodes 5 --nodes-min 5 to fit the additional Control Plane footprint.
Install the AWS Load Balancer Controller and EBS CSI driver (see AWS overview › Required cluster add-ons).
Step 2 — Namespace and image pull secret
Step 3 — Request the ACM certificate
Step 4 — Write your values overlay
Save asmy-values.yaml:
Using managed AWS data services
ClickHouse Cloud has a native-port caveat — review before installing. For external Postgres, pre-create the
neuraltrust and trustgate databases/users; see Required databases & users.Step 5 — Install
Step 6 — DNS
Get the ALB hostnames assigned to each ingress:| Host | Component |
|---|---|
data-plane-api.platform.example.com | Data Plane API |
admin.platform.example.com | TrustGate admin |
gateway.platform.example.com | TrustGate proxy |
actions.platform.example.com | TrustGate actions |
Step 7 — Enroll the Data Plane with NeuralTrust SaaS
Open the NeuralTrust portal
Log in at the URL provided by NeuralTrust (typically
https://app.neuraltrust.ai).Connect the Data Plane
Team Settings → Advanced → Connect Data Plane. Provide your Data Plane API URL (
https://data-plane-api.platform.example.com), the JWT secret, and the region. See Platform › Advanced for the full UI walkthrough.Step 8 — Send traffic through TrustGate
Point your AI applications athttps://gateway.platform.example.com. For gateway / route / plugin configuration, see TrustGate › Getting started.
Verification
Upgrading
Migration to self-hosted
Flip the Control Plane flag and add DNS forapp.*, api.*, scheduler.*:
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Portal says “Data Plane unreachable” | DNS not propagated, ACM cert not issued, or security group blocks SaaS Control Plane | curl https://data-plane-api.<domain>/health from outside your VPC |
| Ingress doesn’t get an ALB | AWS LB Controller missing IAM | Check kube-system logs |
PVC stuck Pending | EBS CSI driver missing | Verify the addon is installed and IRSA role is attached |
| TrustGate can’t reach Firewall | Service name mismatch | Default is http://firewall:80 — verify NEURAL_TRUST_FIREWALL_URL in trustgate-secrets |
Related guides
- Self-hosted deployment on EKS — Control Plane in your cluster
- AWS overview — cluster prerequisites and AWS-specific defaults
- Deployment models — hybrid vs self-hosted comparison
- Image catalog — what runs in hybrid mode
- Secrets management — auto-generation, External Secrets Operator
- Firewall deployment — GPU workers on EKS