Skip to content

Commit d87ec69

Browse files
Merge pull request #687 from jlbutler/link-cleanup-676
make link usage consistent across the specification
2 parents f47e43c + f9dc90b commit d87ec69

File tree

12 files changed

+164
-73
lines changed

12 files changed

+164
-73
lines changed

README.md

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Open Container Initiative Runtime Specification
22

3-
The [Open Container Initiative](http://www.opencontainers.org/) develops specifications for standards on Operating System process and application containers.
3+
The [Open Container Initiative][oci] develops specifications for standards on Operating System process and application containers.
44

55
The specification can be found [here](spec.md).
66

77
## Table of Contents
88

99
Additional documentation about how this group operates:
1010

11-
- [Code of Conduct](https://github.com/opencontainers/tob/blob/d2f9d68c1332870e40693fe077d311e0742bc73d/code-of-conduct.md)
11+
- [Code of Conduct][code-of-conduct]
1212
- [Style and Conventions](style.md)
1313
- [Roadmap](ROADMAP.md)
1414
- [Implementations](implementations.md)
@@ -61,13 +61,13 @@ When in doubt, start on the [mailing-list](#mailing-list).
6161
### Weekly Call
6262

6363
The contributors and maintainers of all OCI projects have a weekly meeting Wednesdays at 2:00 PM (USA Pacific).
64-
Everyone is welcome to participate via [UberConference web][UberConference] or audio-only: 415-968-0849 (no PIN needed.)
64+
Everyone is welcome to participate via [UberConference web][uberconference] or audio-only: 415-968-0849 (no PIN needed.)
6565
An initial agenda will be posted to the [mailing list](#mailing-list) earlier in the week, and everyone is welcome to propose additional topics or suggest other agenda alterations there.
66-
Minutes are posted to the [mailing list](#mailing-list) and minutes from past calls are archived to the [wiki](https://github.com/opencontainers/runtime-spec/wiki) for those who are unable to join the call.
66+
Minutes are posted to the [mailing list](#mailing-list) and minutes from past calls are archived to the [wiki][runtime-wiki].
6767

6868
### Mailing List
6969

70-
You can subscribe and join the mailing list on [Google Groups](https://groups.google.com/a/opencontainers.org/forum/#!forum/dev).
70+
You can subscribe and join the mailing list on [Google Groups][dev-list].
7171

7272
### IRC
7373

@@ -78,7 +78,7 @@ OCI discussion happens on #opencontainers on Freenode ([logs][irc-logs]).
7878
#### Sign your work
7979

8080
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.
81-
The rules are pretty simple: if you can certify the below (from [developercertificate.org](http://developercertificate.org/)):
81+
The rules are pretty simple: if you can certify the below (from http://developercertificate.org):
8282

8383
```
8484
Developer Certificate of Origin
@@ -130,7 +130,7 @@ You can add the sign off when creating the git commit via `git commit -s`.
130130
#### Commit Style
131131

132132
Simple house-keeping for clean git history.
133-
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).
133+
Read more on [How to Write a Git Commit Message][how-to-git-commit] or the Discussion section of [git-commit(1)][git-commit.1].
134134

135135
1. Separate the subject from body with a blank line
136136
2. Limit the subject line to 50 characters
@@ -142,6 +142,14 @@ Read more on [How to Write a Git Commit Message](http://chris.beams.io/posts/git
142142
* If there was important/useful/essential conversation or information, copy or include a reference
143143
8. When possible, one keyword to scope the change in the subject (i.e. "README: ...", "runtime: ...")
144144

145-
[UberConference]: https://www.uberconference.com/opencontainers
146-
[irc-logs]: http://ircbot.wl.linuxfoundation.org/eavesdrop/%23opencontainers/
145+
147146
[charter]: https://www.opencontainers.org/about/governance
147+
[code-of-conduct]: https://github.com/opencontainers/tob/blob/master/code-of-conduct.md
148+
[dev-list]: https://groups.google.com/a/opencontainers.org/forum/#!forum/dev
149+
[how-to-git-commit]: http://chris.beams.io/posts/git-commit
150+
[irc-logs]: http://ircbot.wl.linuxfoundation.org/eavesdrop/%23opencontainers/
151+
[oci]: https://www.opencontainers.org
152+
[runtime-wiki]: https://github.com/opencontainers/runtime-spec/wiki
153+
[uberconference]: https://www.uberconference.com/opencontainers
154+
155+
[git-commit.1]: http://git-scm.com/docs/git-commit

ROADMAP.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The items in the 1.0 roadmap can be broken down into smaller milestones that are
66
The topics below are broad and small working groups will be needed for each to define scope and requirements or if the feature is required at all for the OCI level.
77
Topics listed in the roadmap do not mean that they will be implemented or added but are areas that need discussion to see if they fit in to the goals of the OCI.
88

9-
Listed topics may defer to the [project wiki](https://github.com/opencontainers/runtime-spec/wiki/RoadMap:) for collaboration.
9+
Listed topics may defer to the [project wiki][runtime-wiki] for collaboration.
1010

1111
## 1.0
1212

@@ -32,9 +32,9 @@ Ensure that the base configuration format is viable for various platforms.
3232

3333
Systems:
3434

35+
* Linux
3536
* Solaris
3637
* Windows
37-
* Linux
3838

3939
*Owner:* robdolinms as lead coordinator
4040

@@ -45,3 +45,6 @@ Ensure that we have lifecycle hooks in the correct places with full coverage ove
4545
Will probably go away with Vish's work on splitting create and start, and if we have exec.
4646

4747
*Owner:*
48+
49+
50+
[runtime-wiki]: https://github.com/opencontainers/runtime-spec/wiki/RoadMap

bundle.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## <a name="containerFormat" />Container Format
44

55
This section defines a format for encoding a container as a *filesystem bundle* - a set of files organized in a certain way, and containing all the necessary data and metadata for any compliant runtime to perform all standard operations against it.
6-
See also [OS X application bundles](http://en.wikipedia.org/wiki/Bundle_%28OS_X%29) for a similar use of the term *bundle*.
6+
See also [MacOS application bundles][macos_bundle] for a similar use of the term *bundle*.
77

88
The definition of a bundle is only concerned with how a container, and its configuration data, are stored on a local filesystem so that it can be consumed by a compliant runtime.
99

@@ -20,3 +20,5 @@ This directory MUST be referenced from within the `config.json` file.
2020

2121
While these artifacts MUST all be present in a single directory on the local filesystem, that directory itself is not part of the bundle.
2222
In other words, a tar archive of a *bundle* will have these artifacts at the root of the archive, not nested within a top-level directory.
23+
24+
[macos_bundle]: https://en.wikipedia.org/wiki/Bundle_%28macOS%29

config-linux.md

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@ Applications expecting a Linux environment will very likely expect these file pa
1010

1111
The following filesystems SHOULD be made available in each container's filesystem:
1212

13-
| Path | Type |
13+
| Path | Type |
1414
| -------- | ------ |
15-
| /proc | [proc](https://www.kernel.org/doc/Documentation/filesystems/proc.txt) |
16-
| /sys | [sysfs](https://www.kernel.org/doc/Documentation/filesystems/sysfs.txt) |
17-
| /dev/pts | [devpts](https://www.kernel.org/doc/Documentation/filesystems/devpts.txt) |
18-
| /dev/shm | [tmpfs](https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt) |
15+
| /proc | [procfs][procfs] |
16+
| /sys | [sysfs][sysfs] |
17+
| /dev/pts | [devpts][devpts] |
18+
| /dev/shm | [tmpfs][tmpfs] |
1919

2020
## <a name="configLinuxNamespaces" />Namespaces
2121

2222
A namespace wraps a global system resource in an abstraction that makes it appear to the processes within the namespace that they have their own isolated instance of the global resource.
2323
Changes to the global resource are visible to other processes that are members of the namespace, but are invisible to other processes.
24-
For more information, see [the man page](http://man7.org/linux/man-pages/man7/namespaces.7.html).
24+
For more information, see the [namespaces(7)][namespaces.7_2] man page.
2525

2626
Namespaces are specified as an array of entries inside the `namespaces` root field.
2727
The following parameters can be specified to setup namespaces:
@@ -266,7 +266,7 @@ For more information, see [the memory cgroup man page][cgroup-v1-memory].
266266
#### <a name="configLinuxSetOomScoreAdj" />Set oom_score_adj
267267

268268
`oomScoreAdj` sets heuristic regarding how the process is evaluated by the kernel during memory pressure.
269-
For more information, see [the proc filesystem documentation section 3.1](https://www.kernel.org/doc/Documentation/filesystems/proc.txt).
269+
For more information, see [the proc filesystem documentation section 3.1][procfs].
270270
This is a kernel/system level setting, where as `disableOOMKiller` is scoped for a memory cgroup.
271271
For more information on how these two settings work together, see [the memory cgroup documentation section 10. OOM Contol][cgroup-v1-memory].
272272

@@ -479,7 +479,7 @@ The following parameters can be specified to setup the controller:
479479
## <a name="configLinuxSysctl" />Sysctl
480480

481481
**`sysctl`** (object, OPTIONAL) allows kernel parameters to be modified at runtime for the container.
482-
For more information, see [the man page](http://man7.org/linux/man-pages/man8/sysctl.8.html)
482+
For more information, see the [sysctl(8)][sysctl.8] man page.
483483

484484
###### Example
485485

@@ -494,8 +494,8 @@ For more information, see [the man page](http://man7.org/linux/man-pages/man8/sy
494494

495495
Seccomp provides application sandboxing mechanism in the Linux kernel.
496496
Seccomp configuration allows one to configure actions to take for matched syscalls and furthermore also allows matching on values passed as arguments to syscalls.
497-
For more information about Seccomp, see [Seccomp kernel documentation](https://www.kernel.org/doc/Documentation/prctl/seccomp_filter.txt)
498-
The actions, architectures, and operators are strings that match the definitions in seccomp.h from [libseccomp](https://github.com/seccomp/libseccomp) and are translated to corresponding values.
497+
For more information about Seccomp, see [Seccomp][seccomp] kernel documentation.
498+
The actions, architectures, and operators are strings that match the definitions in seccomp.h from [libseccomp][] and are translated to corresponding values.
499499
A valid list of constants as of libseccomp v2.3.2 is shown below.
500500

501501
Architecture Constants
@@ -560,7 +560,7 @@ Operator Constants:
560560

561561
**`rootfsPropagation`** (string, OPTIONAL) sets the rootfs's mount propagation.
562562
Its value is either slave, private, or shared.
563-
[The kernel doc](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt) has more information about mount propagation.
563+
The [Shared Subtrees][sharedsubtree] article in the kernel documentation has more information about mount propagation.
564564

565565
###### Example
566566

@@ -604,7 +604,9 @@ The values MUST be absolute paths in the [container namespace][container-namespa
604604
"mountLabel": "system_u:object_r:svirt_sandbox_file_t:s0:c715,c811"
605605
```
606606

607+
607608
[container-namespace2]: glossary.md#container_namespace
609+
608610
[cgroup-v1]: https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt
609611
[cgroup-v1-blkio]: https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt
610612
[cgroup-v1-cpusets]: https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt
@@ -617,15 +619,23 @@ The values MUST be absolute paths in the [container namespace][container-namespa
617619
[cgroup-v2]: https://www.kernel.org/doc/Documentation/cgroup-v2.txt
618620
[devices]: https://www.kernel.org/doc/Documentation/devices.txt
619621
[devpts]: https://www.kernel.org/doc/Documentation/filesystems/devpts.txt
620-
[file.1]: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_164
622+
[file]: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_164
623+
[libseccomp]: https://github.com/seccomp/libseccomp
624+
[procfs]: https://www.kernel.org/doc/Documentation/filesystems/proc.txt
625+
[seccomp]: https://www.kernel.org/doc/Documentation/prctl/seccomp_filter.txt
626+
[sharedsubtree]: https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt
627+
[sysfs]: https://www.kernel.org/doc/Documentation/filesystems/sysfs.txt
628+
[tmpfs]: https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt
621629

622-
[mknod.1]: http://man7.org/linux/man-pages/man1/mknod.1.html
623-
[mknod.2]: http://man7.org/linux/man-pages/man2/mknod.2.html
624630
[console.4]: http://man7.org/linux/man-pages/man4/console.4.html
625631
[full.4]: http://man7.org/linux/man-pages/man4/full.4.html
632+
[mknod.1]: http://man7.org/linux/man-pages/man1/mknod.1.html
633+
[mknod.2]: http://man7.org/linux/man-pages/man2/mknod.2.html
634+
[namespaces.7_2]: http://man7.org/linux/man-pages/man7/namespaces.7.html
626635
[null.4]: http://man7.org/linux/man-pages/man4/null.4.html
627636
[pts.4]: http://man7.org/linux/man-pages/man4/pts.4.html
628637
[random.4]: http://man7.org/linux/man-pages/man4/random.4.html
638+
[sysctl.8]: http://man7.org/linux/man-pages/man8/sysctl.8.html
629639
[tty.4]: http://man7.org/linux/man-pages/man4/tty.4.html
630640
[zero.4]: http://man7.org/linux/man-pages/man4/zero.4.html
631641
[user-namespaces]: http://man7.org/linux/man-pages/man7/user_namespaces.7.html

config-solaris.md

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# <a name="solarisApplicationContainerConfiguration" />Solaris Application Container Configuration
22

3-
Solaris application containers can be configured using the following properties, all of the below properties have mappings to properties specified under zonecfg(8) man page, except milestone.
3+
Solaris application containers can be configured using the following properties, all of the below properties have mappings to properties specified under [zonecfg(1M)][zonecfg.1m_2] man page, except milestone.
44

55
## <a name="configSolarisMilestone" />milestone
66
The SMF(Service Management Facility) FMRI which should go to "online" state before we start the desired process within the container.
@@ -14,7 +14,7 @@ The SMF(Service Management Facility) FMRI which should go to "online" state befo
1414

1515
## <a name="configSolarisLimitpriv" />limitpriv
1616
The maximum set of privileges any process in this container can obtain.
17-
The property should consist of a comma-separated privilege set specification as described in priv_str_to_set(3C) man page for the respective release of Solaris.
17+
The property should consist of a comma-separated privilege set specification as described in [priv_str_to_set(3C)][priv-str-to-set.3c] man page for the respective release of Solaris.
1818

1919
**`limitpriv`** *(string, OPTIONAL)*
2020

@@ -26,7 +26,7 @@ The property should consist of a comma-separated privilege set specification as
2626
## <a name="configSolarisMaxShmMemory" />maxShmMemory
2727
The maximum amount of shared memory allowed for this application container.
2828
A scale (K, M, G, T) can be applied to the value for each of these numbers (for example, 1M is one megabyte).
29-
Mapped to max-shm-memory in zonecfg(8) man page.
29+
Mapped to `max-shm-memory` in [zonecfg(1M)][zonecfg.1m] man page.
3030

3131
**`maxShmMemory`** *(string, OPTIONAL)*
3232

@@ -40,7 +40,7 @@ Sets a limit on the amount of CPU time that can be used by a container.
4040
The unit used translates to the percentage of a single CPU that can be used by all user threads in a container, expressed as a fraction (for example, .75) or a mixed number (whole number and fraction, for example, 1.25).
4141
An ncpu value of 1 means 100% of a CPU, a value of 1.25 means 125%, .75 mean 75%, and so forth.
4242
When projects within a capped container have their own caps, the minimum value takes precedence.
43-
cappedCPU is mapped to capped-cpu in zonecfg(8) man page.
43+
cappedCPU is mapped to `capped-cpu` in [zonecfg(1M)][zonecfg.1m] man page.
4444

4545
* **`ncpus`** *(string, OPTIONAL)*
4646

@@ -54,7 +54,7 @@ cappedCPU is mapped to capped-cpu in zonecfg(8) man page.
5454
## <a name="configSolarisCappedMemory" />cappedMemory
5555
The physical and swap caps on the memory that can be used by this application container.
5656
A scale (K, M, G, T) can be applied to the value for each of these numbers (for example, 1M is one megabyte).
57-
cappedMemory is mapped to capped-memory in zonecfg(8) man page.
57+
cappedMemory is mapped to `capped-memory` in [zonecfg(1M)][zonecfg.1m] man page.
5858

5959
* **`physical`** *(string, OPTIONAL)*
6060
* **`swap`** *(string, OPTIONAL)*
@@ -73,31 +73,31 @@ cappedMemory is mapped to capped-memory in zonecfg(8) man page.
7373
anet is specified as an array that is used to setup networking for Solaris application containers.
7474
The anet resource represents the automatic creation of a network resource for an application container.
7575
The zones administration daemon, zoneadmd, is the primary process for managing the container's virtual platform.
76-
One of the daemons is responsibilities is creation and teardown of the networks for the container.
77-
For more information on the daemon check the zoneadmd(1M) man page.
76+
One of the daemon's responsibilities is creation and teardown of the networks for the container.
77+
For more information on the daemon see the [zoneadmd(1M)][zoneadmd.1m] man page.
7878
When such a container is started, a temporary VNIC(Virtual NIC) is automatically created for the container.
7979
The VNIC is deleted when the container is torn down.
8080
The following properties can be used to setup automatic networks.
81-
For additional information on properties check zonecfg(8) man page for the respective release of Solaris.
81+
For additional information on properties, check the [zonecfg(1M)][zonecfg.1m] man page for the respective release of Solaris.
8282

8383
* **`linkname`** *(string, OPTIONAL)* Specify a name for the automatically created VNIC datalink.
8484
* **`lowerLink`** *(string, OPTIONAL)* Specify the link over which the VNIC will be created.
85-
Mapped to lower-link in the zonecfg(8) man page.
85+
Mapped to `lower-link` in the [zonecfg(1M)][zonecfg.1m] man page.
8686
* **`allowedAddress`** *(string, OPTIONAL)* The set of IP addresses that the container can use might be constrained by specifying the allowedAddress property.
8787
If allowedAddress has not been specified, then they can use any IP address on the associated physical interface for the network resource.
8888
Otherwise, when allowedAddress is specified, the container cannot use IP addresses that are not in the allowedAddress list for the physical address.
89-
Mapped to allowed-address in the zonecfg(8) man page.
89+
Mapped to `allowed-address` in the [zonecfg(1M)][zonecfg.1m] man page.
9090
* **`configureAllowedAddress`** *(string, OPTIONAL)* If configureAllowedAddress is set to true, the addresses specified by allowedAddress are automatically configured on the interface each time the container starts.
9191
When it is set to false, the allowedAddress will not be configured on container start.
92-
Mapped to configure-allowed-address in the zonecfg(8) man page.
92+
Mapped to `configure-allowed-address` in the [zonecfg(1M)][zonecfg.1m] man page.
9393
* **`defrouter`** *(string, OPTIONAL)* The value for the OPTIONAL default router.
94-
* **`macAddress`** *(string, OPTIONAL)* Set the VNIC's MAC addresses based on the specified value or keyword.
94+
* **`macAddress`** *(string, OPTIONAL)* Set the VNIC`s MAC addresses based on the specified value or keyword.
9595
If not a keyword, it is interpreted as a unicast MAC address.
96-
For a list of the supported keywords please refer to the zonecfg(8) man page of the respective Solaris release.
97-
Mapped to mac-address in the zonecfg(8) man page.
96+
For a list of the supported keywords please refer to the [zonecfg(1M)][zonecfg.1m] man page of the respective Solaris release.
97+
Mapped to `mac-address` in the [zonecfg(1M)][zonecfg.1m] man page.
9898
* **`linkProtection`** *(string, OPTIONAL)* Enables one or more types of link protection using comma-separated values.
9999
See the protection property in dladm(8) for supported values in respective release of Solaris.
100-
Mapped to link-protection in the zonecfg(8) man page.
100+
Mapped to `link-protection` in the [zonecfg(1M)][zonecfg.1m] man page.
101101

102102
#### Example
103103
```json
@@ -113,3 +113,8 @@ Mapped to link-protection in the zonecfg(8) man page.
113113
}
114114
]
115115
```
116+
117+
118+
[priv-str-to-set.3c]: http://docs.oracle.com/cd/E53394_01/html/E54766/priv-str-to-set-3c.html
119+
[zoneadmd.1m]: http://docs.oracle.com/cd/E53394_01/html/E54764/zoneadmd-1m.html
120+
[zonecfg.1m_2]: http://docs.oracle.com/cd/E53394_01/html/E54764/zonecfg-1m.html

0 commit comments

Comments
 (0)