Backend: Change catalog_resource_components.inputs to spec
Problem
In !144663 (comment 1773372289) it was highlighted that currently we store inputs specifically for catalog_resource_components table. This will not be sufficient to support CI steps as it has more details under spec: (e.g. outputs).
Proposal
The suggestion was to change the inputs jsonb column to spec jsonb column so that we can store the full spec: object.
Then based on the resource_type we can interpret the spec object accordingly. For example, for template type we only expect inputs but for step type we expect inputs, outputs etc.
This design will also avoid that we add more columns in the future for such metadata.
Implementation Table
| Group | Issue Link |
|---|---|
| backend |
|
| backend | #455431 (closed) |
Challenges
- Should we introduce the new column side-by-side initially and use
spec || inputsuntil fully migrated? - Can we migrate the existing metadata? For templates it would be that we wrap the
inputsvalue around{ inputs: "..." }to make it compatible with the fullspec:format. - At what point can we remove the
inputscolumn?
Edited by Mark Nuzzo