Skip to content

Commit 69d7818

Browse files
committed
Clean-up spec to remove non-spec-ish items
Signed-off-by: Doug Davis <[email protected]>
1 parent 72a55ee commit 69d7818

File tree

5 files changed

+61
-58
lines changed

5 files changed

+61
-58
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
code-of-conduct.md
21
/oci-validate-examples
32
output

Makefile

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ endif
2121

2222
# These docs are in an order that determines how they show up in the PDF/HTML docs.
2323
DOC_FILES := \
24-
README.md \
25-
code-of-conduct.md \
26-
project.md \
24+
spec.md \
2725
media-types.md \
2826
descriptor.md \
2927
image-layout.md \
@@ -77,9 +75,6 @@ $(OUTPUT_DIRNAME)/$(DOC_FILENAME).html: $(DOC_FILES) $(FIGURE_FILES)
7775
ls -sh $(shell readlink -f $@)
7876
endif
7977

80-
code-of-conduct.md:
81-
curl -o $@ https://raw.githubusercontent.com/opencontainers/tob/d2f9d68c1332870e40693fe077d311e0742bc73d/code-of-conduct.md
82-
8378
validate-examples:
8479
go test -run TestValidate ./schema
8580

README.md

Lines changed: 6 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -6,52 +6,15 @@
66
</div>
77

88
The OCI Image Format project creates and maintains the software shipping container image format spec (OCI Image Format).
9-
The goal of this specification is to enable the creation of interoperable tools for building, transporting, and preparing a container image to run.
109

11-
## Table of Contents
10+
The specification can be found [here](spec.md).
1211

13-
- [Introduction](README.md)
14-
- [Code of Conduct](#code-of-conduct)
15-
- [Project Documentation](project.md)
16-
- [Media Types](media-types.md)
17-
- [Content Descriptors](descriptor.md)
18-
- [Image Layout](image-layout.md)
19-
- [Image Manifest](manifest.md)
20-
- [Image Manifest List](manifest-list.md)
21-
- [Filesystem Layers](layer.md)
22-
- [Image Configuration](config.md)
23-
- [Canonicalization](canonicalization.md)
12+
Additional documentation about how this group operates:
2413

25-
## Overview
26-
27-
This specification defines an OCI Image, consisting of a [manifest](manifest.md), a set of [filesystem layers](layer.md), and a [configuration](config.md).
28-
At a high level the image manifest contains metadata about the contents and dependencies of the image including the content-addressable identity of one or more [filesystem layer changeset](layer.md) archives that will be unpacked to make up the final runnable filesystem.
29-
The image configuration includes information such as application arguments, environments, etc.
30-
31-
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in [RFC 2119](http://tools.ietf.org/html/rfc2119) (Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997).
32-
33-
The keywords "unspecified", "undefined", and "implementation-defined" are to be interpreted as described in the [rationale for the C99 standard][c99-unspecified].
34-
35-
An implementation is not compliant if it fails to satisfy one or more of the MUST, REQUIRED, or SHALL requirements for the protocols it implements.
36-
An implementation is compliant if it satisfies all the MUST, REQUIRED, and SHALL requirements for the protocols it implements.
37-
38-
![](img/build-diagram.png)
39-
40-
Once built the OCI Image can then be discovered by name, downloaded, verified by hash, trusted through a signature, and unpacked into an [OCI Runtime Bundle](https://github.com/opencontainers/runtime-spec/blob/master/bundle.md).
41-
42-
![](img/run-diagram.png)
43-
44-
## Understanding the Specification
45-
46-
The [OCI Image Media Types](media-types.md) document is a starting point to understanding the overall structure of the specification.
47-
48-
The high-level components of the spec include:
49-
50-
* An archival format for container images, consisting of an [image manifest](manifest.md), an [image layout](image-layout.md), a set of [filesystem layers](layer.md), and [image configuration](config.md) (base OCI layer)
51-
* A [process of referencing container images by a cryptographic hash of their content](descriptor.md) (base OCI layer)
52-
* A format for [storing CAS blobs and references to them](image-layout.md) (optional OCI layer)
53-
* Signatures that are based on signing image content address (optional OCI layer)
54-
* Naming that is federated based on DNS and can be delegated (optional OCI layer)
14+
- [Code of Conduct](https://github.com/opencontainers/tob/blob/d2f9d68c1332870e40693fe077d311e0742bc73d/code-of-conduct.md)
15+
- [Roadmap](#roadmap)
16+
- [Releases](RELEASES.md)
17+
- [Project Documentation](project.md)
5518

5619
The _optional_ and _base_ layers of all OCI projects are tracked in the [OCI Scope Table](https://www.opencontainers.org/governance/oci-scope-table).
5720

@@ -103,10 +66,6 @@ Issues are used for bugs and actionable items and longer discussions can happen
10366

10467
The specification and code is licensed under the Apache 2.0 license found in the `LICENSE` file of this repository.
10568

106-
## Code of Conduct
107-
108-
Participation in the OCI community is governed by the [OCI Code of Conduct](https://github.com/opencontainers/tob/blob/d2f9d68c1332870e40693fe077d311e0742bc73d/code-of-conduct.md).
109-
11069
## Discuss your design
11170

11271
The project welcomes submissions, but please let everyone know what you are working on.
@@ -209,6 +168,5 @@ Read more on [How to Write a Git Commit Message](http://chris.beams.io/posts/git
209168
8. When possible, one keyword to scope the change in the subject (i.e. "README: ...", "runtime: ...")
210169

211170

212-
[c99-unspecified]: http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf#page=18
213171
[UberConference]: https://www.uberconference.com/opencontainers
214172
[irc-logs]: http://ircbot.wl.linuxfoundation.org/eavesdrop/%23opencontainers/

manifest-list.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@ This section defines the `application/vnd.oci.image.manifest.list.v1+json` [medi
4141
- **`architecture`** *string*
4242

4343
This REQUIRED property specifies the CPU architecture.
44-
Manifest lists SHOULD use, and implementations SHOULD understand, values [supported by runtime-spec's `platform.arch`][runtime-platform].
44+
Manifest lists SHOULD use, and implementations SHOULD understand, values [supported by runtime-spec's `platform.arch`][runtime-platform2].
4545

4646
- **`os`** *string*
4747

4848
This REQUIRED property specifies the operating system.
49-
Manifest lists SHOULD use, and implementations SHOULD understand, values [supported by runtime-spec's `platform.os`][runtime-platform].
49+
Manifest lists SHOULD use, and implementations SHOULD understand, values [supported by runtime-spec's `platform.os`][runtime-platform2].
5050

5151
- **`os.version`** *string*
5252

@@ -118,4 +118,4 @@ Instead they MUST ignore unknown properties.
118118
}
119119
```
120120

121-
[runtime-platform]: https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc2/config.md#platform
121+
[runtime-platform2]: https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc2/config.md#platform

spec.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Open Container Initiative Image Format Specification
2+
3+
This specification defines an OCI Image, consisting of a [manifest](manifest.md), a set of [filesystem layers](layer.md), and a [configuration](config.md).
4+
5+
The goal of this specification is to enable the creation of interoperable tools for building, transporting, and preparing a container image to run.
6+
7+
## Table of Contents
8+
9+
- [Introduction](spec.md)
10+
- [Notational Conventions](#notational-conventions)
11+
- [Overview](#overview)
12+
- [Understanding the Specification](#understanding-the-specification)
13+
- [Media Types](media-types.md)
14+
- [Content Descriptors](descriptor.md)
15+
- [Image Layout](image-layout.md)
16+
- [Image Manifest](manifest.md)
17+
- [Image Manifest List](manifest-list.md)
18+
- [Filesystem Layers](layer.md)
19+
- [Image Configuration](config.md)
20+
- [Canonicalization](canonicalization.md)
21+
22+
# Notational Conventions
23+
24+
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in [RFC 2119](http://tools.ietf.org/html/rfc2119) (Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997).
25+
26+
The key words "unspecified", "undefined", and "implementation-defined" are to be interpreted as described in the [rationale for the C99 standard][c99-unspecified].
27+
28+
# Overview
29+
30+
At a high level the image manifest contains metadata about the contents and dependencies of the image including the content-addressable identity of one or more [filesystem layer changeset](layer.md) archives that will be unpacked to make up the final runnable filesystem.
31+
The image configuration includes information such as application arguments, environments, etc.
32+
33+
![](img/build-diagram.png)
34+
35+
Once built the OCI Image can then be discovered by name, downloaded, verified by hash, trusted through a signature, and unpacked into an [OCI Runtime Bundle](https://github.com/opencontainers/runtime-spec/blob/master/bundle.md).
36+
37+
![](img/run-diagram.png)
38+
39+
## Understanding the Specification
40+
41+
The [OCI Image Media Types](media-types.md) document is a starting point to understanding the overall structure of the specification.
42+
43+
The high-level components of the spec include:
44+
45+
* An archival format for container images, consisting of an [image manifest](manifest.md), an [image layout](image-layout.md), a set of [filesystem layers](layer.md), and [image configuration](config.md) (base OCI layer)
46+
* A [process of referencing container images by a cryptographic hash of their content](descriptor.md) (base OCI layer)
47+
* A format for [storing CAS blobs and references to them](image-layout.md) (optional OCI layer)
48+
* Signatures that are based on signing image content address (optional OCI layer)
49+
* Naming that is federated based on DNS and can be delegated (optional OCI layer)
50+
51+
[c99-unspecified]: http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf#page=18

0 commit comments

Comments
 (0)