|
| 1 | +# Definitions and Terms |
| 2 | + |
| 3 | +A collection of definitions and terms used within this repository. |
| 4 | + |
| 5 | +* [Artifact Author](#artifact-author) |
| 6 | +* [Distribution Operator](#distribution-operator) |
| 7 | +* [Media Type](#media-type) |
| 8 | +* [OCI Image](#oci-image) |
| 9 | +* [Registry](#registry) |
| 10 | +* [Well Known Type](#well-known-type) |
| 11 | +* [YASS](#yass) |
| 12 | + |
| 13 | +## Artifact Author |
| 14 | + |
| 15 | +The owner of an artifact format. The [OCI Image Spec](https://github.com/opencontainers/image-spec/) is owned by the OCI working group. |
| 16 | + |
| 17 | +An artifact is defined to be unique by its `config.mediaType`. |
| 18 | + |
| 19 | +## Container Registry |
| 20 | + |
| 21 | +See [Registry](#registry) |
| 22 | + |
| 23 | +## Distribution Operator |
| 24 | + |
| 25 | +Vendors that implement and/or run the [OCI Distribution Spec](https://github.com/opencontainers/distribution-spec/). |
| 26 | + |
| 27 | +## Media Type |
| 28 | + |
| 29 | +The uniqueness of an artifact is defined by its type. An artifact has a type, which has a collection of layers. |
| 30 | + |
| 31 | +The Artifact is defined as unique by its `manifest.config.mediaType`. Layers are defined by their `layer.config.mediaType`. |
| 32 | + |
| 33 | +## OCI Image |
| 34 | + |
| 35 | +OCI Image is a specific type of artifact. However, an OCI image is not meant to define all artifacts. Tooling, such as docker, containerD and vulnerability scanners that perform security checks upon container images, use the `config.mediaType` to know they can pull and instance container images. Docker and containerD are not intended to pull and instance Helm Charts, Singularity, OPA or other artifact types. |
| 36 | + |
| 37 | +## Registry |
| 38 | + |
| 39 | +A registry, or container registry, is an instance of the [distribution-spec]. See [Implementors][implementors] for a list of registries that support OCI Artifacts. |
| 40 | + |
| 41 | +## Well Known Type |
| 42 | + |
| 43 | +Types that many to most registry operators would likely want to support ([OCI Image][image-spec], [Helm][helm], [Singularity][singularity]). While registry operators are not required to support all types, registry operators would likely want to support well known types, if there was an easy way to understand the differing types. OCI Artifacts includes publishing of well-known types for registry operators to import. |
| 44 | + |
| 45 | +## YASS |
| 46 | + |
| 47 | +[OCI Artifacts][artifacts] provides an alternative to having to build, distribute and run "**Y**et **A**nother **S**torage **S**ervice". |
| 48 | + |
| 49 | +[artifacts]: https://github.com/opencontainers/artifacts |
| 50 | +[helm]: https://helm.sh |
| 51 | +[implementors]: https://github.com/SteveLasker/artifacts/blob/implementors/implementations.md |
| 52 | +[image-spec]: https://github.com/opencontainers/image-spec/ |
| 53 | +[distribution-spec]: https://github.com/opencontainers/distribution-spec/ |
| 54 | +[singularity]: https://github.com/sylabs/singularity |
0 commit comments