cnabio / cnab-spec

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

Claims: It is unclear what happens to outputs on various operations #326

Closed technosophos closed 4 years ago

technosophos commented 4 years ago

A question was raised as to what happens to outputs operation to operation: https://github.com/cnabio/cnab-spec/pull/309#discussion_r366716640

@jeremyrickard says:

I think we should expand this normative text to describe what happens between actions. The text currently says:

If this field is not present, it may be assumed that no outputs were generated as a result of the operation.

What happens to this value between executions? If we address this bug in Porter: https://github.com/deislabs/porter/issues/836 What is the correct answer? I think this spec doesn't provide enough prescriptive info about what the claim should provide.

For my part, I am not sure why outputs would persist from one to the next. That seems to me to be a misuse of a claim, which tracks only the state of the last operation. (It is not intended to be a general-purpose data storage mechanism.) To track older outputs, wouldn't you just store older claims instead of overwriting the claim?

There has also been some movement toward tracking outputs separately from claims, which could prove a more elegant solution.