Terraform Provider
Manage Onehouse resources declaratively with Terraform. The Onehouse provider lets you define compute clusters, lakes, databases, catalogs, sources, ingestion flows, and table services in .tf files, version them in git, and apply them with terraform plan and terraform apply.
What you can manage
| Resource | What it does | Operations |
|---|---|---|
onehouse_cluster | Provision and manage Onehouse compute clusters | Create, Read, Update, Delete |
onehouse_lake | Register data lakes (OBSERVED or MANAGED) | Create, Read, Update, Delete |
onehouse_database | Group tables under a lake | Create, Read, Delete |
onehouse_catalog | Sync Onehouse tables to external catalogs (Glue, Hive, Unity, OneTable, DataHub) | Create, Read, Delete |
onehouse_source | Define data sources for ingestion (S3, GCS, Kafka, Postgres, MySQL, Onehouse tables) | Create, Read, Delete |
onehouse_flow | Configure ingestion pipelines that read from sources and write to Onehouse tables | Create, Read, Update, Delete |
onehouse_table_service | Manage table services (clustering, compaction, cleaning, metasync) | Create, Read, Update, Delete |
Every resource has a matching data source (e.g., data "onehouse_cluster") for read-only lookups.
When to use the provider
- Unified infrastructure workflow. You already use Terraform for AWS, GCP, or Databricks resources and want Onehouse in the same pipeline.
- Reproducible environments. Staging and production are defined identically except for variables.
- Pull-request review. Your team reviews
terraform planoutput before changes reach production. - Bulk provisioning. Creating dozens of flows, sources, or databases by hand in the UI doesn't scale.
For one-off exploration or interactive setup, the Onehouse console is faster.
Next steps
- Getting started — install the provider, authenticate, and apply your first resource
- Authentication — environment variables and control-plane selection
- Resources — per-resource reference
- Troubleshooting — common errors and fixes