diff --git a/config.md b/config.md index 0a21d654d..a55d90ed6 100644 --- a/config.md +++ b/config.md @@ -186,7 +186,31 @@ _Note: For Solaris, uid and gid specify the uid and gid of the process inside th "cwd": "/root", "args": [ "/usr/bin/bash" + ] +} +``` + +#### Windows User + +For Windows based systems the user structure has the following fields: + +* **`username`** (string, optional) specifies the user name for the process. + +### Example (Windows) + +```json +"process": { + "terminal": true, + "user": { + "username": "containeradministrator" + }, + "env": [ + "VARIABLE=1" ], + "cwd": "c:\\foo", + "args": [ + "someapp.exe", + ] } ``` diff --git a/specs-go/config.go b/specs-go/config.go index de42035f8..00a2228c3 100644 --- a/specs-go/config.go +++ b/specs-go/config.go @@ -53,8 +53,7 @@ type Process struct { SelinuxLabel string `json:"selinuxLabel,omitempty" platform:"linux"` } -// User specifies Linux/Solaris specific user and group information -// for the container process. +// User specifies specific user (and group) information for the container process. type User struct { // UID is the user id. (this field is platform dependent) UID uint32 `json:"uid" platform:"linux,solaris"` @@ -62,6 +61,8 @@ type User struct { GID uint32 `json:"gid" platform:"linux,solaris"` // AdditionalGids are additional group ids set for the container's process. (this field is platform dependent) AdditionalGids []uint32 `json:"additionalGids,omitempty" platform:"linux,solaris"` + // Username is the user name. (this field is platform dependent) + Username string `json:"username,omitempty" platform:"windows"` } // Root contains information about the container's root filesystem on the host.