diff --git a/docs/modules/SDDs/pages/0033-commodore-component-instance-versioning.adoc b/docs/modules/SDDs/pages/0033-commodore-component-instance-versioning.adoc index b4d5beb..3b7f05d 100644 --- a/docs/modules/SDDs/pages/0033-commodore-component-instance-versioning.adoc +++ b/docs/modules/SDDs/pages/0033-commodore-component-instance-versioning.adoc @@ -4,7 +4,7 @@ :sdd_owner: Aldebaran :sdd_reviewers: Simon Gerber :sdd_date: 2025-01-08 -:sdd_status: accepted +:sdd_status: implemented include::partial$meta-info-table.adoc[] [NOTE] @@ -30,7 +30,7 @@ Commodore will leverage the existing configuration options in `.parameters.compo Instance versions can be specified in `.parameters.components.` and override the value specified in `.parameters.components.`. Even if all instances provide their own version, a version for the base component (`.parameters.components.`) must still be specified. -Component authors must explicitly declare that their component supports multi-versioning by setting component parameter `_metadata.multi_versioning=true`. +Component authors must explicitly declare that their component supports multi-versioning by setting component parameter `_metadata.multi_version=true`. In a valid catalog, all used versions of the same component must advertise this support. Components with multi-versioning support must ensure they create no file conflicts when downloading dependencies. @@ -42,6 +42,8 @@ If a component is to support multi-versioning, Jsonnet dependencies should there Similarly, if the component includes a Jsonnet library that is made available to other components, the version for the library is taken from the main (non-instantiated) version of the component. +Finally, if a component reads another component's default values, it will always see the default values of the main (non-instantiated) version of the component. + === Implementation Details/Notes/Constraints We can clone the repository of the base component and create a separate worktree for each instance to check out the correct version.