Move workspace builder generation rule definitions to the associated code bundles #247
Labels
enhancement
New feature or request
Semver-Major
Issues that need to be classified as Semver-Major for Release Notes
This is currently tracked internally https://github.com/runwhen/platform-core/issues/1014 and duplicated here for public visibility.
Currently the generation rules (and associated templates) for the workspace builder are centralized in the workspace builder directory. This does not scale well and more immediately means that creating/editing the gen rules requires a new build of the runwhen local container image, which slows development turnaround time.
The plan is to move the gen rules into the code bundle directory associated with the gen rule. The directory structure will probably be that there's a "workspace-builder" at the top level of the code bundle and inside that directory there are "generation-rules" and "templates" subdirectories.
The workspace builder is configured with a set of code collections that it scans to collect all of the gen rules information across all of the code bundles in the code collections. Individual runs of the workspace builder can be configured (probably in the workspaceInfo.yaml file) to include additional code collections or suppress one or more of the default collections (or perhaps suppress individual code bundles in the included code collections).
The workspace builder tree will still contain the standard "common-labels.yaml" and "common-annotations.yaml" files that were added recently. The templating code in the workspace builder will include in the file search path both the directory for the templates that were downloaded from the code bundle plus the directory that contains the built-in standard templates.
Note: this ticket is for the code changes in the core workspace builder to support this feature. There's a separate ticket (https://github.com/runwhen/platform-core/issues/1017) for the task of actually reorganizing all of the existing gen rules to take advantage of this feature.
The text was updated successfully, but these errors were encountered: