Roadmap
EVM Cloud is evolving from Terraform modules into a full-stack platform for EVM blockchain data infrastructure.
Architecture Vision
Where we're headed โ every layer pluggable, every component optional:
Provider + compute engine are selected per deployment
Provisioned per provider โ isolated network per deployment
Fan-out from rindexer indexed events
Monitors all pipeline services ยท Routes external traffic
Available
Planned
โData flow
โBranch output
๐จ Building Now
Managed ClickHouse
Self-hosted ClickHouse โ no more BYODB-only.
terraform apply
โ EC2 or K8s pod with ClickHouse
โ Schema auto-provisioned from rindexer config
โ Automated backups to S3
โ Wired to rindexer + eRPC automaticallyStatus Overview
| Component | Status | Description |
|---|---|---|
| AWS Provider | โ Shipped | VPC, subnets, security groups, IAM |
| EC2 + Docker | โ Shipped | Single-instance Docker Compose deployments |
| EKS (K8s) | โ Shipped | AWS-managed Kubernetes clusters |
| k3s (K8s) | โ Shipped | Lightweight Kubernetes on EC2 |
| Bare Metal | โ Shipped | Docker Compose on any VPS via SSH |
| eRPC Proxy | โ Shipped | Multi-upstream RPC with failover and caching |
| rindexer | โ Shipped | No-code EVM event indexer |
| PostgreSQL (RDS) | โ Shipped | AWS-managed database |
| ClickHouse BYODB | โ Shipped | Bring-your-own ClickHouse endpoint |
| Secrets Management | โ Shipped | AWS Secrets Manager, K8s secrets, env-file |
| External Mode | โ Shipped | Separate infra and workload lifecycles |
| Managed ClickHouse | ๐จ Building | Self-hosted ClickHouse with auto-provisioning |
| Monitoring | ๐จ Building | Grafana + Prometheus dashboards and alerting |
| Ingress / TLS | ๐จ Building | Caddy or ALB with automatic TLS |
| K8s Test Suite | ๐จ Building | kind-based chart validation and connectivity tests |
| GCP Provider | ๐ Planned | GCE, GKE, Cloud SQL โ same interface as AWS |
| EVM Cloud CLI | ๐ Planned | init, deploy, status, logs, scale |
| Deployment Presets | ๐ Planned | One-variable sizing profiles (dev/prod/analytics) |
| Bare Metal v2 | ๐ Planned | Docker Swarm, Ansible, automated backups |
| Event Streaming | ๐ Planned | Kafka, SNS/SQS, CDC fan-out |
| Self-Hosted Nodes | ๐ Planned | Reth / Erigon on NVMe with eRPC integration |
Monitoring & Observability
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Grafana Dashboard โ
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโค
โ rindexer โ eRPC โ Database โ
โ โ โ โ
โ Block lag โ Upstream โ Query p99 โ
โ Events/sec โ latency โ Disk usage โ
โ Error rate โ Cache hit % โ Connections โ
โ Chain sync โ Failovers โ Replication โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
โฒ โฒ โฒ
โโโโโโ Prometheus Scraping โโโโโ- Pre-built dashboards per service
- Alerting rules: stalled indexer, RPC errors, disk pressure
- Deployed as part of the stack โ one variable to enable
Ingress & TLS
Internet
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Caddy / ALB โ
โ *.your-domain.com โ
โ Auto-renewing TLS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ /graphql โ rindexer โ
โ /grafana โ monitoring โ
โ /rpc โ eRPC proxy โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโK8s Test Suite
Automated validation using kind:
make test-k8s
# โ Creates throwaway kind cluster
# โ Renders Helm charts
# โ Validates K8s resources
# โ Tests service connectivity
# โ Tears down โ zero cleanup needed๐ Planned
Event Streaming
Fan out indexed events to downstream consumers:
rindexer
โ
โโโโถ Kafka (MSK or self-hosted)
โ โโโโถ Your consumers
โ
โโโโถ SNS/SQS (AWS-native)
โ โโโโถ Lambda / Fargate
โ
โโโโถ CDC (change data capture)
โโโโถ Real-time DB replicationSelf-Hosted EVM Node
# Add to your terraform config:
node_enabled = true
node_client = "reth" # or "erigon"
node_instance = "i3en.xlarge" # NVMe storage
node_chain = "ethereum"
# eRPC auto-discovers the local node as primary upstream
# Third-party RPCs become fallback only- NVMe-optimized instances with large EBS
- Automatic peer discovery and sync monitoring
- Local node as eRPC primary, third-party as fallback
GCP Provider
Same interface, different cloud:
# AWS deployment
infrastructure_provider = "aws"
compute_engine = "ec2_docker"
# Becomes GCP deployment โ same variables, same stack
infrastructure_provider = "gcp"
compute_engine = "gce_docker"- GCE instances, GKE clusters, Cloud SQL
- VPC networking, firewall rules, IAM
- Feature parity with AWS provider
EVM Cloud CLI
# Scaffold a new project
evm-cloud init --chain ethereum --db clickhouse
# Deploy with smart defaults
evm-cloud deploy --preset dev
# Live status
evm-cloud status
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# โ Chain: Ethereum mainnet โ
# โ Blocks: 19,847,231 / 19,847,235 (-4) โ
# โ Events: 1,247/sec โ
# โ eRPC: 3/3 upstreams healthy โ
# โ DB: ClickHouse โ 42GB indexed โ
# โ Cost: ~$38/mo (EC2 t3.medium) โ
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# Stream logs from all services
evm-cloud logs --follow
# Scale without editing HCL
evm-cloud scale --instance t3.xlargeDeployment Presets
# One variable to configure the full sizing profile
preset = "dev" # ~$35-50/mo โ single instance, minimal resources
preset = "production" # ~$500-2k/mo โ multi-AZ, HA, proper sizing
preset = "analytics" # ~$1-5k/mo โ ClickHouse-heavy, read replicas| Preset | Compute | Database | Monitoring | Cost |
|---|---|---|---|---|
dev | EC2 t3.medium | RDS db.t3.micro | Off | ~$35-50/mo |
production | EKS or k3s, multi-AZ | ClickHouse cluster | Full stack | ~$500-2k/mo |
analytics | EKS, large instances | ClickHouse + replicas | Full stack | ~$1-5k/mo |
Bare Metal v2
- Multi-node Docker Swarm deployments
- Ansible integration for fleet management
- Automated backups and restore scripts
Contributing
Pick any item and open a PR. Check GitHub Issues for detailed specs on each roadmap item, or start a Discussion to propose something new.