From b43c4ec6809f0ec09408e6a6ed4439a20e3197c3 Mon Sep 17 00:00:00 2001 From: Ilya Kuznetsov Date: Mon, 29 Dec 2025 18:47:21 +0100 Subject: [PATCH 1/2] Add name, target and mode to deployment metadata --- .../bundle/resources/jobs/check-metadata/databricks.yml.tmpl | 4 ++++ acceptance/bundle/resources/jobs/check-metadata/script | 5 +++++ .../bundle/user_agent/simple/out.requests.deploy.direct.json | 2 ++ .../user_agent/simple/out.requests.deploy.terraform.json | 2 ++ bundle/deploy/metadata/compute.go | 5 +++++ bundle/deploy/metadata/compute_test.go | 4 ++++ bundle/metadata/metadata.go | 5 ++++- 7 files changed, 26 insertions(+), 1 deletion(-) diff --git a/acceptance/bundle/resources/jobs/check-metadata/databricks.yml.tmpl b/acceptance/bundle/resources/jobs/check-metadata/databricks.yml.tmpl index 16cf326a9e..e71aa51f64 100644 --- a/acceptance/bundle/resources/jobs/check-metadata/databricks.yml.tmpl +++ b/acceptance/bundle/resources/jobs/check-metadata/databricks.yml.tmpl @@ -1,6 +1,10 @@ bundle: name: deploy-jobs-check-metadata-$UNIQUE_NAME +targets: + default: + mode: development + workspace: root_path: ~/.bundle/$UNIQUE_NAME diff --git a/acceptance/bundle/resources/jobs/check-metadata/script b/acceptance/bundle/resources/jobs/check-metadata/script index 17706bf2ec..0445fa0bf8 100644 --- a/acceptance/bundle/resources/jobs/check-metadata/script +++ b/acceptance/bundle/resources/jobs/check-metadata/script @@ -31,3 +31,8 @@ trace cat metadata.json title "Check that metadata contains created job ids" trace cat metadata.json | grep "${JOB_1_ID}" trace cat metadata.json | grep "${JOB_2_ID}" + +title "Check that metadata contains bundle name, target, and mode" +trace cat metadata.json | jq '.config.bundle.name' +trace cat metadata.json | jq '.config.bundle.target' +trace cat metadata.json | jq '.config.bundle.mode' diff --git a/acceptance/bundle/user_agent/simple/out.requests.deploy.direct.json b/acceptance/bundle/user_agent/simple/out.requests.deploy.direct.json index 951a4ad7f2..cf75893d6d 100644 --- a/acceptance/bundle/user_agent/simple/out.requests.deploy.direct.json +++ b/acceptance/bundle/user_agent/simple/out.requests.deploy.direct.json @@ -193,6 +193,8 @@ "version": 1, "config": { "bundle": { + "name": "test-bundle", + "target": "default", "git": { "bundle_root_path": "." } diff --git a/acceptance/bundle/user_agent/simple/out.requests.deploy.terraform.json b/acceptance/bundle/user_agent/simple/out.requests.deploy.terraform.json index ff5a3f7bc4..b45d5e04f6 100644 --- a/acceptance/bundle/user_agent/simple/out.requests.deploy.terraform.json +++ b/acceptance/bundle/user_agent/simple/out.requests.deploy.terraform.json @@ -193,6 +193,8 @@ "version": 1, "config": { "bundle": { + "name": "test-bundle", + "target": "default", "git": { "bundle_root_path": "." } diff --git a/bundle/deploy/metadata/compute.go b/bundle/deploy/metadata/compute.go index 3d8ee852d7..9226f08d25 100644 --- a/bundle/deploy/metadata/compute.go +++ b/bundle/deploy/metadata/compute.go @@ -36,6 +36,11 @@ func (m *compute) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostics BundleRootPath: b.Config.Bundle.Git.BundleRootPath, } + // Set bundle name, target, and mode + b.Metadata.Config.Bundle.Name = b.Config.Bundle.Name + b.Metadata.Config.Bundle.Target = b.Config.Bundle.Target + b.Metadata.Config.Bundle.Mode = string(b.Config.Bundle.Mode) + // Set job config paths in metadata jobsMetadata := make(map[string]*metadata.Resource) for name, job := range b.Config.Resources.Jobs { diff --git a/bundle/deploy/metadata/compute_test.go b/bundle/deploy/metadata/compute_test.go index 47ab4a1241..ee77904f83 100644 --- a/bundle/deploy/metadata/compute_test.go +++ b/bundle/deploy/metadata/compute_test.go @@ -29,6 +29,7 @@ func TestComputeMetadataMutator(t *testing.T) { Bundle: config.Bundle{ Name: "my-bundle", Target: "development", + Mode: config.Development, Git: config.Git{ Branch: "my-branch", OriginURL: "www.host.com", @@ -81,6 +82,9 @@ func TestComputeMetadataMutator(t *testing.T) { FilePath: "/Users/shreyas.goenka@databricks.com/files", }, Bundle: metadata.Bundle{ + Name: "my-bundle", + Target: "development", + Mode: "development", Git: config.Git{ Branch: "my-branch", OriginURL: "www.host.com", diff --git a/bundle/metadata/metadata.go b/bundle/metadata/metadata.go index e1e6a8903d..328b9d1a11 100644 --- a/bundle/metadata/metadata.go +++ b/bundle/metadata/metadata.go @@ -7,7 +7,10 @@ import ( const Version = 1 type Bundle struct { - Git config.Git `json:"git,omitempty"` + Name string `json:"name,omitempty"` + Target string `json:"target,omitempty"` + Mode string `json:"mode,omitempty"` + Git config.Git `json:"git,omitempty"` } type Workspace struct { From 074e25935e164b1a0b21c5beaddcbe0574cb6caf Mon Sep 17 00:00:00 2001 From: Ilya Kuznetsov Date: Tue, 30 Dec 2025 14:31:40 +0100 Subject: [PATCH 2/2] Generate script output --- .../resources/jobs/check-metadata/output.txt | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/acceptance/bundle/resources/jobs/check-metadata/output.txt b/acceptance/bundle/resources/jobs/check-metadata/output.txt index 850aec11d6..c73e8e6f32 100644 --- a/acceptance/bundle/resources/jobs/check-metadata/output.txt +++ b/acceptance/bundle/resources/jobs/check-metadata/output.txt @@ -23,12 +23,12 @@ Deployment complete! === Assert job 1 is created { - "name": "test-job-metadata-1-[UNIQUE_NAME]" + "name": "[dev [USERNAME]] test-job-metadata-1-[UNIQUE_NAME]" } === Assert job 2 is created { - "name": "test-job-metadata-2-[UNIQUE_NAME]" + "name": "[dev [USERNAME]] test-job-metadata-2-[UNIQUE_NAME]" } === Read metadata object from the workspace @@ -39,6 +39,9 @@ Deployment complete! "version": 1, "config": { "bundle": { + "name": "deploy-jobs-check-metadata-[UNIQUE_NAME]", + "target": "default", + "mode": "development", "git": { "bundle_root_path": "." } @@ -71,6 +74,16 @@ Deployment complete! >>> cat metadata.json "id": "[JOB_2_ID]", +=== Check that metadata contains bundle name, target, and mode +>>> cat metadata.json +"deploy-jobs-check-metadata-[UNIQUE_NAME]" + +>>> cat metadata.json +"default" + +>>> cat metadata.json +"development" + >>> [CLI] bundle destroy --auto-approve The following resources will be deleted: delete resources.jobs.bar