Skip to content

Add dbx-workspace: a premium Databricks workspace on AWS or Azure with Terraform - #13

Merged
kchandan merged 7 commits into
mainfrom
dbx-workspace-pack
Oct 28, 2026
Merged

kchandan merged 7 commits into
mainfrom
dbx-workspace-pack

Conversation

@kchandan

Copy link
Copy Markdown
Member

What

A new pack, dbx-workspace, that creates a premium Databricks workspace on AWS or Azure with Terraform, and removes it.

  • Plan first. Nothing is created or deleted without --param apply=yes; the saved plan is applied, never -auto-approve.
  • Allow lists for the AWS account and Azure subscription. Credentials come from the environment only.
  • Azure: sku = "premium" fixed in the module. AWS: the tier follows the Databricks account plan, and the pack checks the tier the workspace reports.
  • Stops if a plan would delete or replace anything while creating. Replacing a pause timer is exempt.
  • Provider lock files with hashes, -lockfile=readonly, local, s3 and azurerm backends.
  • Guide: docs/dbx-workspace.md.

Tested

  • Both modules: terraform validate and mocked-provider terraform test (Azure 7, AWS 5), added to the CI terraform job.
  • Pack logic with a fake Terraform: 33 tests. Full suite earlier: 403 passed, 1 skipped.
  • Applied once against a real AWS account with network=managed; the workspace was created. That run found and fixed three faults: wrong IAM policy type, missing provider account ID, and no wait after a policy change. Error output was also truncated before the reason, now fixed.
  • Not applied yet: Azure, and AWS network=custom. The guide says so.

🤖 Generated with Claude Code

kchandan and others added 7 commits October 26, 2026 11:23
…h Terraform

Plan first: nothing is created or deleted without apply=yes, and the saved plan file is what gets applied.
Azure pins sku premium; AWS checks the tier the workspace reports because the account plan decides it.
Allow lists for AWS accounts and Azure subscriptions, credentials only from the environment, pinned
providers with lock files, local or remote state. Modules are validated against the real provider
schemas and tested with mocked providers in CI. Never applied against a real account.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…n is printed

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… VPC, and set the account ID on the provider

The customer policy lacks VPC creation rights, so the workspace credentials check failed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@kchandan kchandan added the enhancement New feature or request label Oct 28, 2026
@kchandan kchandan self-assigned this Oct 28, 2026
@kchandan
kchandan merged commit c04dd32 into main Oct 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant