Databricks CLI
Go to file
shreyas-goenka 884b5f26ed
Set bundle auth configuration in command context (#2195)
## Changes

This change is required to enable tracking execution time telemetry for
bundle commands. In order to track execution time for the command
generally, we need to have the databricks auth configuration available
at this section of the code:


41bbd89257/cmd/root/root.go (L99)

In order to do this we can rely on the `configUsed` context key.   

Most commands rely on the `root.MustWorkspaceClient` function which
automatically sets the client config in the `configUsed` context key.
Bundle commands, however, do not do so. They instead store their
workspace clients in the `&bundle.Bundle{}` object.

With this PR, the `configUsed` context key will be set for all `bundle`
commands. Functionally nothing changes.

## Tests
Existing tests. Also manually verified that either
`root.MustConfigureBundle` or `utils.ConfigureBundleWithVariables` is
called for all bundle commands (except `bundle init`) thus ensuring this
context key would be set for all bundle commands.

refs for the functions:
1. `root.MustConfigureBundle`:
41bbd89257/cmd/root/bundle.go (L88)
2. `utils.ConfigureBundleWithVariables`:
41bbd89257/cmd/bundle/utils/utils.go (L19)

---------

Co-authored-by: Pieter Noordhuis <pieter.noordhuis@databricks.com>
2025-01-29 11:02:08 +00:00
.codegen Bump github.com/databricks/databricks-sdk-go from 0.55.0 to 0.56.1 (#2238) 2025-01-27 13:11:07 +00:00
.github CI: Move ruff to 'lint' job (#2232) 2025-01-27 10:33:16 +00:00
.vscode Remove unused vscode settings in the templates (#2013) 2024-12-13 16:13:21 +00:00
acceptance Move TestServer from acceptance to libs/testserver (#2255) 2025-01-29 10:42:21 +00:00
bundle Set bundle auth configuration in command context (#2195) 2025-01-29 11:02:08 +00:00
cmd Set bundle auth configuration in command context (#2195) 2025-01-29 11:02:08 +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
integration Do not wait for app compute to start on `bundle deploy` (#2144) 2025-01-28 17:17:37 +00:00
internal Add NoLog option on testcli.Runner (#2183) 2025-01-20 09:57:48 +01:00
libs Move TestServer from acceptance to libs/testserver (#2255) 2025-01-29 10:42:21 +00:00
.codegen.json Custom annotations for bundle-specific JSON schema fields (#1957) 2024-12-18 10:19:14 +00:00
.git-blame-ignore-revs Add .git-blame-ignore-revs with linter-related mass change commits (#2000) 2024-12-12 10:54:00 +01:00
.gitattributes Bump github.com/databricks/databricks-sdk-go from 0.55.0 to 0.56.1 (#2238) 2025-01-27 13:11:07 +00:00
.gitignore Format Python code with ruff (#2166) 2025-01-17 07:38:47 +00:00
.golangci.yaml Fix incorrect TestingT.Errorf usage and enable linting for this (#2182) 2025-01-20 08:07:42 +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.239.1 (#2218) 2025-01-23 15:54:55 +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 Run tests with coverage on CI (#2141) 2025-01-20 15:41:24 +00:00
NOTICE acc: Support per-test configuration; GOOS option to disable OS (#2227) 2025-01-24 14:28:23 +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.55.0 to 0.56.1 (#2238) 2025-01-27 13:11:07 +00:00
go.sum Bump github.com/databricks/databricks-sdk-go from 0.55.0 to 0.56.1 (#2238) 2025-01-27 13:11:07 +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.