Databricks CLI
Go to file
Pieter Noordhuis a7bf7ba6c5
Reload .gitignore files if they have changed (#190)
This commit changes the code in repository.go to lazily load gitignore
files as opposed to the previous eager approach. This means that the
signature of the `Ignore` function family has changed to return `(bool,
error)`.

This lazy approach fits better when other code is responsible for
recursively walking the file tree, because we never know up front which
gitignore files need to be loaded to compute the ignores. It also means
we no longer have to "prime" the `Repository` instance with a particular
directory we're interested in and rather let calls to `Ignore` load
whatever is needed.

The fileset wrapper under `git/` internally taints all gitignore objects
to force a call to [os.Stat] followed by a reload if they have changed,
before calling into the [fileset.FileSet] functions for recursively
listing files.
2023-01-31 18:34:36 +01:00
.github Work on release actions (#153) 2022-12-22 11:01:50 +01:00
.vscode Let vscode trim whitespace on save (#172) 2023-01-23 09:52:50 +01:00
bundle Add function to opportunistically load a bundle (#180) 2023-01-27 16:57:39 +01:00
cmd Move bundle loading functions to top level (#181) 2023-01-27 17:05:57 +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
git Reload .gitignore files if they have changed (#190) 2023-01-31 18:34:36 +01:00
internal Update sync defaults (#177) 2023-01-24 15:06:59 +01:00
libs Reload .gitignore files if they have changed (#190) 2023-01-31 18:34:36 +01:00
project Reload .gitignore files if they have changed (#190) 2023-01-31 18:34:36 +01:00
python Update to Go SDK v0.2.0 (#157) 2022-12-28 11:32:04 +01:00
retries Experimental sync command 2022-07-07 20:56:59 +02:00
sandbox updated dependencies 2022-05-14 19:56:09 +02:00
terraform Ensure Go code is formatted (#37) 2022-09-07 15:15:23 +02:00
.gitignore Implement Terraform state synchronization and deploy (#98) 2022-12-06 00:40:45 +01:00
.goreleaser.yaml Remove version suffix from snapshot binaries (#159) 2023-01-03 12:15:21 +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 Add command for generating JSON schema for DABs bundle config (#171) 2023-01-23 15:00:11 +01:00
go.sum Bump golang.org/x/text from 0.5.0 to 0.6.0 (#163) 2023-01-13 15:27:40 +01:00
main.go Added `bricks auth login` and `bricks auth token` (#158) 2023-01-06 16:15:57 +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