Skip to main content

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

ResourceWhat it doesOperations
onehouse_clusterProvision and manage Onehouse compute clustersCreate, Read, Update, Delete
onehouse_lakeRegister data lakes (OBSERVED or MANAGED)Create, Read, Update, Delete
onehouse_databaseGroup tables under a lakeCreate, Read, Delete
onehouse_catalogSync Onehouse tables to external catalogs (Glue, Hive, Unity, OneTable, DataHub)Create, Read, Delete
onehouse_sourceDefine data sources for ingestion (S3, GCS, Kafka, Postgres, MySQL, Onehouse tables)Create, Read, Delete
onehouse_flowConfigure ingestion pipelines that read from sources and write to Onehouse tablesCreate, Read, Update, Delete
onehouse_table_serviceManage 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 plan output 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