Databricks CLI
Go to file
Hari Selvarajan fa0a734b3c
Enable offline install of labs projects (#2049)
## Changes
<!-- Summary of your changes that are easy to understand -->
This PR makes changes to the labs code base to allow for offline
installation of labs projects (like UCX). By passing a flag
--offline=true, the code will skip checking for project versions and
download code from GitHub and instead will look from the local
installation folder. This cmd is useful in systems where there is
internet restriction, the user should follow a set-up as follows:

- install a labs project on a machine which has internet
- zip and copy the file to the intended machine and 
- run databricks labs install <project name>--offline=true
it will look for the code in the same install directory and if present
load from there.


Closes #1646 

related to https://github.com/databrickslabs/ucx/issues/3418
## Tests
<!-- How is this tested? -->

Added unit test case and tested.

NO_CHANGELOG=true

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Pieter Noordhuis <pieter.noordhuis@databricks.com>
Co-authored-by: Lennart Kats (databricks) <lennart.kats@databricks.com>
Co-authored-by: Denis Bilenko <denis.bilenko@databricks.com>
Co-authored-by: Julia Crawford (Databricks) <julia.crawford@databricks.com>
Co-authored-by: Ilya Kuznetsov <ilya.kuznetsov@databricks.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Nester <andrew.nester@databricks.com>
Co-authored-by: Anton Nekipelov <226657+anton-107@users.noreply.github.com>
Co-authored-by: shreyas-goenka <88374338+shreyas-goenka@users.noreply.github.com>
2025-03-10 10:01:17 +00:00
.codegen Move `WorkspaceClient` to `libs/command` (#2444) 2025-03-07 16:47:19 +00:00
.github Removed Changelog check Github Action (#2453) 2025-03-10 09:12:46 +00:00
.vscode Update VSCode settings to resolve files named `script` as shell scripts (#2419) 2025-03-05 10:02:40 +00:00
acceptance Fixed "can't evaluate field Name in type interface{}" for `databricks queries list` (#2451) 2025-03-10 08:05:15 +00:00
bundle Adapt docsgen output for new documentation framework (#2262) 2025-03-07 18:11:08 +00:00
cmd Enable offline install of labs projects (#2049) 2025-03-10 10:01:17 +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 Move `WorkspaceClient` to `libs/command` (#2444) 2025-03-07 16:47:19 +00:00
internal Add the `auth.ProcessEnv` function (#2404) 2025-03-04 14:47:11 +00:00
libs Move `WorkspaceClient` to `libs/command` (#2444) 2025-03-07 16:47:19 +00:00
.codegen.json Enable Automated tagging workflow (#2361) 2025-03-06 15:30:01 +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 add .idea to .gitignore (#2375) 2025-02-25 12:17:50 +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
.package.json Enable Automated tagging workflow (#2361) 2025-03-06 15:30:01 +00:00
CHANGELOG.md [Release] Release v0.243.0 (#2435) 2025-03-05 15:42:40 +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 Disable ruff cache (#2430) 2025-03-05 08:45:51 +01:00
NEXT_CHANGELOG.md Fixed "can't evaluate field Name in type interface{}" for `databricks queries list` (#2451) 2025-03-10 08:05:15 +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 Upgrade Go SDK to 0.59.0 (#2425) 2025-03-05 10:20:51 +00:00
go.sum Upgrade Go SDK to 0.59.0 (#2425) 2025-03-05 10:20: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
ruff.toml Enable Automated tagging workflow (#2361) 2025-03-06 15:30:01 +00:00
tagging.py Enable Automated tagging workflow (#2361) 2025-03-06 15:30:01 +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.