Overview
FerroDruid is a Rust-native, Apache-Druid-spec-compatible real-time OLAP database. It speaks the Druid REST API, native query JSON, and Druid SQL, and it reads and writes Druid segment v9/v10 binary files - without a JVM, without ZooKeeper, and without a six-process control plane. A classic Apache Druid cluster needs six or more JVM processes plus ZooKeeper plus an external metadata database and 16 GB or more of RAM before it serves a query. FerroDruid's single-binary container replaces all of that with one process that starts in under a second on under 200 MB of RAM, so it runs cleanly on Amazon EKS and on serverless container compute (ECS/Fargate) where a classic Druid cluster cannot. What it does today (v0.2.0): it serves all eight Druid native query types; it runs Druid SQL (SELECT, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, 30+ functions, EXPLAIN PLAN FOR, an MSQ task endpoint; about 95 percent core SQL parity); it exposes 40+ Druid-compatible REST endpoints; it reads and writes segment v9/v10 (the single-binary path uses SQLite metadata plus local-filesystem deep storage); it ingests from Kafka and Kinesis supervisors and via native batch; and it enforces Basic authentication (Argon2id) with role-based access control on by default and TLS via rustls. The admin account is created on first boot with a random per-instance password and the operator is required to change it on first login before any endpoint serves traffic. Engineering posture is verifiable: every crate uses #![forbid(unsafe_code)], clippy is clean at -D warnings, a CycloneDX SBOM and 18 fuzz targets run in CI, and images are cosign-signed. Live wire deep-match is 5 of 5 against Apache Druid 30.0.1 and 5 of 5 with an Apache Superset connector. Honest scope: live validation is against Druid 30.0.1 and single-binary mode; Druid 31 through 36 is a spec-driven design target not yet cross-validated against a running cluster; the Helm chart deploys the supported single-binary shape and fails closed on multi-node / external-metadata / external-deep-storage values. The container performs an AWS Marketplace RegisterUsage entitlement check at startup and serves only if entitled. The code stays Apache-2.0; this listing sells a hardened, scanned, supported distribution. Commercial support is provided exclusively through AWS Marketplace (Standard support included with every paid subscription; Business and Enterprise tiers via AWS Marketplace private offers).
Highlights
- FerroDruid runs as one container, not six JVMs: it needs no ZooKeeper and no external metadata database in single-binary mode, and it boots in under a second on under 200 MB of RAM on EKS and ECS/Fargate.
- FerroDruid is Druid wire-compatible: it speaks the Druid REST API, native query JSON, and Druid SQL, and reads and writes segment v9/v10; it was live deep-matched 5 of 5 against Apache Druid 30.0.1 and 5 of 5 with an Apache Superset connector.
- FerroDruid is hardened and supported: every crate uses #![forbid(unsafe_code)], clippy is clean at -D warnings, a CycloneDX SBOM and 18 fuzz targets run in CI, the admin must change its password on first login, and a paid support SLA is included (transacted exclusively through AWS Marketplace).
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Dimension | Description | Cost/unit/hour |
|---|---|---|
Hours | FerroDruid container usage per task/pod, per hour. | $0.10 |
Vendor refund policy
FerroDruid container charges are metered by AWS Marketplace per task/pod-hour; scale down or terminate the FerroDruid tasks/pods to stop all charges (you pay only for the task-hours you run). Already-incurred usage is generally non-refundable. If billed in error or a defect prevented normal use, contact aws-support@abyo.net within 30 days and we will review; warranted refunds are processed through AWS Marketplace.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
FerroDruid on Amazon EKS via Helm (v0.2.2)
- Amazon EKS
Container image
Containers are lightweight, portable execution environments that wrap server application software in a filesystem that includes everything it needs to run. Container applications run on supported container runtimes and orchestration services, such as Amazon Elastic Container Service (Amazon ECS) or Amazon Elastic Kubernetes Service (Amazon EKS). Both eliminate the need for you to install and operate your own container orchestration software by managing and scheduling containers on a scalable cluster of virtual machines.
Version release notes
FerroDruid v0.2.2 container, hardened build. Rust-native, Apache-Druid-spec-compatible real-time OLAP; single-binary (no JVM, no ZooKeeper). The admin account requires a password change on first login (random per-instance password, persisted, 403 until rotated). RegisterUsage-gated paid container, billed per task/pod-hour. Updated 2026-06-23: detailed step-by-step Usage Instructions covering prerequisites, configuration, deployment, verification, monitoring, and uninstall. All commercial support and refunds are transacted exclusively through AWS Marketplace.
Additional details
Usage instructions
FerroDruid container on Amazon EKS via Helm (paid Marketplace product).
A. PREREQUISITES
- Subscribed AWS account; record the Marketplace product code.
- Amazon EKS cluster (Kubernetes 1.27+); kubectl + Helm v3.8+ (OCI registry).
- IAM OIDC provider on the cluster + IRSA role granting the pod SA aws-marketplace:RegisterUsage (the chart cannot create the role). Create once:
eksctl create iamserviceaccount --cluster <c> --namespace <ns> --name ferrodruid
--attach-policy-arn arn:aws:iam::aws:policy/AWSMarketplaceMeteringRegisterUsage --approve - StorageClass with ReadWriteOnce dynamic provisioning (EBS CSI recommended). Do NOT use EFS/NFS - SQLite POSIX locking is unsafe there.
B. CONFIGURATION Single-binary topology (SQLite metadata + local-FS deep storage). Basic auth (Argon2id) + RBAC on by default. Listens on TCP 8888; auth-exempt /status/health, /status/live, /metrics. Required Helm values: marketplace.productCode (-> env FERRODRUID_MARKETPLACE_PRODUCT_CODE); marketplace.awsRegion (-> env AWS_REGION/AWS_DEFAULT_REGION); serviceAccount.create=true + annotations."eks.amazonaws.com/role-arn"=<IRSA arn>. Defaults: replicaCount=1 (>1 rejected); image.tag=0.2.2; persistence.size=10Gi (RWO, /var/lib/ferrodruid); auth.enabled=true; metrics.enabled=true. Chart fails to render on metadata.driver!=sqlite, deepStorage.type!=local, replicaCount>1, mode!=single-binary. Full values.yaml: github.com/abyo-software/ferrodruid/blob/main/marketplace/helm/charts/ferrodruid/values.yaml
C. DEPLOY - STEP-BY-STEP
- kubectl create namespace ferrodruid && kubectl config set-context --current --namespace=ferrodruid
- aws ecr get-login-password --region us-east-1 | helm registry login --username AWS --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.com
- helm install ferrodruid oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/abyo-software/ferrodruid-helm --version 0.2.3
--set image.repository=709825985650.dkr.ecr.us-east-1.amazonaws.com/abyo-software/ferrodruid --set image.tag=0.2.2
--set marketplace.productCode=<code> --set marketplace.awsRegion=<region>
--set serviceAccount.create=true
--set serviceAccount.annotations."eks.amazonaws.com/role-arn"=arn:aws:iam::<acct>:role/ferrodruid-register-usage - kubectl rollout status deploy/ferrodruid --timeout=180s && kubectl logs deploy/ferrodruid
- Rotate the first-launch admin password (every authenticated endpoint returns 403 until rotated): kubectl logs deploy/ferrodruid | grep -A4 'FIRST-LAUNCH ADMIN' POST /druid-ext/basic-security/authentication/db/basic/users/admin/credential body {"password":"<new>"}
D. VERIFY kubectl port-forward svc/ferrodruid 8888:8888 curl -fsS http://localhost:8888/status/health curl -fsS -u admin:$PW -X POST http://localhost:8888/druid/v2/sql -H 'content-type: application/json' -d '{"query":"SELECT 1"}'
E. MONITOR THE APPLICATION Logs (stdout/stderr): collect with Fluent Bit -> Amazon CloudWatch Logs. Metrics: GET /metrics on 8888; scrape with Amazon Managed Service for Prometheus or a Prometheus ServiceMonitor (metrics.serviceMonitor.enabled=true). Kubernetes probes / ALB health: /status/health (readiness), /status/live (liveness). Suggested CloudWatch alarms: pod CrashLoopBackOff (fail-closed RegisterUsage surfaces here), Service/ALB 5xx rate, PVC >80% utilization.
F. UNINSTALL / STOP BILLING helm uninstall ferrodruid && kubectl delete pvc -l app.kubernetes.io/name=ferrodruid Removing the deployment stops all software charges immediately; you can also unsubscribe in the AWS Marketplace console. All commercial transactions and refunds are handled exclusively through AWS Marketplace.
Alternative path (Fargate via CloudFormation): github.com/abyo-software/ferrodruid/blob/main/marketplace/cloudformation/fargate.yaml Full guide: github.com/abyo-software/ferrodruid/blob/main/docs/marketplace/usage/quick-start.md Limitations: github.com/abyo-software/ferrodruid/blob/main/docs/KNOWN_LIMITATIONS.md
Support
Vendor support
Support for FerroDruid is provided by abyo software LLC. Paid AWS Marketplace subscribers receive commercial support under a published response-time SLA: email aws-support@abyo.net with your AWS account ID, the AWS Marketplace product name (FerroDruid), and a description of the issue. Severity-1 production-down issues are responded to within 1 business day for Standard subscribers. Business and Enterprise support tiers are offered exclusively via AWS Marketplace private offers; all commercial support arrangements are transacted through AWS Marketplace and the seller does not offer off-Marketplace contracts. Refund processing is handled exclusively through AWS Marketplace. Report security vulnerabilities to security@ferro.abyo.net (acknowledged within 48 hours). Product documentation: https://github.com/abyo-software/ferrodruid#readme . Known limitations:
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.