Databricks CLI
Go to file
Denis Bilenko 0ad790e468
Properly read Git metadata when running inside workspace (#1945)
## Changes

Since there is no .git directory in Workspace file system, we need to
make an API call to api/2.0/workspace/get-status?return_git_info=true to
fetch git the root of the repo, current branch, commit and origin.

Added new function FetchRepositoryInfo that either looks up and parses
.git or calls remote API depending on env.

Refactor Repository/View/FileSet to accept repository root rather than
calculate it. This helps because:
- Repository is currently created in multiple places and finding the
repository root is becoming relatively expensive (API call needed).
- Repository/FileSet/View do not have access to current Bundle which is
where WorkplaceClient is stored.

## Tests

- Tested manually by running "bundle validate --json" inside web
terminal within Databricks env.
- Added integration tests for the new API.

---------

Co-authored-by: Andrew Nester <andrew.nester@databricks.com>
Co-authored-by: Pieter Noordhuis <pieter.noordhuis@databricks.com>
2024-12-05 10:13:13 +00:00
.codegen Bump github.com/databricks/databricks-sdk-go from 0.51.0 to 0.52.0 (#1931) 2024-11-28 15:33:51 +00:00
.github Add golangci-lint v1.62.2 (#1953) 2024-12-04 17:40:19 +00:00
.vscode Add golangci-lint v1.62.2 (#1953) 2024-12-04 17:40:19 +00:00
bundle Properly read Git metadata when running inside workspace (#1945) 2024-12-05 10:13:13 +00:00
cmd Properly read Git metadata when running inside workspace (#1945) 2024-12-05 10:13:13 +00:00
docker Followup improvements to the Docker setup script (#1369) 2024-04-18 20:52:11 +00:00
docs Removed autogenerated docs for the CLI commands (#1392) 2024-04-23 13:25:25 +00:00
internal Properly read Git metadata when running inside workspace (#1945) 2024-12-05 10:13:13 +00:00
libs Properly read Git metadata when running inside workspace (#1945) 2024-12-05 10:13:13 +00:00
.codegen.json Breakout variable lookup into separate files and tests (#1921) 2024-11-21 11:28:50 +01:00
.gitattributes Breakout variable lookup into separate files and tests (#1921) 2024-11-21 11:28:50 +01:00
.gitignore Add a foundation for built-in templates (#685) 2023-08-25 09:03:42 +00:00
.golangci.yaml Add golangci-lint v1.62.2 (#1953) 2024-12-04 17:40:19 +00:00
.goreleaser.yaml Address goreleaser deprecation warning (#1872) 2024-10-31 12:09:23 +00:00
.mockery.yaml Use mockery to generate mocks compatible with testify/mock (#1190) 2024-02-08 15:18:53 +00:00
CHANGELOG.md [Release] Release v0.235.0 (#1918) 2024-11-20 14:48:18 +00:00
Dockerfile Followup improvements to the Docker setup script (#1369) 2024-04-18 20:52:11 +00:00
LICENSE Trim trailing whitespace (#1206) 2024-02-15 16:23:48 +00:00
Makefile Add golangci-lint v1.62.2 (#1953) 2024-12-04 17:40:19 +00:00
NOTICE Add NOTICE for using Terraform 1.5.5 licensed under MPL 2.0 (#1377) 2024-04-19 11:44:05 +00:00
README.md Add privacy notice to README (#1841) 2024-10-28 18:19:55 +00:00
go.mod Bump github.com/databricks/databricks-sdk-go from 0.51.0 to 0.52.0 (#1931) 2024-11-28 15:33:51 +00:00
go.sum Bump github.com/databricks/databricks-sdk-go from 0.51.0 to 0.52.0 (#1931) 2024-11-28 15:33:51 +00:00
main.go Add regression tests for CLI error output (#1566) 2024-07-10 06:38:06 +00:00
main_test.go Fix ability to import the CLI repository as module (#1671) 2024-08-12 14:20:04 +00:00

README.md

Databricks CLI

build

This project is in Public Preview.

Documentation is available at https://docs.databricks.com/dev-tools/cli/databricks-cli.html.

Installation

This CLI is packaged as a dependency-free binary executable and may be located in any directory. See https://github.com/databricks/cli/releases for releases and the Databricks documentation for detailed information about installing the CLI.


Homebrew

We maintain a Homebrew tap for installing the Databricks CLI. You can find instructions for how to install, upgrade and downgrade the CLI using Homebrew here.


Docker

You can use the CLI via a Docker image by pulling the image from ghcr.io. You can find all available versions at: https://github.com/databricks/cli/pkgs/container/cli.

docker pull ghcr.io/databricks/cli:latest

Example of how to run the CLI using the Docker image. More documentation is available at https://docs.databricks.com/dev-tools/bundles/airgapped-environment.html.

docker run -e DATABRICKS_HOST=$YOUR_HOST_URL -e DATABRICKS_TOKEN=$YOUR_TOKEN ghcr.io/databricks/cli:latest current-user me

Authentication

This CLI follows the Databricks Unified Authentication principles.

You can find a detailed description at https://github.com/databricks/databricks-sdk-go#authentication.

Privacy Notice

Databricks CLI use is subject to the Databricks License and Databricks Privacy Notice, including any Usage Data provisions.