Split dresources resources.yml into one file per resource - #6679
Merged
Merged
Conversation
resources.yml and resources.generated.yml become configs/<resource_type>.yml and configs/<resource_type>.generated.yml, omitted when they have no rules. The resource type comes from the file name, so each file holds the rules directly with no enclosing keys. The generator writes one file per resource, and the loader embeds configs/*.yml and keys each resource type by its file name. Placing them under configs/ scopes the //go:embed to lifecycle config only, so the files keep the .yml extension without colliding with the generator's apitypes*.yml inputs. Co-authored-by: Isaac <no-reply@databricks.com>
Collaborator
Integration test reportCommit: 2a0904e
Top 3 slowest tests (at least 2 minutes):
|
janniklasrose
approved these changes
Sep 14, 2026
| @@ -0,0 +1,6 @@ | |||
| # Permissions for secret scopes use ResourceSecretScopeAcls. | |||
Member
There was a problem hiding this comment.
not opposed to <resource>.permissions.yml but let's document it
alex-khakhlyuk
added a commit
that referenced
this pull request
Sep 15, 2026
…ayout Main #6679 split the monolithic bundle/direct/dresources/resources.yml and resources.generated.yml into one file per resource under configs/. Recreate the mcp_services rules in that layout: configs/mcp_services.yml (provided_id_fields for the immutable parent + mcp_service_id) and the regenerated configs/mcp_services.generated.yml (config.source_connection.is_deleted, derived from catalog.McpService via apitypes.yml). No behavior change; matches how model_services is expressed on main. Co-authored-by: Isaac <no-reply@databricks.com>
alex-khakhlyuk
added a commit
that referenced
this pull request
Sep 15, 2026
… configs/ layout Main #6679 split the monolithic resources.yml / resources.generated.yml into one file per resource under configs/. Recreate the model_provider_services rules in that layout: configs/model_provider_services.yml (provided_id_fields for the immutable parent + model_provider_service_id) and the regenerated configs/model_provider_services.generated.yml (provider_type recreate + the write-only provider-credential and inference_table suppressions, derived from catalog.ModelProviderService via apitypes.yml). No behavior change. Co-authored-by: Isaac <no-reply@databricks.com>
Sankalp-Mittal
added a commit
that referenced
this pull request
Sep 15, 2026
…boards-sha-state Resolve dresources config split (#6679): move hashed_fields for dashboards.serialized_dashboard into configs/dashboards.yml. Co-authored-by: Isaac <no-reply@databricks.com>
alex-khakhlyuk
added a commit
that referenced
this pull request
Sep 15, 2026
… configs/ layout Main #6679 split the monolithic resources.yml / resources.generated.yml into one file per resource under configs/. Recreate the model_provider_services rules in that layout: configs/model_provider_services.yml (provided_id_fields for the immutable parent + model_provider_service_id) and the regenerated configs/model_provider_services.generated.yml (provider_type recreate + the write-only provider-credential and inference_table suppressions, derived from catalog.ModelProviderService via apitypes.yml). No behavior change. Co-authored-by: Isaac <no-reply@databricks.com>
Collaborator
Integration test reportCommit: a221308
175 interesting tests: 106 MISS, 63 FAIL, 3 KNOWN, 2 flaky, 1 SKIP
Top 50 slowest tests (at least 2 minutes):
|
janniklasrose
pushed a commit
that referenced
this pull request
Sep 15, 2026
`resources.yml` and `resources.generated.yml` grew to ~1300 lines covering 37 resource types, so a change to one resource meant scrolling through all of them. Split them into one file per resource under `bundle/direct/dresources/configs/`: `<resource_type>.yml` for the hand-written rules and `<resource_type>.generated.yml` for the OpenAPI-derived ones, omitted when empty. The resource type is the file name, so each file holds the rules directly. The generator writes one file per resource; the loader embeds `configs/*.yml` and keys each by its file name. Putting them under `configs/` scopes the `//go:embed` to lifecycle config, so the files keep the `.yml` extension without colliding with the generator's `apitypes*.yml` inputs. No behavior change: the parsed config is identical. This pull request and its description were written by Isaac. Co-authored-by: Isaac <no-reply@databricks.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
resources.ymlandresources.generated.ymlgrew to ~1300 lines covering 37 resource types, so a change to one resource meant scrolling through all of them.Split them into one file per resource under
bundle/direct/dresources/configs/:<resource_type>.ymlfor the hand-written rules and<resource_type>.generated.ymlfor the OpenAPI-derived ones, omitted when empty. The resource type is the file name, so each file holds the rules directly. The generator writes one file per resource; the loader embedsconfigs/*.ymland keys each by its file name.Putting them under
configs/scopes the//go:embedto lifecycle config, so the files keep the.ymlextension without colliding with the generator'sapitypes*.ymlinputs. No behavior change: the parsed config is identical.This pull request and its description were written by Isaac.