Examples
7 ready-to-use deployment examples. Each is a complete Terraform configuration you can terraform apply.
Which Example Should I Use?
| Example | Provider | Compute | Database | Workload Mode | Monthly Cost | Best For |
|---|---|---|---|---|---|---|
| minimal_aws_rds | AWS | EC2 + Docker | RDS PostgreSQL | terraform | ~$45 | Simplest start, managed DB |
| minimal_aws_byo_clickhouse | AWS | EC2 + Docker | ClickHouse (BYODB) | terraform | ~$15-35 | Analytics, low cost |
| aws_eks_BYO_clickhouse | AWS | EKS | ClickHouse (BYODB) | terraform | ~$110+ | Production K8s |
| minimal_aws_k3s_byo_clickhouse | AWS | k3s on EC2 | ClickHouse (BYODB) | external | ~$35-50 | K8s without EKS cost |
| bare_metal_byo_clickhouse | Bare Metal | Docker Compose | ClickHouse (BYODB) | terraform | ~$5-20 | Any VPS, no AWS |
| minimal_aws_external_ec2_byo | AWS | EC2 | ClickHouse (BYODB) | external | ~$15-35 | CI/CD owns workloads |
| minimal_aws_external_eks_byo | AWS | EKS | ClickHouse (BYODB) | external | ~$110+ | GitOps / ArgoCD |
How to Choose
- Need managed database? Use minimal_aws_rds -- RDS PostgreSQL with zero external dependencies.
- Want cheapest AWS? Use minimal_aws_byo_clickhouse -- single EC2 instance with your own ClickHouse.
- Want Kubernetes? Use EKS for production or k3s for budget K8s without the ~$73/mo control plane fee.
- No AWS account? Use bare_metal_byo_clickhouse -- works on any VPS (Hetzner, OVH, DigitalOcean).
- Separate infra from app deploy? Use external_ec2 or external_eks -- Terraform provisions infrastructure, your CI/CD deploys workloads.
Common Prerequisites
All examples require:
- Terraform >= 1.5.0
- An SSH key pair (
ssh-keygen -t ed25519) - A ClickHouse instance (except
minimal_aws_rdswhich uses managed PostgreSQL)
AWS examples additionally require:
- AWS CLI v2 with configured credentials
- Permissions for EC2, VPC, IAM, Secrets Manager (and EKS for K8s examples)
See Getting Started for full prerequisite setup.