Repository navigation
bundle: delete the terraform deployment engine code - #6889
Merged
Merged
Conversation
2 of 4 tasks
denik
force-pushed
the
denik/reject-terraform
branch
from
October 1, 2026 13:42
dc5f96a to
26b45a6
Compare
denik
force-pushed
the
denik/delete-terraform
branch
from
October 1, 2026 13:42
4013de4 to
d7a3c8a
Compare
Collaborator
Integration test reportCommit: 734eb70
Top 3 slowest tests (at least 2 minutes):
|
denik
force-pushed
the
denik/reject-terraform
branch
from
October 1, 2026 21:11
26b45a6 to
cfa9047
Compare
denik
force-pushed
the
denik/delete-terraform
branch
from
October 1, 2026 21:11
d7a3c8a to
1457e7c
Compare
This was referenced Oct 2, 2026
denik
force-pushed
the
denik/reject-terraform
branch
from
October 2, 2026 09:34
cfa9047 to
3fd66af
Compare
denik
force-pushed
the
denik/delete-terraform
branch
from
October 2, 2026 09:34
1457e7c to
dc73a41
Compare
denik
force-pushed
the
denik/reject-terraform
branch
from
October 2, 2026 10:28
3fd66af to
8e85239
Compare
denik
force-pushed
the
denik/delete-terraform
branch
from
October 2, 2026 10:28
dc73a41 to
d179912
Compare
denik
force-pushed
the
denik/reject-terraform
branch
from
October 2, 2026 11:11
8e85239 to
daa60dd
Compare
denik
force-pushed
the
denik/delete-terraform
branch
2 times, most recently
from
October 2, 2026 11:44
ccb9f0b to
001d263
Compare
denik
force-pushed
the
denik/reject-terraform
branch
from
October 2, 2026 11:44
daa60dd to
6db050d
Compare
philip
pushed a commit
to philip/databricks-cli
that referenced
this pull request
Oct 2, 2026
…#6877) Removes the terraform engine from the acceptance CI matrix so the suite runs direct-only, and drops the now-single-value `DATABRICKS_BUNDLE_ENGINE` matrix pins (using `Env.DATABRICKS_BUNDLE_ENGINE` only where a test forces a specific engine). The terraform engine code itself is untouched here; it is rejected in [databricks#6888](databricks#6888) and removed in [databricks#6889](databricks#6889). This pull request and its description were written by Isaac. --------- Co-authored-by: Isaac <no-reply@databricks.com>
denik
force-pushed
the
denik/reject-terraform
branch
from
October 5, 2026 07:28
6db050d to
33ec5c0
Compare
denik
force-pushed
the
denik/delete-terraform
branch
from
October 5, 2026 07:28
001d263 to
91b68d0
Compare
denik
marked this pull request as ready for review
October 5, 2026 07:34
denik
force-pushed
the
denik/delete-terraform
branch
from
October 5, 2026 07:44
91b68d0 to
e1d8315
Compare
denik
force-pushed
the
denik/reject-terraform
branch
from
October 5, 2026 09:13
95b6da3 to
c5674aa
Compare
denik
requested review from
jefferycheng1,
kanterov and
lennartkats-db
as code owners
October 5, 2026 09:13
denik
force-pushed
the
denik/delete-terraform
branch
2 times, most recently
from
October 5, 2026 09:44
aa0a153 to
a0bcf0b
Compare
denik
enabled auto-merge
October 5, 2026 13:48
denik
disabled auto-merge
October 5, 2026 14:26
denik
force-pushed
the
denik/delete-terraform
branch
from
October 5, 2026 18:29
4fbb709 to
2b29094
Compare
This was referenced Oct 5, 2026
denik
enabled auto-merge
October 5, 2026 18:50
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
UploadStateForYamlSync wrote resources-config-sync-snapshot.json only after a terraform deploy, and config-remote-sync read it only for a terraform state. With the terraform engine removed neither path runs, so drop the mutator, the snapshot path helper, and ErrStateSnapshotNotFound. reverseInterpolate is still used by the state migration and moves to its own file unchanged. Co-authored-by: Isaac <no-reply@databricks.com>
Trim showplanfile.go and import.go to the declarations that migration and bind still use, instead of moving them to statemap.go, so the diff only deletes lines. Co-authored-by: Isaac <no-reply@databricks.com>
It undid terraform.Interpolate, which only ran inside the terraform deploy, bind and destroy phases. The migration runs before any phase and terraform.Interpolate is gone, so the config never has terraform-style references here. Co-authored-by: Isaac <no-reply@databricks.com>
This reverts commit a54da8d.
Only the tfstate resource mode type and its "managed" constant were used; replace them with a local constant. The TF schema codegen module keeps its own pin. Co-authored-by: Isaac <no-reply@databricks.com>
denik
force-pushed
the
denik/delete-terraform
branch
from
October 5, 2026 19:14
2b29094 to
734eb70
Compare
janniklasrose
approved these changes
Oct 5, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Oct 5, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Oct 5, 2026
yiweidai-db
pushed a commit
to yiweidai-db/cli
that referenced
this pull request
Oct 6, 2026
Stacked on databricks#6889. Removes the hidden `bundle debug terraform` command. It printed the Terraform and Databricks Terraform provider versions (and checksums) the terraform engine used, for the VS Code extension and the Docker image build. With the engine gone there is nothing to report. The Docker image no longer downloads Terraform and the provider; it now contains just the CLI. Also drops the `hashicorp/go-version` dependency and the matching NOTICE entries. This pull request and its description were written by Isaac. --------- Co-authored-by: Isaac <no-reply@databricks.com>
deco-sdk-tagging Bot
added a commit
that referenced
this pull request
Oct 7, 2026
## Release v1.20.0 ### Notable Changes * Remove the Terraform deployment engine. `bundle.engine: terraform` and `DATABRICKS_BUNDLE_ENGINE=terraform` now error, and a failed migration of existing Terraform state is reported as an error instead of falling back to Terraform. To keep deploying with Terraform, use Databricks CLI v1.19.x. ([#6888](#6888), [#6889](#6889)) ### CLI * `databricks aitools install` now supports Kiro, installing Databricks agent skills into its skills directory. ([#6908](#6908)) * Fixed `databricks api` corrupting integers larger than 2^53 (such as job and pipeline ids) — request bodies and responses now preserve them exactly. ([#6884](#6884)) * Added `--auth-mode` and `--set <plugin>.<resourceKey>.authMode=obo|sp|both` to `databricks apps init` so AppKit resources can be accessed on behalf of the user, by the service principal, or both. The default stays service principal. ([#6886](#6886)) * `databricks apps init` now requires a value for every field a service principal resource binding references, prompting for missing values in an interactive terminal and otherwise failing with the `--set` key to use, instead of creating a project with unset variables. ([#6903](#6903)) * Add `databricks apps init --package-manager <npm|pnpm>` to select the package manager for Node.js templates. Infer the default quietly from template lockfiles and AppKit version, check prerequisites before creating files, and preserve template formatting and pnpm version pins. ([#6902](#6902)) * Select npm or pnpm from `packageManager` declarations and lockfiles for `apps validate` and project validation during `apps deploy`. ([#6892](#6892)) * Fix `auth docker host` reporting the credential helper as configured when its executable is missing from `PATH`. ([#6880](#6880)) * Warn when the CLI binary was built more than 6 months ago and recommend updating. ([#6898](#6898)) ### AI Runtime * Add an experimental rank-partitioned container images to AI Runtime jobs. ([#6841](#6841)) * Support snapshot fields directly under `code_source` without requiring `type` or a nested `snapshot` block. ([#6927](#6927)) * Map AIR priority and Unity Catalog image fields when converting run configurations to bundles. ([#6905](#6905)) * Add workspace backend validation to `air run --dry-run`. ([#6934](#6934)) ### Bundles * Warn that `bundle.terraform` is deprecated and has no effect since the Terraform deployment engine was removed. ([#6940](#6940)) * Direct engine now detects and applies an explicitly configured zero-value boolean or float (e.g. `gcp_attributes.use_preemptible_executors: false`, `azure_attributes.spot_bid_max_price: 0`) added to a resource first deployed without the field, matching the existing handling of an explicit integer zero. ([#6882](#6882)) * Fix `bundle deployment migrate` failing with "no such file or directory" when the Terraform state has no resources or the configuration no longer declares any of them. ([#6958](#6958)) * `bundle run` and `pipelines run` now send the per-update `development` parameter for pipelines in development mode targets. Setting `development` on a pipeline is deprecated and now emits a warning; use `mode: development` instead. ([#6863](#6863)) * Remove the hidden `bundle debug terraform` command. ([#6933](#6933)) * Add support for `run_as.group_name` at the bundle and target levels for jobs and pipelines. ([#6676](#6676)) * Fix recreating a secret scope that was deleted outside of the bundle with the direct deployment engine. ([#6970](#6970)) * Accept title-case booleans (`True`/`False`, as rendered by Azure Pipelines) for boolean variables, and accept the same boolean strings (`yes`/`no`, `on`/`off`, ...) in Python bundles as in YAML. ([#6942](#6942)) ### Dependency Updates * Bump `github.com/databricks/databricks-sdk-go` from v0.182.0 to v0.185.0. ([#6928](#6928))
This was referenced Oct 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Deletes the now-unreachable Terraform deployment engine code. The previous PR (#6888) made
engine: terraformerror and the tf->direct migration mandatory, so nothing reaches the engine anymore. This is the removal announced in #6765.Removed: the terraform engine implementation (apply/convert/plan/init/install/import/interpolate/pubkey/showplanfile/unbind/write) and the entire
tfdynpackage; the terraform branches in the deploy/bind/destroy phases;Bundle.Terraform*fields anddeployplan.NewPlanTerraform; theterraform-exec,hc-installandterraform-jsondependencies; andterraformfrom thebundle.engineschema enum. Also removed: the terraform-only YAML-sync config snapshot (resources-config-sync-snapshot.json), which only a terraform deploy wrote and only a terraform state read; thesnapshot-comparisontest that compared it with migrate output is dropped in #6888.Kept: the state-migration infrastructure (terraform state parsing, and the state-mapping helpers still used by the migration, kept in
showplanfile.go, plusBindOptionsinimport.go) so existing Terraform state still migrates to the direct engine.This pull request and its description were written by Isaac.