mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
e73cd70caa
The kernel ABI to these values is a string, which accepts the value `-1` to mean "unlimited" or an integer up to 2^63 for an amount of memory in bytes. While the internal representation in the kernel is unsigned, this is not exposed in any ABI directly. Because of the user-kernel memory split, values over 2^63 are not really useful; indeed that much memory is not supported, as physical memory is limited to 52 bits in the forthcoming switch to five level page tables. So it is much more natural to support the value `-1` for unlimited, especially as the actual number needed to represent the maximum has varied in different kernel versions, and across 32 and 64 bit architectures, so determining the value to use is not possible, so it is necessary to write the string `-1` to the cgroup files. See also discussion in - https://github.com/opencontainers/runc/pull/1494 - https://github.com/opencontainers/runc/pull/1492 - https://github.com/opencontainers/runc/pull/1375 - https://github.com/opencontainers/runc/issues/1421 Signed-off-by: Justin Cormack <justin.cormack@docker.com>
JSON schema
Overview
This directory contains the JSON Schema for validating JSON covered by this specification.
The layout of the files is as follows:
- config-schema.json - the primary entrypoint for the configuration schema
- config-linux.json - the Linux-specific configuration sub-structure
- config-solaris.json - the Solaris-specific configuration sub-structure
- config-windows.json - the Windows-specific configuration sub-structure
- state-schema.json - the primary entrypoint for the state JSON schema
- defs.json - definitions for general types
- defs-linux.json - definitions for Linux-specific types
- validate.go - validation utility source code
Utility
There is also included a simple utility for facilitating validation. To build it:
export GOPATH=`mktemp -d`
go get -d ./...
go build ./validate.go
rm -rf $GOPATH
Or you can just use make command to create the utility:
make validate
Then use it like:
./validate config-schema.json <yourpath>/config.json
Or like:
./validate https://raw.githubusercontent.com/opencontainers/runtime-spec/v1.0.0-rc1/schema/schema.json <yourpath>/config.json