databricks-cli/internal/bundle
Pieter Noordhuis 4fea0219fd
Use `fs.FS` interface to read template (#1910)
## Changes

While working on the v2 of #1744, I found that:
* Template initialization first copies built-in templates to a temporary
directory before initializing them
* Reading a template's contents goes through a `filer.Filer` but is
hardcoded to a local one

This change updates the interface for reading templates to be `fs.FS`.
This is compatible with the `embed.FS` type for the built-in templates,
so they no longer have to be copied to a temporary directory before
being used.

The alternative is to use a `filer.Filer` throughout, but this would
have required even more plumbing, and we don't need to _read_ templates,
including notebooks, from the workspace filesystem (yet?).

As part of making `template.Materialize` take an `fs.FS` argument, the
logic to match a given argument to a particular built-in template in the
`init` command has moved to sit next to its implementation.

## Tests

Existing tests pass.
2024-11-20 09:28:35 +00:00
..
bundles Added E2E test to run Python wheels on interactive cluster created in bundle (#1864) 2024-11-01 14:22:47 +00:00
artifacts_test.go Rename `RootPath` -> `BundleRootPath` (#1792) 2024-09-27 10:03:05 +00:00
basic_test.go Update Spark version in integration tests to 13.3 (#1375) 2024-04-19 11:31:54 +00:00
bind_resource_test.go Fix streaming of stdout, stdin, stderr in cobra test runner (#1742) 2024-09-02 13:43:17 +00:00
clusters_test.go Added support for creating all-purpose clusters (#1698) 2024-09-23 10:42:34 +00:00
dashboards_test.go Bump github.com/databricks/databricks-sdk-go from 0.49.0 to 0.51.0 (#1878) 2024-11-13 13:40:53 +00:00
deploy_test.go Always prepend bundle remote paths with /Workspace (#1724) 2024-10-02 15:34:00 +00:00
deploy_then_remove_resources_test.go Don't merge-in remote resources during depolyments (#1432) 2024-05-15 12:41:44 +00:00
deployment_state_test.go Added deployment state for bundles (#1267) 2024-03-18 14:41:58 +00:00
destroy_test.go Fix bundle destroy integration test (#1435) 2024-05-16 09:32:55 +00:00
empty_bundle_test.go Use `acc.WorkspaceTest` helper from bundle integration tests (#1181) 2024-02-07 11:18:56 +00:00
environments_test.go Added support for job environments (#1379) 2024-04-22 11:44:34 +00:00
generate_job_test.go Generate correct YAML if custom_tags or spark_conf is used for pipeline or job cluster configuration (#1210) 2024-02-15 15:03:19 +00:00
generate_pipeline_test.go Generate correct YAML if custom_tags or spark_conf is used for pipeline or job cluster configuration (#1210) 2024-02-15 15:03:19 +00:00
helpers.go Use `fs.FS` interface to read template (#1910) 2024-11-20 09:28:35 +00:00
job_metadata_test.go Update Spark version in integration tests to 13.3 (#1375) 2024-04-19 11:31:54 +00:00
local_state_staleness_test.go Update Spark version in integration tests to 13.3 (#1375) 2024-04-19 11:31:54 +00:00
python_wheel_test.go Added E2E test to run Python wheels on interactive cluster created in bundle (#1864) 2024-11-01 14:22:47 +00:00
spark_jar_test.go Run Spark JAR task test on multiple DBR versions (#1665) 2024-08-09 15:13:31 +00:00
validate_test.go Serialize dynamic value for `bundle validate` output (#1499) 2024-06-18 15:04:20 +00:00