Skip to content

Commit 01cc5c9

Browse files
committed
Add artifacts proposal
Signed-off-by: [email protected] Signed-off-by: Steve Lasker <[email protected]>
1 parent 34046f7 commit 01cc5c9

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

proposals/artifacts.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# OCI artifact project proposal
2+
3+
## Abstract
4+
Container registries, implementing the [distribution-spec][distribtuion-spec], provide reliable, highly scalable, secured storage services for container images. Customers either use a cloud provider implementation, vendor implementations, or instance the open source implementation of distribution. They configure security and networking to assure the images in the registry are locked down and accessible by the resources required. Cloud providers and vendors often provide additional values atop their registry implementations from security to productivity features.
5+
6+
Applications and services typically require additional artifacts to deploy and manage, including [helm](https://helm.sh) for deployment and [Open Policy Agent (OPA)](https://github.com/open-policy-agent/opa/issues/1413) for policy enforcement.
7+
8+
Utilizing the [manifest][image-manifest] and [index][image-index] definitions, new artifacts can be stored and served using the [distribution-spec][distribution-spec] without changing the actual distribution spec. This repository will provide a reference for artifact authors and registry implementors for supporting new artifact types with the existing implementations of distribution.
9+
10+
By providing an OCI artifact definition, the community can continue to innovate, focusing on new artifact types without having to build yet another storage solution (yass).
11+
12+
## Proposal
13+
Under the http://github.com/opencontainers organization:
14+
15+
- Create a new **artifacts** repository, named http://github.com/opencontainers/artifacts
16+
- Update [distribution][distribution-spec] to generically reference [manifest][image-manifest] and [index][image-index], with image as one of many artifact types it can store.
17+
18+
## Contents
19+
20+
The repository will serve 2 primary goals:
21+
22+
1. **artifact authors** - guidance for authoring new artifact types. Including a clearing house for well known artifact types.
23+
1. **registry operators and vendors** - guidance for how they can support new artifact types, including how they can opt-in or out of well known artifact types.
24+
25+
### Initial Maintainers
26+
Initial maintainers of the artifacts project would be :
27+
* Steve Lasker <[email protected]> (@stevelasker)
28+
* Derek McGowan <[email protected]> @derekmcgowan
29+
* Mike Brown <[email protected]> @mikebrow
30+
31+
### Code of Conduct
32+
This project would incorporate (by reference) the OCI [Code of Conduct][code-of-conduct].
33+
34+
### Governance and Releases
35+
This project would incorporate the Governance and Releases processes from the OCI project template: https://github.com/opencontainers/project-template.
36+
37+
### Project Communications
38+
Both of the proposed projects would continue to use existing channels in use by the OCI developer community for communication including:
39+
* GitHub for issues and pull requests
40+
* The [email protected] email list
41+
* The weekly OCI developer community conference call
42+
* The #OpenContainers IRC channel
43+
44+
### Versioning / Roadmap
45+
Artifacts will reference specific [distribution][distribution-spec], [index][image-index] and [manifest][image-manifest] versions in its examples, identifying any dependencies required.
46+
47+
## Frequenty Asked Questions (FAQ)
48+
49+
**Q: Does this change the OCI Charter or Scope Table?**
50+
51+
A: No. Artifacts are a prescriptive means of storing [index][image-index] and [manifest][image-manifest] within [distribution][distribution-spec] implementations.
52+
53+
[distribution-spec]: https://github.com/opencontainers/distribution-spec/
54+
[code-of-conduct]: https://github.com/opencontainers/org/blob/master/CODE_OF_CONDUCT.md
55+
[image-manifest]: https://github.com/opencontainers/image-spec/blob/master/manifest.md
56+
[image-index]: https://github.com/opencontainers/image-spec/blob/master/image-index.md

0 commit comments

Comments
 (0)