CLI needs internet access to download additional components
Describe the issue
When using the CLI to interact with Databricks Asset Bundles, it needs to fetch and install some Terraform libraries. This causes problems when installing the CLI in a Docker image and then using that CLI in an airgapped environment.
This is a re-raising of the issue brought up in https://github.com/databricks/cli/issues/1238#issuecomment-2671229292 since it's been a while since that was posted and I still have no idea when a solution will be available.
Steps to reproduce the behavior
- Install CLI
- block access to hasicorp.com
- try to run
databricks bundle ...
Expected Behavior
I would expect to be able to install all transitive dependencies when running the installer, and not have them dynamically installed later.
Actual Behavior
I have to manually install and configure terraform, or use a standalone Docker image, which does not really fit with my workflow here.
OS and CLI version
NA
Is this a regression?
No
Debug Logs
NA
Long term we're planning to stop depending on downloaded terraform binary.
Short term, you can set up docker image by pre-downloading the needed binaries and setting up some environment variables. We do that in our own tests. See https://github.com/databricks/cli/blob/main/acceptance/install_terraform.py
This issue has not received a response in a while. If you want to keep this issue open, please leave a comment below and auto-close will be canceled.
Is there any update on plans to stop depending on the downloaded binary?
This issue has not received a response in a while. If you want to keep this issue open, please leave a comment below and auto-close will be canceled.
Is there any update on plans to stop depending on the downloaded binary?
Yes, we're working on new deployment method that does not use terraform and that would make databricks cli binary self sufficient. Expected to be ready to use in 2 months.
Could you say more about the new deployment method, or share any docs on the design? We're making long term plans on how we want to interface with Asset Bundles and it would be useful to understand your thinking here.
If internet access is required, can the team provide a full list of urls required in using databricks cli? If the build agent is hosted in a secure (private virtual network environment), those urls would be required for whitelisting.
Yes, we're working on new deployment method that does not use terraform and that would make databricks cli binary self sufficient. Expected to be ready to use in 2 months.
Any updates? Is there public roadmap, or Github issue, tracking this change?