## Changes This PR adds a library for spawning a daemon process. Our needs are different from those of a typical daemon process in that we want to handle being orphaned gracefully. This is because, in the vast majority of telemetry use cases, the main CLI process (i.e., the parent process) will exit before the telemetry process has a chance to finish uploading the logs. To achieve this we "detach" the child process from the parent process, which requires different flags for UNIX vs. non-unix systems. Here are the properties that we want to ensure for our telemetry child/daemon processes: 1. They do not block the parent process. Reason: The main CLI process should not be blocked on the telemetry child process. 2. The child can read from stdin. The parent can write to stdin. Reason: Telemetry logs will be passed to the child process via stdin. 3. Output logs do not leak from the child process. Reason: Telemetry logs should not be visible to users of the CLI. ## Tests Unit test |
||
---|---|---|
.codegen | ||
.github | ||
.vscode | ||
acceptance | ||
bundle | ||
cmd | ||
docker | ||
docs | ||
integration | ||
internal | ||
libs | ||
.codegen.json | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.golangci.yaml | ||
.goreleaser.yaml | ||
.mockery.yaml | ||
CHANGELOG.md | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
NOTICE | ||
README.md | ||
go.mod | ||
go.sum | ||
main.go | ||
main_test.go | ||
ruff.toml |
README.md
Databricks CLI
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.