cnabio / cnab-spec

Cloud Native Application Bundle Specification
https://cnab.io
Other
957 stars 99 forks source link

Installation level metadata #410

Closed carolynvs closed 2 years ago

carolynvs commented 3 years ago

I propose that installation data be stored in a new installation document as a first class data structure, instead of always being stored in the claims associated with the installation.

For example:

Currently all data about an installation is stored indirectly in the claim data. The only way that we know what the installation name is, or that there is an installation, is to read through the claims for the "installation" field. Each storage provider has its own trick to being able to list installation names quickly, using directories or storage specific metadata.

I think that installations would benefit from having their own document stored in the host environment in addition to the claims documents. As tools want to store extra information about the installation that shouldn't be re-specified in each claim document: labels, namespace, bundle reference, relying on the current mechanism of locating the most recent claim for installation is cumbersome.

carolynvs commented 3 years ago

@technosophos Can I get your thoughts on how best to introduce a new document representing the installation itself to to the spec? I don't see a way that it wouldn't be a breaking change and require bumping to CNAB Claims Spec v2 but maybe you do?

technosophos commented 3 years ago

You could introduce it as a brand new specification and then later do a Claims v2 that strips the relevant data out. That would allow the claims spec to remain stable while you work on this. It would mean duplicate data for a while, but that is okay.

carolynvs commented 3 years ago

GENIUS! Thank you, 🙇‍♀️.

carolynvs commented 2 years ago

Closing since that was originally desirable because of proposed changes to the dependency spec and we've gone in a different direction that doesn't require the spec to know additional information about installations.