Feature request: native bundle variable substitution in explicitly selected files
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Start by reading the bundle configuration and deployment staging entry points, then trace how target variables are resolved and applied to native bundle configuration. The issue does not name specific files or tests; identify the relevant implementation and tests for file selection, rendering, and staging. Done means an opt-in workflow renders selected files from the resolved target context without modifying sources and covers the requested errors, escaping, sensitive values, and notebook behavior.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Feature request
Support opt-in deployment-time substitution of bundle variables in additional files and directories, using the same resolved context as native bundle configuration.
For example, a bundle could explicitly select SQL migrations, JSON/YAML configuration files, and notebook sources containing ${var.<name>}. The CLI would prepare rendered copies for deployment or for use by an external deployment step.
Example use case
The bundle defines catalog and schema variables, with different values per target. A separate SQL file contains:
CREATE TABLE IF NOT EXISTS `${var.target_catalog}`.`${var.target_schema}`.example (
id BIGINT
);
A JSON payload contains:
{
"catalog": "${var.target_catalog}",
"schema": "${var.target_schema}"
}
We would like to select these files by path, directory, or glob and have Databricks apply native variable resolution when preparing them for the selected target.
Current workaround and cost
We maintain a separate renderer in a deployment wrapper. It gets values from bundle validate -o json, substitutes them into additional files, and restores the working tree afterward.
This duplicates file-rendering and lifecycle work. It also couples the wrapper to validation-output redaction: with UC secrets present, unrelated string variable values are redacted even though native deployment has the actual values internally.
Reading defaults and resolving overrides ourselves would create a second implementation of Databricks bundle semantics. We want the CLI to own resolution.
Requested capability
- Explicitly opt in files, directories, or globs; ordinary synchronized files should keep their current behavior by default.
- Use the selected target's native resolution, including shared configuration, existing variable precedence, lookups, and substitutions.
- Prepare rendered copies without modifying source files in the working tree.
- Offer the rendered files through deployment staging and/or an output directory usable by external pre/post-deployment steps. A deployment-only upload transform would not cover SQL migrations executed by another tool.
- Report unresolved references with file locations and provide a way to keep literal placeholder syntax.
- Define escaping and type behavior for supported formats. For
.ipynb, substitute cell source without rewriting outputs or metadata. - Define sensitive-value handling so substitutions cannot inadvertently appear in logs or source control; document any restrictions.
The configuration key and command shape are up to the maintainers. The core request is reuse of the native resolved bundle context for explicitly selected file contents.
Benefit
This would let consumers keep a single source of truth for target-specific values, reduce custom renderers and Git restoration logic, and avoid depending on display-output redaction for file preparation.
Native file rendering would solve the payload-preparation portion of our wrapper. External SQL execution would still need a supported way to obtain its non-secret connection settings, such as the warehouse ID.
Related issue
#6000 describes a related JSON/SQL substitution need for Genie. This request is broader: explicitly selected file contents and rendered output that external deployment steps can consume.
If a supported workflow already provides this capability, a pointer to it would be appreciated.
- Ngôn ngữ chính
- Go
- Star
- 409
- Fork
- 253
- Merge trung bình
- 1 ngày 11 giờ
- Pull request đã merge (30 ngày)
- 212
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của databricks/cli
-
Apps commands only accept relative path to app.ymlCó thể đã có người làm @yuri-rod đã nhận 16 ngày trước. Đang mởCLI
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
databricks/cli#6910 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
DABs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
databricks/cli#6670 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bundle validate does not catch missing trigger.table_update.condition with multiple tablesCó thể đã có người làm @yuri-rod đã nhận 2 ngày trước. Đang mởDABs Enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
databricks/cli#7101 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
DABs Enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
databricks/cli#7099 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
DABs
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
databricks/cli#7032 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của databricks/cli
Issue tương tự
-
🕷️ bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
sysadminsmedia/homebox#1805 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
router-for-me/CLIProxyAPI#6851 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
usage: a custom provider's balance meters ("…%" in the balance path) ignore the Left/Used switchĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[bug]: docs: Update webhook delete examples to use the correct flag (--webhook-id)Có thể đã có người làm @MuhammadHassan968 đã nhận hôm nay. Đang mởbug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 84/100
goharbor/harbor-cli#1127 ·
Maintainer thường phản hồi trong vòng 12 ngày