Skip to content

Terraform (AWS)

The HEBBS Terraform module provisions an AWS EKS cluster pre-configured for running HEBBS, including networking, storage, and IAM configuration.

  • Terraform >= 1.5
  • AWS CLI configured with appropriate credentials
  • kubectl installed locally
  • An AWS account with permissions to create VPC, EKS, EC2, EBS, and IAM resources
module "hebbs" {
source = "github.com/hebbs-ai/terraform-aws-hebbs?ref=v0.1.0"
cluster_name = "hebbs-production"
region = "us-east-1"
instance_type = "m6i.xlarge"
node_count = 2
ebs_volume_size = 100
hebbs_version = "0.1.0"
enable_tls = true
enable_monitoring = true
tags = {
Environment = "production"
Team = "platform"
}
}
Terminal window
terraform init
Terminal window
terraform plan -out=tfplan

Review the plan to confirm the resources that will be created.

Terminal window
terraform apply tfplan

This typically takes 15–20 minutes to provision the EKS cluster and deploy HEBBS.

Terminal window
aws eks update-kubeconfig \
--name hebbs-production \
--region us-east-1
Terminal window
kubectl get pods -n hebbs
hebbs-cli status --address $(terraform output -raw hebbs_endpoint)
VariableDefaultDescription
cluster_name(required)EKS cluster name
region(required)AWS region
instance_typem6i.largeEC2 instance type for worker nodes
node_count2Number of worker nodes
ebs_volume_size50EBS volume size in GB for HEBBS data
hebbs_versionlatestHEBBS image tag
enable_tlsfalseEnable TLS with ACM certificate
enable_monitoringfalseDeploy Prometheus + Grafana stack
vpc_cidr10.0.0.0/16VPC CIDR block
tags{}Tags to apply to all resources
OutputDescription
hebbs_endpointgRPC endpoint address (NLB DNS name)
metrics_endpointPrometheus metrics endpoint
grafana_urlGrafana dashboard URL (if monitoring enabled)
cluster_nameEKS cluster name
kubeconfig_commandCommand to configure kubectl

The module creates:

  • VPC with public and private subnets across 3 availability zones
  • EKS cluster with managed node group
  • EBS CSI driver for persistent volume provisioning (gp3)
  • Network Load Balancer for gRPC traffic
  • IAM roles for EKS, worker nodes, and EBS CSI
  • Helm release of the HEBBS chart with configured values
ComponentApproximate Monthly Cost
EKS control plane$73
2x m6i.xlarge nodes$280
100 GB gp3 EBS$8
Network Load Balancer$16 + data transfer
Total~$377/month
Terminal window
terraform destroy

This removes all AWS resources. Data stored in EBS volumes is permanently deleted.