databricks-cli/bundle
Ilia Babanov 079c416f8d
Add `bundle debug terraform` command (#1294)
- Add `bundle debug terraform` command. It prints versions of the
Terraform and the Databricks Terraform provider. In the text mode it
also explains how to setup the CLI in environments with restricted
internet access.
- Use `DATABRICKS_TF_EXEC_PATH` env var to point Databricks CLI to the
Terraform binary. The CLI only uses it if `DATABRICKS_TF_VERSION`
matches the currently used terraform version.
- Use `DATABRICKS_TF_CLI_CONFIG_FILE` env var to point Terraform CLI
config that points to the filesystem mirror for the Databricks provider.
The CLI only uses it if `DATABRICKS_TF_PROVIDER_VERSION` matches the
currently used provider version.


Relevant PR on the VSCode extension side:
https://github.com/databricks/databricks-vscode/pull/1147

Example output of the `databricks bundle debug terraform`:
```
Terraform version: 1.5.5
Terraform URL: https://releases.hashicorp.com/terraform/1.5.5

Databricks Terraform Provider version: 1.38.0
Databricks Terraform Provider URL: https://github.com/databricks/terraform-provider-databricks/releases/tag/v1.38.0

Databricks CLI downloads its Terraform dependencies automatically.

If you run the CLI in an air-gapped environment, you can download the dependencies manually and set these environment variables:

  DATABRICKS_TF_VERSION=1.5.5
  DATABRICKS_TF_EXEC_PATH=/path/to/terraform/binary
  DATABRICKS_TF_PROVIDER_VERSION=1.38.0
  DATABRICKS_TF_CLI_CONFIG_FILE=/path/to/terraform/cli/config.tfrc

Here is an example *.tfrc configuration file:

  disable_checkpoint = true
  provider_installation {
    filesystem_mirror {
      path = "/path/to/a/folder/with/databricks/terraform/provider"
    }
  }

The filesystem mirror path should point to the folder with the Databricks Terraform Provider. The folder should have this structure: /registry.terraform.io/databricks/databricks/terraform-provider-databricks_1.38.0_ARCH.zip

For more information about filesystem mirrors, see the Terraform documentation: https://developer.hashicorp.com/terraform/cli/config/config-file#filesystem_mirror
```

---------

Co-authored-by: shreyas-goenka <88374338+shreyas-goenka@users.noreply.github.com>
2024-04-02 12:56:27 +00:00
..
artifacts Move path field to bundle type (#1316) 2024-03-27 09:03:24 +00:00
config Allow specifying CLI version constraints required to run the bundle (#1320) 2024-04-02 12:55:21 +00:00
deploy Add `bundle debug terraform` command (#1294) 2024-04-02 12:56:27 +00:00
deployer Fix locker unlock for destroy (#492) 2023-06-19 15:57:25 +02:00
env Remove support for DATABRICKS_BUNDLE_INCLUDES (#1317) 2024-03-27 10:13:54 +00:00
internal Add `bundle debug terraform` command (#1294) 2024-04-02 12:56:27 +00:00
libraries Move path field to bundle type (#1316) 2024-03-27 09:03:24 +00:00
metadata Make `file_path` and `artifact_path` fields consistent with json tag (#987) 2023-11-15 13:37:26 +00:00
permissions Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
phases Load bundle configuration from mutator (#1318) 2024-03-27 10:49:05 +00:00
python Move path field to bundle type (#1316) 2024-03-27 09:03:24 +00:00
run Add `--validate-only` flag to run validate-only pipeline update (#1251) 2024-03-04 08:38:32 +00:00
schema Fix the generated DABs JSON schema (#1322) 2024-03-28 11:25:36 +00:00
scripts Move path field to bundle type (#1316) 2024-03-27 09:03:24 +00:00
tests Add allow list for resources when bundle `run_as` is set (#1233) 2024-03-27 16:13:53 +00:00
bundle.go Load bundle configuration from mutator (#1318) 2024-03-27 10:49:05 +00:00
bundle_test.go Load bundle configuration from mutator (#1318) 2024-03-27 10:49:05 +00:00
context.go Rename variable `bundle -> b` (#989) 2023-11-15 14:03:36 +00:00
context_test.go Add command that writes the materialized bundle configuration to stdout (#95) 2022-11-21 15:39:53 +01:00
deferred.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
deferred_test.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
log_string.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
mutator.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
mutator_test.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
root.go Move folders package into libs (#1184) 2024-02-07 16:33:18 +00:00
root_test.go Remove support for DATABRICKS_BUNDLE_INCLUDES (#1317) 2024-03-27 10:13:54 +00:00
seq.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
seq_test.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00