Kubernetes
Kubernetes Installation
NeuralTrust’s infrastructure is deployed to Kubernetes using Helm charts. This guide walks you through setting up the self-hosted Data Plane.
Step-by-Step Setup
1. Clone the Repository
2. Create an Environment File
Fill in the required values such as API keys and image tags.
Required Tools
Ensure the following are installed on your system:
3. Run the Installer
You’ll be prompted for secrets (OpenAI API key, HuggingFace token, and GCR key) unless they’re already set in
.env
.
DNS Setup
1. Create a Subdomain
Example: dataplane.yourdomain.com
2. Set DNS Records
CNAME (preferred):
OR A record:
Find your ingress IP:
TLS Certificates
- Let’s Encrypt is automatically configured.
- Make sure:
- DNS is fully propagated
- The domain is publicly accessible
EMAIL
is correctly set in your.env
file
Connect to the Control Plane
After deploying the Data Plane:
- Log in to the NeuralTrust Portal
- Go to Data Plane > Add New
- Fill in:
- API Endpoint (
DATA_PLANE_API_URL
) - JWT Secret (
DATA_PLANE_JWT_SECRET
)
- API Endpoint (
- Save the connection
Keep your
DATA_PLANE_JWT_SECRET
safe. You’ll need it to connect.
ClickHouse Configuration
The Data Plane installs a single ClickHouse server with:
- Single server deployment (sharding not currently supported)
- 100Gi persistent volume for data storage
- Optimized for standard workloads
Preconfigured tables include:
- Raw trace data
- Analytics
- Security and user engagement metrics
Note: Multi-node ClickHouse deployments with sharding are not supported in the current version.
Upgrading
To apply updates:
- Update
.env.dev
with new values - Re-run the install script:
Helm will detect and apply changes without wiping existing data.
Troubleshooting
Issue | Solution | |
---|---|---|
Pods not starting | kubectl logs -n neuraltrust <pod-name> | |
ClickHouse issues | `kubectl get pods -n neuraltrust | grep clickhouse` |
Ingress not working | kubectl get ingress -n neuraltrust | |
Certificate errors | kubectl get certificates -n neuraltrust | |
Control Plane can’t connect | Check public access to your API and verify DATA_PLANE_JWT_SECRET |
Support
For any issues not covered above, reach out to us at: