Learn how to deploy TrueFoundry’s AI Gateway on your own infrastructure with detailed compute requirements and installation instructions.
truefoundry
)Component | CPU | Memory | Storage | Min Nodes | Remarks |
---|---|---|---|---|---|
Helm-Chart (AI Gateway Control Plane components) | 2 vCPU | 8GB | 60GB Persistent Volumes (Block Storage) On Kubernetes | 2 Pods should be spread over min 2 nodes | Cost: ~ $120 pm |
Helm-Chart (AI Gateway component only) | 1 vCPU | 512Mi | - | 1 Pods should be spread over min 1 node | Cost: ~ $10 pm |
Postgres (Deployed on Kubernetes) | 0.5 vCPU | 0.5GB | 5GB Persistent Volumes (Block Storage) On Kubernetes | PostgreSQL version >= 13 IOPS: Default (suitable for dev/testing) For PostgreSQL 17+: Disable SSL, for AWS: by setting force_ssl parameter to 0 in the parameter group, for Azure: by setting require_secure_transport parameter to false in the parameter group | |
Blob Storage (S3 Compatible) | 20GB |
devMode
to true in the values file to spin up a local postgres database.Setup Control Plane Platform IAM Role
Creating AWS IAM Role for Control Plane
tfy-control-plane-platform-deps
<ACCOUNT_ID>
, <AWS_REGION>
, and <OIDC_ID>
you can also give the values from your EKS cluster.
You can find the OIDC_ID from the EKS cluster. Also, here we are assuming that the service account is truefoundry
and the namespace is truefoundry
, you can change it as per your needs.Create S3 Bucket
Create Postgres RDS Database
db.t3.medium
with storage size of 30GB.force_ssl
parameter to 0
in the parameter groupdevMode
to true in the values file belowCreate Kubernetes Secrets
Create Kubernetes Secret for License Key and DB Credentials
postgresql.auth.username
DB_PASSWORD: randompassword # You can change this to any value here.truefoundry
namespace)Create Kubernetes Secret for Image Pull Secret
truefoundry
namespace)Create HelmChart Values file
Install Helm chart
Can I use the images from my own private registry?
$TRUEFOUNDRY_HELM_CHART_VERSION
with the version of the Truefoundry helm chart you want to use. You can find the latest version here.<YOUR_REGISTRY>
should be your registry URL like docker.io
or registry.example.com
. The script assumes you are logged into your registry.truefoundry-values.yaml
file to use your custom images.Can I use my Artifactory as a mirror to pull images?
https://tfy.jfrog.io/
To get the username and password, you can base64 decode the Image Pull Secret that you receive from Truefoundry team.Do we need any NFS volumes in Kubernetes for the AI Gateway or Control Plane?
What is the structure of access logs
Log operator | Details |
---|---|
START_TIME | ISO timestamp for request start. eg. 2025-08-12 13:34:50 |
LEVEL | info|warn|error |
IP_ADDRESS | IP address of the caller. eg. ::ffff:10.99.55.142 |
TENANT_NAME | Name of the tenant. eg. truefoundry |
SUBJECT_TYPE | user|virtualaccount |
SUBJECT_SLUG | Email or virtual account name. eg. tfy-user@truefoundry.com|demo-virtualaccount |
MODEL_ID | Model ID. eg. openai-default/gpt-5 |
METHOD | GET|POST|PUT |
PATH | Path of the request. eg. /api/inference/openai/chat/completions |
STATUS_CODE | 200|400|401|403|429|500 |
DURATION | Duration of the request. eg. 12 |
TRACE_ID | Trace ID of the request |