Databricks CLI
Go to file
Pieter Noordhuis 42d29f92c9
Pass through $HOME when invoking Terraform (#319)
## Changes

This is useful when developing the Databricks Terraform provider where
you keep a local-only build of the provider and refer to it using $HOME
from `~/.terraformrc`, for example like this:

```
plugin_cache_dir = "$HOME/.terraform.d/plugin-cache"
```

## Tests

That $HOME is passed through cannot be tested as is because the
`tfexec.Terraform` struct doesn't expose it through public fields or
methods. What can be tested is a successful run of the initialize
mutator and this is included in this commit.
2023-04-11 13:11:31 +02:00
.github Build snapshot release for demo branches (#292) 2023-03-29 21:43:21 +02:00
.vscode Let vscode trim whitespace on save (#172) 2023-01-23 09:52:50 +01:00
bundle Pass through $HOME when invoking Terraform (#319) 2023-04-11 13:11:31 +02:00
cmd Add bundle destroy command (#300) 2023-04-06 12:54:58 +02:00
docs Add structured logging infrastructure (#246) 2023-03-16 14:46:53 +01:00
experimental/github Make tests pass (#40) 2022-09-07 20:08:42 +02:00
folders Don't depend on working directory in folders.FindDirWithLeaf (#54) 2022-09-14 15:08:55 +02:00
internal Acquire lock prior to deploy (#270) 2023-03-22 16:37:26 +01:00
libs Add bundle destroy command (#300) 2023-04-06 12:54:58 +02:00
project Hardcode `.databricks` ignore pattern to ensure we never sync the cache directory (#295) 2023-04-04 15:44:57 +02:00
python Use new logger throughout codebase (#256) 2023-03-17 15:17:31 +01:00
retries Use new logger throughout codebase (#256) 2023-03-17 15:17:31 +01:00
sandbox updated dependencies 2022-05-14 19:56:09 +02:00
terraform Use new logger throughout codebase (#256) 2023-03-17 15:17:31 +01:00
.gitignore Implement Terraform state synchronization and deploy (#98) 2022-12-06 00:40:45 +01:00
.goreleaser.yaml Include commit hash in snapshot version (#193) 2023-02-20 15:46:57 +01:00
Makefile updated dependencies 2022-05-14 19:56:09 +02:00
README.md Update README.md 2022-05-16 13:31:47 +02:00
go.mod Bump golang.org/x/term from 0.6.0 to 0.7.0 (#317) 2023-04-11 11:39:21 +02:00
go.sum Bump golang.org/x/term from 0.6.0 to 0.7.0 (#317) 2023-04-11 11:39:21 +02:00
main.go Move and hide launch and test commands (#222) 2023-03-09 10:26:56 +01:00
main_test.go Configure user agent in root command (#195) 2023-02-03 16:47:33 +01:00

README.md

Bricks CLI 🧱 build

Where's "data"? Secured by the unity catalog. Projects build lifecycle is secured by bricks 🧱

This is an early PoC at this stage. make build (or download the latest from releases page).

Reuses authentication from Databricks CLI. And terraform provider. See details here: https://registry.terraform.io/providers/databrickslabs/databricks/latest/docs#environment-variables

Supports:

  • Databricks CLI
  • Databricks CLI Profiles
  • Azure CLI Auth
  • Azure MSI Auth
  • Azure SPN Auth
  • Google OIDC Auth
  • Direct DATABRICKS_HOST, DATABRICKS_TOKEN or DATABRICKS_USERNAME + DATABRICKS_PASSWORD variables.

What works:

  • ./bricks fs ls /
  • ./bricks test
  • ./bricks launch test.py

What doesn't work:

  • Everything else.

This project reuses some code from Databricks Terraform Provider