diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 30514da3..10f81702 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -48,7 +48,7 @@ }, { "ImportPath": "github.com/opencontainers/specs", - "Rev": "89fbfc172945b685f28205bdd1bef2b738bc0b62" + "Rev": "8fa5eb040abe89f09767c1b249b10757bb431cc2" }, { "ImportPath": "github.com/syndtr/gocapability/capability", diff --git a/Godeps/_workspace/src/github.com/opencontainers/specs/bundle.md b/Godeps/_workspace/src/github.com/opencontainers/specs/bundle.md index 897ad4db..1948e486 100644 --- a/Godeps/_workspace/src/github.com/opencontainers/specs/bundle.md +++ b/Godeps/_workspace/src/github.com/opencontainers/specs/bundle.md @@ -12,20 +12,19 @@ A standard container bundle is made of the following 3 parts: # Directory layout -A Standard Container bundle is a directory containing all the content needed to load and run a container. This includes its configuration file, content directories, and cryptographic signatures. The main property of this directory layout is that it can be moved as a unit to another machine and run the same container. +A Standard Container bundle is a directory containing all the content needed to load and run a container. This includes its configuration file (`config.json`) and content directories. The main property of this directory layout is that it can be moved as a unit to another machine and run the same container. -One or more *content directories* may be adjacent to the configuration file. This at least includes the root filesystem (referenced in the configuration by the *rootfs* field) and other related content (signatures, other configs, etc.). The interpretation of these resources is specified in the configuration. +The syntax and semantics for `config.json` are described in [this specification](config.md). + +One or more *content directories* may be adjacent to the configuration file. This must include at least the root filesystem (referenced in the configuration file by the *root* field) and may include other related content (signatures, other configs, etc.). The interpretation of these resources is specified in the configuration. The names of the directories may be arbitrary, but users should consider using conventional names as in the example below. ``` / ! -- config.json ! ---- rootfs1 +--- rootfs ! ---- rootfs2 +--- signatures ``` -The syntax and semantics for config.json are described in this specification. - -One or more content directories can be specified as root file systems for containers. They COULD be called rootfs..10^100 but SHALL be called whatever you want. diff --git a/Godeps/_workspace/src/github.com/opencontainers/specs/config.md b/Godeps/_workspace/src/github.com/opencontainers/specs/config.md index 9fc1b430..4d9117c7 100644 --- a/Godeps/_workspace/src/github.com/opencontainers/specs/config.md +++ b/Godeps/_workspace/src/github.com/opencontainers/specs/config.md @@ -1,7 +1,7 @@ # Configuration file The container’s top-level directory MUST contain a configuration file called `config.json`. -For now the schema is defined in [spec.go](https://github.com/opencontainers/runc/blob/master/spec.go) and [spec_linux.go](https://github.com/opencontainers/runc/blob/master/spec_linux.go), this will be moved to a JSON schema overtime. +For now the canonical schema is defined in [spec.go](spec.go) and [spec_linux.go](spec_linux.go), but this will be moved to a formal JSON schema over time. The configuration file contains metadata necessary to implement standard operations against the container. This includes the process to run, environment variables to inject, sandboxing features to use, etc. diff --git a/Godeps/_workspace/src/github.com/opencontainers/specs/spec_linux.go b/Godeps/_workspace/src/github.com/opencontainers/specs/spec_linux.go index 207f5c88..c272f650 100644 --- a/Godeps/_workspace/src/github.com/opencontainers/specs/spec_linux.go +++ b/Godeps/_workspace/src/github.com/opencontainers/specs/spec_linux.go @@ -17,8 +17,8 @@ type Linux struct { GidMappings []IDMapping `json:"gidMappings"` // Rlimits specifies rlimit options to apply to the container's process. Rlimits []Rlimit `json:"rlimits"` - // SystemProperties are a set of key value pairs that are set for the container on start. - SystemProperties map[string]string `json:"systemProperties"` + // Sysctl are a set of key value pairs that are set for the container on start. + Sysctl map[string]string `json:"sysctl"` // Resources contain cgroup information for handling resource constraints // for the container. Resources Resources `json:"resources"` @@ -106,6 +106,8 @@ type Memory struct { Swap int64 `json:"swap"` // Kernel memory limit (in bytes) Kernel int64 `json:"kernel"` + // How aggressive the kernel will swap memory pages. Range from 0 to 100. Set -1 to use system default. + Swappiness int64 `json:"swappiness"` } type CPU struct {