Skip to content

Commit c4e7ea9

Browse files
committed
Rewrite README based on image spec
Signed-off-by: Josh Dolitsky <[email protected]>
1 parent d8b559c commit c4e7ea9

File tree

2 files changed

+142
-24
lines changed

2 files changed

+142
-24
lines changed

faq.md renamed to FAQ.md

File renamed without changes.

README.md

Lines changed: 142 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,159 @@
1-
## Open Container Initiative Distribution Specification
1+
# OCI Distribution Specification
22

3-
The [Open Container Initiative](https://www.opencontainers.org/) develops specifications for standards on Operating System process and application containers.
3+
The OCI Distribution Spec project defines an API protocol to facilitate and standardize the distribution of content.
44

5-
The specification can be found [here](https://github.com/opencontainers/distribution-spec/blob/master/spec.md).
5+
**[The specification can be found here](spec.md).**
66

7-
### Table of Contents
7+
This repository also provides [Go types](specs-go), and [registry conformance tooling](conformance).
8+
The Go types and validation should be compatible with the current Go release; earlier Go releases are not supported.
89

9-
- [Code of Conduct][code-of-conduct]
10+
Additional documentation about how this group operates:
11+
12+
- [Contributing](CONTRIBUTING.md)
13+
- [Governance](GOVERNANCE.md)
14+
- [Maintainers' Guide](MAINTAINERS_GUIDE.md)
1015
- [Releases](RELEASES.md)
11-
- [Charter][charter]
12-
- [Frequently Asked Questions](faq.md)
1316

14-
### Use Cases
17+
The _optional_ and _base_ layers of all OCI projects are tracked in the [OCI Scope Table](https://www.opencontainers.org/about/oci-scope-table).
18+
19+
## Distributing OCI Images and other content
20+
21+
The OCI Distribution Spec is closely related to the [OCI Image Format Spec project](https://github.com/opencontainers/image-spec),
22+
the [OCI Runtime Spec project](https://github.com/opencontainers/runtime-spec),
23+
and the [OCI Artifacts project](https://github.com/opencontainers/artifacts).
24+
25+
The Image Format Specification strictly defines the requirements for an OCI Image (container image), which consists of
26+
a manifest, an optional image index, a set of filesystem layers, and a configuration.
27+
The schema for OCI Image components is fully supported by the APIs defined in the Distribution Spec.
28+
29+
The OCI Runtime Specification defines how to properly run a container "[filesystem bundle](https://github.com/opencontainers/runtime-spec/blob/master/bundle.md)"
30+
which fully adheres to the OCI Image Format. The Runtime Spec is relevant to the Distribution Spec in that they both support OCI Images,
31+
and that container runtimes use the APIs defined in the Distribution Spec to fetch pre-built container images and run them.
32+
33+
The Distribution Spec is also designed generically enough to be leveraged as a distribution mechanism for
34+
any type of content. The format of uploaded manifests, for example, need not necessarily adhere to the OCI Image Format
35+
so long as it references the blobs which comprise a given artifact.
36+
37+
The OCI Artifacts project is an effort to provide guidance on how to
38+
properly define and distribute content using the Distribution Spec for artifacts which are not container filesystem bundles,
39+
in a way that is mostly compatible with the existing schemas defined in the Image Format Spec.
40+
41+
## FAQ
42+
43+
For questions about the Distribution Spec, please see the [FAQ](FAQ.md).
44+
45+
For general questions about OCI, please see the [FAQ on the OCI site](https://www.opencontainers.org/faq).
46+
47+
## Roadmap
48+
49+
The [GitHub milestones](https://github.com/opencontainers/distribution-spec/milestones) lay out the path to the future improvements.
50+
51+
# Contributing
52+
53+
Development happens on GitHub for the spec.
54+
Issues are used for bugs and actionable items and longer discussions can happen on the [mailing list](#mailing-list).
55+
56+
The specification and code is licensed under the Apache 2.0 license found in the `LICENSE` file of this repository.
57+
58+
## Discuss your design
59+
60+
The project welcomes submissions, but please let everyone know what you are working on.
61+
62+
Before undertaking a nontrivial change to this specification, send mail to the [mailing list](#mailing-list) to discuss what you plan to do.
63+
This gives everyone a chance to validate the design, helps prevent duplication of effort, and ensures that the idea fits.
64+
It also guarantees that the design is sound before code is written; a GitHub pull-request is not the place for high-level discussions.
65+
66+
Typos and grammatical errors can go straight to a pull-request.
67+
When in doubt, start on the [mailing-list](#mailing-list).
68+
69+
## Meetings
70+
71+
Please see the [OCI org repository README](https://github.com/opencontainers/org#meetings) for the most up-to-date information on OCI contributor and maintainer meeting schedules.
72+
You can also find links to meeting agendas and minutes for all prior meetings.
73+
74+
## Mailing List
75+
76+
You can subscribe and join the mailing list on [Google Groups](https://groups.google.com/a/opencontainers.org/forum/#!forum/dev).
77+
78+
## Chat
79+
80+
OCI discussion happens in the following chat rooms, which are all bridged together:
81+
82+
- #general channel on [OCI Slack](https://chat.opencontainers.org/)
83+
- #opencontainers:matrix.org
84+
- #opencontainers on freenode.net
85+
86+
## Markdown style
87+
88+
To keep consistency throughout the Markdown files in the Open Container spec all files should be formatted one sentence per line.
89+
This fixes two things: it makes diffing easier with git and it resolves fights about line wrapping length.
90+
For example, this paragraph will span three lines in the Markdown source.
91+
92+
## Git commit
93+
94+
### Sign your work
95+
96+
The sign-off is a simple line at the end of the explanation for the patch, which certifies that you wrote it or otherwise have the right to pass it on as an open-source patch.
97+
The rules are pretty simple: if you can certify the below (from [developercertificate.org](http://developercertificate.org/)):
98+
99+
```
100+
Developer Certificate of Origin
101+
Version 1.1
102+
103+
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
104+
660 York Street, Suite 102,
105+
San Francisco, CA 94110 USA
106+
107+
Everyone is permitted to copy and distribute verbatim copies of this
108+
license document, but changing it is not allowed.
109+
110+
111+
Developer's Certificate of Origin 1.1
112+
113+
By making a contribution to this project, I certify that:
15114
16-
Following sections give context for aspects of this specification:
115+
(a) The contribution was created in whole or in part by me and I
116+
have the right to submit it under the open source license
117+
indicated in the file; or
17118
18-
### Registry Developers
119+
(b) The contribution is based upon previous work that, to the best
120+
of my knowledge, is covered under an appropriate open source
121+
license and I have the right under that license to submit that
122+
work with modifications, whether created in whole or in part
123+
by me, under the same open source license (unless I am
124+
permitted to submit under a different license), as indicated
125+
in the file; or
19126
20-
### Registry Administrators
127+
(c) The contribution was provided directly to me by some other
128+
person who certified (a), (b) or (c) and I have not modified
129+
it.
21130
22-
### Client Side Image Tools
131+
(d) I understand and agree that this project and the contribution
132+
are public and that a record of the contribution (including all
133+
personal information I submit with it, including my sign-off) is
134+
maintained indefinitely and may be redistributed consistent with
135+
this project or the open source license(s) involved.
136+
```
23137

24-
### Container Image Pipeline
138+
then you just add a line to every git commit message:
25139

26-
## Contributing
140+
Signed-off-by: Jane Smith <[email protected]>
27141

28-
See [our contribution documentation](CONTRIBUTING.md).
142+
using your real name (sorry, no pseudonyms or anonymous contributions.)
29143

30-
Development happens on GitHub.
31-
Responsible disclosure for security issues is discussed [here](CONTRIBUTING.md#security-issues).
32-
[Issues][issues] are used for non-security bugs and actionable items; longer discussions can happen on the [mailing list](#mailing-list).
144+
You can add the sign off when creating the git commit via `git commit -s`.
33145

34-
### Mailing list
146+
### Commit Style
35147

36-
You can subscribe and browse the mailing list on [Google Groups][mailing-list].
148+
Simple house-keeping for clean git history.
149+
Read more on [How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/) or the Discussion section of [`git-commit(1)`](http://git-scm.com/docs/git-commit).
37150

38-
[charter]: https://www.opencontainers.org/about/governance
39-
[code-of-conduct]: https://github.com/opencontainers/org/blob/master/CODE_OF_CONDUCT.md
40-
[issues]: https://github.com/opencontainers/distribution-spec/issues
41-
[mailing-list]: https://groups.google.com/a/opencontainers.org/forum/#!forum/dev
151+
1. Separate the subject from body with a blank line
152+
2. Limit the subject line to 50 characters
153+
3. Capitalize the subject line
154+
4. Do not end the subject line with a period
155+
5. Use the imperative mood in the subject line
156+
6. Wrap the body at 72 characters
157+
7. Use the body to explain what and why vs. how
158+
* If there was important/useful/essential conversation or information, copy or include a reference
159+
8. When possible, one keyword to scope the change in the subject (i.e. "README: ...", "runtime: ...")

0 commit comments

Comments
 (0)