runtime: Require 'start' to validate the bundle #404
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This spec places RFC-2119 requirements on both bundles (bundle.md,
config.md, ...) and runtimes (runtime.md, runtime-linux.md). While
it's possible to envision a system where bundle validation is
decoupled and the runtime is free to blindly stumble through as far as
it can, it's likely that users will expect the runtime to perform
basic bundle validatation for them. With the requirement landing in
this commit, the runtime MUST at least validate bundles against this
spec. The runtime MAY also validate the bundle against the host
system's capabilities, but is not required to do so.
With this change, all RFC-2119 requirements are things the runtime is
responsible for.
I'm personally ok with the decoupled-bundle-validation approach (and
we already link to ocitools and OCT for testing both runtimes and
bundles), but figured that will be an outlier position. If we do
want to go that way (and leave runtime activity in the face of an
invalid bundle undefined), we probably want to explicitly call that
out in the ‘start’ docs to avoid surprising people.