Skip to content

Lakehouse

The Lakehouse root is the account-local foundation for Glue databases, S3-backed Iceberg storage, Lake Formation grants, and Snowflake catalog integration. The current service root is terraform/lakehouse/env/<env>.

Current Shape

Each env-dataops account manages:

  • the general lakehouse bucket named ice-lake-<account-id>-us-east-1-<env>;
  • same-env read/write Lake Formation grants;
  • cross-env read grants;
  • the dev remote-write exception for stage/preprod/prod interactive Kyuubi roles;
  • Snowflake LH_GLUE_<ENV> integration.

Current Glue database coverage is environment-specific:

EnvironmentGlue Databases
devraw, offer_service, points_service, fast_chat, ledger_service
stageraw, offer_service, points_service, fast_chat, ledger_service
preprodraw, offer_service, points_service, fast_chat, ledger_service
prodraw, offer_service, points_service, fast_chat

Do not assume ledger_service exists in prod until terraform/lakehouse/env/prod/main.tf adds it.

Snowflake Databases

LH_GLUE_<ENV> is created by the Lakehouse root. LH_POLARIS_<ENV> is created or supported by the Polaris root. Both expose the same underlying Iceberg data through different catalog paths.

Access Model

Lakehouse is where most cross-env data access is wired together. A working query path requires matching IAM, Glue, Lake Formation, S3, and Spark/Polaris catalog config. See Lake Formation Access Model for the shared model.

Legacy Reference

The Snowflake catalog integration guide still has useful integration details, but the database naming examples may predate the current LH_GLUE_<ENV> and LH_POLARIS_<ENV> naming.

Checked Against

  • terraform/lakehouse/env/dev/main.tf, stage, preprod, and prod on origin/main.
  • terraform/modules/s3-general-bucket.
  • implementations/2026-05-18-dl-419-cross-env-lakehouse-access-progress.md.
  • implementations/2026-05-22-dl-419-dev-catalog-interactive-write-exception-progress.md.