Skip to content

Commit b937cd3

Browse files
Apply suggestions from code review
Co-authored-by: Simon Gerber <[email protected]>
1 parent ead2e78 commit b937cd3

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

docs/modules/SDDs/pages/0033-commodore-component-instance-versioning.adoc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
= SDD 0033 - Commodore Component Instance Versioning
22

33
:sdd_author: Aline Abler
4-
:sdd_owner: Aline Abler
5-
:sdd_reviewers: SIG
4+
:sdd_owner: Aldebaran
5+
:sdd_reviewers: Simon Gerber
66
:sdd_date: 2025-01-08
77
:sdd_status: draft
88
include::partial$meta-info-table.adoc[]
@@ -34,7 +34,7 @@ Commodore will leverage the existing configuration options in `.parameters.compo
3434
Instance versions can be specified in `.parameters.components.<instance-name>` and override the value specified in `.parameters.components.<component-name>`.
3535
Even if all instances provide their own version, a version for the base component (`.parameters.components.<component-name>`) must still be specified.
3636

37-
Component authors must explicitly declare that their component supports multi-versioning.
37+
Component authors must explicitly declare that their component supports multi-versioning by setting component parameter `_metadata.multi_versioning=true`.
3838
In a valid catalog, all used versions of the same component must advertise this support.
3939

4040
Components with multi-versioning support must ensure they create no file conflicts when downloading dependencies.
@@ -66,9 +66,10 @@ This might force a component author to remove multi-version support in higher co
6666

6767
=== Automatically detecting multi-version support
6868

69-
It could be possible to automatically determine whether a component supports multi-versioning, by way of checking whether the `${_base_directory}` parameter is used in the component's compile configuration.
69+
We could try to automatically determine whether a component supports multi-versioning, by way of checking whether the `${_base_directory}` parameter is used in the component's compile configuration and for Jsonnet expressions that refer to downloaded data.
7070
However, automatically declaring components to be "safe for multi-versioning" carries some risk - even if a component is configured accordingly, it is not guaranteed that its provided Jsonnet libraries and/or its Jsonnet dependencies work if used across versions.
71-
Therefore, we deem it safer to let component authors decide if multi-versioning is safe to use for their component.
71+
Additionally, so far we've defined explicit flags for components to indicate that they support optional features, such as multiple instances.
72+
For all of those reasons, we've decided that component authors must explicitly declare whether multi-versioning is safe to use for their component.
7273

7374
=== Supporting different versions of Jsonnet dependencies per instance
7475

0 commit comments

Comments
 (0)