mirror of
				https://github.com/linuxkit/linuxkit.git
				synced 2025-10-31 05:12:03 +00:00 
			
		
		
		
	Add Cgroups to runtime config
This will create the list of cgroups specified Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
		| @@ -183,6 +183,7 @@ permissions issues in use. | ||||
|  | ||||
| In addition to the parts of the specification above used to generate the OCI spec, there is a `runtime` section in the image specification | ||||
| which specifies some actions to take place when the container is being started. | ||||
| - `cgroups` takes a list of cgroups that will be created before the container is run. | ||||
| - `mounts` takes a list of mount specifications (`source`, `destination`, `type`, `options`) and mounts them in the root namespace before the container is created. It will | ||||
|   try to make any missing destination directories. | ||||
| - `mkdir` takes a list of directories to create at runtime, in the root mount namespace. These are created before the container is started, so they can be used to create | ||||
|   | ||||
| @@ -100,6 +100,7 @@ type Image struct { | ||||
|  | ||||
| // Runtime is the type of config processed at runtime, not used to build the OCI spec | ||||
| type Runtime struct { | ||||
| 	Cgroups    *[]string      `yaml:"cgroups" json:"cgroups,omitempty"` | ||||
| 	Mounts     *[]specs.Mount `yaml:"mounts" json:"mounts,omitempty"` | ||||
| 	Mkdir      *[]string      `yaml:"mkdir" json:"mkdir,omitempty"` | ||||
| 	Interfaces *[]Interface   `yaml:"interfaces" json:"interfaces,omitempty"` | ||||
| @@ -570,10 +571,12 @@ func assignRuntime(v1, v2 *Runtime) Runtime { | ||||
| 	if v2 == nil { | ||||
| 		v2 = &Runtime{} | ||||
| 	} | ||||
| 	runtimeCgroups := assignStrings(v1.Cgroups, v2.Cgroups) | ||||
| 	runtimeMounts := assignBinds(v1.Mounts, v2.Mounts) | ||||
| 	runtimeMkdir := assignStrings(v1.Mkdir, v2.Mkdir) | ||||
| 	runtimeInterfaces := assignRuntimeInterfaceArray(v1.Interfaces, v2.Interfaces) | ||||
| 	runtime := Runtime{ | ||||
| 		Cgroups:    &runtimeCgroups, | ||||
| 		Mounts:     &runtimeMounts, | ||||
| 		Mkdir:      &runtimeMkdir, | ||||
| 		Interfaces: &runtimeInterfaces, | ||||
|   | ||||
| @@ -239,6 +239,7 @@ var schema = string(` | ||||
|       "type": "object", | ||||
|       "additionalProperties": false, | ||||
|       "properties": { | ||||
|         "cgroups": {"$ref": "#/definitions/strings"}, | ||||
|         "mounts": {"$ref": "#/definitions/mounts"}, | ||||
|         "mkdir": {"$ref": "#/definitions/strings"}, | ||||
|         "interfaces": {"$ref": "#/definitions/interfaces"}, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user