Quickstart
Overview
This is the streamlined setup guide for getting Confident AI running on AWS. It covers cloning the repository, configuring variables, provisioning infrastructure with Terraform, and deploying workloads via ArgoCD.
If you want detailed explanations of each step, see the step-by-step guide instead. This page assumes you already have the required tools installed and AWS credentials configured — see Requirements and Prerequisites for details.
Core components
All cloud resources are defined in .tf (Terraform) files in the aws_tf directory:
Public/private/database subnets with NAT Gateway, Internet Gateway, and S3 VPC Endpoint.
Managed Kubernetes with autoscaling node groups and EBS CSI driver.
Secure jump host for accessing private resources inside the VPC.
Managed database in isolated subnets with automated backups and encryption.
SSL/TLS certificate management for HTTPS termination.
Private bucket with VPC endpoint for application data.
ECR (ecr.tf) is only used for syncing secrets into the EKS cluster — it handles cross-account image pull credentials, not hosting your own images.
Get started
Configure your variables
Copy an environment template and save it as terraform.tfvars:
Open terraform.tfvars and set the following variables:
Lambda code executor image: First pull the image from 128045499490.dkr.ecr.us-east-1.amazonaws.com/confident-code-sandbox-lambda:<tag>, push it to your own ECR, then use its URI in code_executor_lambda_image_uri. Lambda requires the image to be in your AWS account’s private ECR.
For detailed explanations of each variable, see the Configuration page.
Provision infrastructure
Approve when prompted. This takes 15-25 minutes and provisions the VPC, EKS cluster, RDS database, S3 bucket, Secrets Manager, IAM roles, and Helm releases.
Set up External Secrets
External Secrets syncs credentials from AWS Secrets Manager into Kubernetes.
Edit app/base/common/external-secrets/external-secrets.yaml and update the key field for each secret block. Set it based on your confident_environment variable:
- Staging:
confidentai-stage-confident-secret - Production:
confidentai-prod-confident-secret
Then in app/base/common/secret-store/secret-store.yaml, update the region: field to match your confident_aws_region value.
Configure Ingress subnets and ACM certificate
In app/base/network/ingress.yaml, update the annotations block with your ACM certificate ARN and subnet IDs:
The alb.ingress.kubernetes.io/subnets value should match the subnets used by your EKS cluster (often private subnets). Make sure your ACM certificate is issued in the same AWS region as your load balancer.
Set up ArgoCD for deployments
ArgoCD installation via Terraform is enabled in helm-charts.tf (lines 69-104). If the Terraform runner’s context window is exceeded, you’ll need to install ArgoCD manually using Helm.
To install ArgoCD manually:
A few things to keep in mind:
- Replace
<internet-facing | internal>based on your setup — useinternet-facingifconfident_public_eksistrue, otherwiseinternal. - Replace
<your_admin_password>with the same value you provided to theargocd_admin_passwordTerraform variable. - Make sure you have the correct AWS credentials and kubectl context set for your cluster before running the Helm command.
Once ArgoCD is running:
- Get the ArgoCD load balancer URL from
terraform output - Log in to ArgoCD in your browser
- Connect ArgoCD to the repository
- Provide the path to
app/argocd/app-of-apps.yamlto start automated deployment of all Kubernetes workloads
ArgoCD deploys everything described in app-of-apps.yaml. You may need to approve access or confirm secrets sync depending on your cluster security settings.
Install Datadog in EKS
To install the Datadog Agent on your EKS cluster, use the official Datadog Helm chart:
Replace <your-eks-cluster-name> with your EKS cluster name (available from terraform output or the AWS console). Use your actual Datadog API Key and Application Key for authentication.
For further configuration (tags, proxy, extra features), see the Datadog Helm chart documentation.
Done ✅ All major components and workloads are handled via Terraform and ArgoCD (app-of-apps pattern).
Next steps
You’ve completed the quickstart setup. Here’s what to do next: