You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Users will create lists of images to use on a system. They need to specify
import urls from which to "import" the layer
internal reference by which to know the name
The import url is a classic docker or oci url in skopeo format. This source url is needed by the builder tool (mosb) which creates an system manifest, but is no longer needed once it has been imported.
Internally the install and update code will use ServiceName and digest to locate images.
Terms
import manifest: User-specified manifest which mosb parses to generate an system manifest and/or a full install medium (like an ISO).
system manifest: A list of targets to activate. A running system is
defined by a system manifest and configuration. A system manifest is signed.
import url: oci:ocidir:name:tag, or docker://host/name:tag. A layer specified in import manifest will be fetched from this URL. This url is not retained.
reproducible json: JSON with sorted dictionary keys no formatting.
The 'version' above is the version of this system. To protect against replay attack, downgrades are not allowed. Version must be supplied by the user.
The mediaType should not need to be provided by the user until which point as there is a 'version 2' needed.
system manifest: system manifest is a signed document indicating what services are running on a system. The system manifest is shown below formated, but it is stored and signed as reproducible JSON.
An upgrade media or system that is to apply/run the system manifest above would have the following names registered in its oci database:
mos/images/hostfs:sha256/HASH1 - HASH1 is the hash of the oci manifest that is used for the hostfs layer. 'size' above is its size.
mos/images/ran-http:sha256/HASH2 - HASH2 and size are the hash and size of the oci manifest for the ran-http layer.
mos/system/system:sha256/HASH3 - hash3 is the hash of the system
manifest above . It is not necessary to store the system manifest in the oci repository. more thought is needed here as to whether we want it or not. There is a need to store it somewhere and the signed document as well, but that doesn't necessarily have to be the oci registry.
changes
A list of changes from what is currently present in mos.
No downgrades allowed - the 'version' is required to always increase
No partial updates - The simplification means the entire system is signed by the product owner.
targets are a dictionary by service name rather than a list. This ensures no duplicates and forces user to provide a file-wide unique name.
The text was updated successfully, but these errors were encountered:
in the description you mentioned ImagePath, but you're dropping that, right, in favor of using the image/SHA:shasum name? The internal reference becomes nicely simplified.
you didn't mention tying the 'version' to a TPM counter, but I think that's integral to preventing replay attacks, which was the primary justification for dropping partial updates in my mind.
in the description you mentioned ImagePath, but you're dropping that,
right, in favor of using the image/SHA:shasum name? The internal
reference becomes nicely simplified.
reference to imagepath removed.
you didn't mention tying the 'version' to a TPM counter,
but I think that's integral to preventing replay attacks,
which was the primary justification for dropping
partial updates in my mind.
Background
Users will create lists of images to use on a system. They need to specify
The import url is a classic docker or oci url in skopeo format. This source url is needed by the builder tool (mosb) which creates an system manifest, but is no longer needed once it has been imported.
Internally the install and update code will use ServiceName and digest to locate images.
Terms
defined by a system manifest and configuration. A system manifest is signed.
oci:ocidir:name:tag
, ordocker://host/name:tag
. A layer specified in import manifest will be fetched from this URL. This url is not retained.Examples
import manifest:
system manifest: system manifest is a signed document indicating what services are running on a system. The system manifest is shown below formated, but it is stored and signed as reproducible JSON.
An upgrade media or system that is to apply/run the system manifest above would have the following names registered in its oci database:
manifest above . It is not necessary to store the system manifest in the oci repository. more thought is needed here as to whether we want it or not. There is a need to store it somewhere and the signed document as well, but that doesn't necessarily have to be the oci registry.
changes
A list of changes from what is currently present in mos.
The text was updated successfully, but these errors were encountered: