Installation¶
dsc-databricks is a single executable. It implements the Microsoft DSC
capabilities and follows the contract to talk against the engine.
To install it, put that executable
somewhere on your PATH, generate the resource manifests the DSC engine
reads, and point the engine at them.
Whilsts you can call the binary on its own: get, set, test, delete and
export each act on one resource instance and print JSON, which suits
scripting and debugging a single resource. The Microsoft DSC engine adds the
declarative flavor on top. It reads a whole configuration document, orders
the resources by their dependencies, decides per instance whether to create,
update or delete, reports one diff for the run, and predicts all of it with
what-if before you commit. Most of this documentation assumes you drive the
resources that way.
So install both. dsc-databricks implements resources, not the engine that
drives them — see What the fork keeps and drops for where that line
sits.
Step 1: Install the Microsoft DSC engine¶
Install the engine, version 3.2 or later, with the PSDSC module:
Verify the installation:
Why 3.2 or later
Each manifest advertises what-if through the set method's
whatIfArg. Engines older than 3.2 do not understand that manifest
shape and will not offer dsc config set -w.
Step 2: Install Databricks DSC CLI¶
dsc-databricks is a CLI utility available on Windows, Linux, and
macOS on both amd64 and arm64. Windows users can easily install
it using winget.exe. For the other operationg systems, it can be taken
from an archive from the releases page.
winget places the executable on your PATH. Confirm it resolves:
Download the archive for your platform and extract it, for example to
C:\dsc-resources\databricks or
~/.local/share/dsc-resources/databricks.
Add the directory to your PATH, or call the executable by its full
path in the next step.
Step 3: Generate the resource manifests¶
The engine discovers resources from manifest files, not from the executable.
dsc-databricks writes those manifests itself, one per resource type:
This produces one libredsc.databricks.<name>.dsc.resource.json file per
resource type.
Where you write them decides whether you need step 4. dsc searches every
folder on your PATH, so manifests that land in a folder already on PATH
— next to the executable, after a manual install — need no further
configuration. Write them anywhere else and you point the engine at them
yourself.
winget installs still need this step
winget puts the binary on your PATH but places no manifests, and its
shim directory is not somewhere you want to write them. Pick a directory
of your own and follow step 4. Re-run manifest --out-dir after
upgrading, so the manifests match the binary.
(Optional) Step 4: Point the engine at the manifests¶
Skip this step if step 3 wrote the manifests to a folder that is already on
your PATH; the engine searches those folders on its own. Otherwise set
DSC_RESOURCE_PATH to the directory holding the manifests:
Always make sure the above is set permanently if you use DSC's engine.
DSC_RESOURCE_PATH replaces PATH
Once you define it, the engine searches those folders instead of
PATH, not in addition to it. List every directory holding manifests
you want discovered, separated by ; on Windows and : elsewhere, or
resources you previously relied on will disappear.
Step 5: Verify¶
All resources should be listed:
Type Kind Version Capabilities
-------------------------------------------------------------------------
LibreDsc.Databricks/AccountUser resource 0.1.0 gs-t-d---e---
LibreDsc.Databricks/Catalog resource 0.1.0 gs-t-d---e---
...
LibreDsc.Databricks/WorkspaceSetting resource 0.1.0 gs---d---e---
An empty list means the engine did not find the manifests. Check that step 3
actually wrote files, and that their directory is either on your PATH or
listed in DSC_RESOURCE_PATH.
Step 6: Authenticate¶
Resources reach the workspace through the Databricks SDK for Go, which reads its credentials from the environment:
$env:DATABRICKS_HOST = 'https://adb-1234567890123456.7.azuredatabricks.net'
$env:DATABRICKS_TOKEN = '<your-personal-access-token>'
Configuration profiles, Microsoft Entra service principals and the other supported methods are covered in How to authenticate to Databricks.
Next steps¶
- Basic usage of dsc-databricks — a full create, read and delete round trip.
- Why dsc-databricks is a trimmed Databricks CLI — where the binary comes from and why it is shaped this way.
- Resources — every resource type and its capabilities.