Databricks CLI
Go to file
Denis Bilenko 4034766c93
acc: Simplify writing handlers; support headers in responses (#2338)
## Changes

Handlers now receive testserver.Request and return any which could be
- string or []byte (returns it as is but sets content-type to json or
plain text depending on content)
- struct (encodes it as json and sets content-type to json)
- testserver.Response (full control over status and headers)

Note if testserver.Response is returned from the handler, it's Body
attribute can still be an object. In that case, it'll be serialized and
appropriate content-type header will be added.

The config is now using the same testserver.Response struct, the same
logic applies both configured responses and responses returned from
handlers.

As a result, one can set headers both in Golang handlers and in
test.toml.

This also fixes a bug with RecordRequest not seeing the body if it was
already consumed by the handler.

## Tests
- Existing rests. 
- acceptance/selftest/server is extended to set response header.
2025-02-12 13:00:57 +00:00
.codegen Bump github.com/databricks/databricks-sdk-go from 0.56.1 to 0.57.0 (#2321) 2025-02-10 12:50:52 +00:00
.github Update CODEOWNERS for cmd/labs (#2295) 2025-02-04 21:20:02 +00:00
.vscode Remove unused vscode settings in the templates (#2013) 2024-12-13 16:13:21 +00:00
acceptance acc: Simplify writing handlers; support headers in responses (#2338) 2025-02-12 13:00:57 +00:00
bundle Upgrade to TF provider 1.65.1 (#2328) 2025-02-10 14:06:02 +00:00
cmd Append newline to "-o json" for validate/summary/run (#2326) 2025-02-10 14:00:49 +01: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 Update app deploy test to confirm app config changes on redeploy (#2301) 2025-02-07 14:54:24 +00:00
internal Add NoLog option on testcli.Runner (#2183) 2025-01-20 09:57:48 +01:00
libs acc: Simplify writing handlers; support headers in responses (#2338) 2025-02-12 13:00:57 +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.56.1 to 0.57.0 (#2321) 2025-02-10 12:50:52 +00:00
.gitignore Do not gitignore .databricks and terraform (#2318) 2025-02-10 11:42:39 +01: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.240.0 (#2264) 2025-01-29 16:55:53 +01: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 acc: Do not show all replacements on every failure (#2331) 2025-02-11 09:38:53 +00:00
NOTICE acc: Allow mixing custom stubs with default server impl (#2334) 2025-02-11 15:03:41 +00:00
README.md Add privacy notice to README (#1841) 2024-10-28 18:19:55 +00:00
go.mod acc: Allow mixing custom stubs with default server impl (#2334) 2025-02-11 15:03:41 +00:00
go.sum acc: Allow mixing custom stubs with default server impl (#2334) 2025-02-11 15:03:41 +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
ruff.toml Add ruff.toml with increased line-length (#2268) 2025-01-30 09:52:41 +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.