...

Text file src/github.com/opencontainers/runtime-spec/schema/config-schema.json

Documentation: github.com/opencontainers/runtime-spec/schema

     1{
     2    "description": "Open Container Initiative Runtime Specification Container Configuration Schema",
     3    "$schema": "http://json-schema.org/draft-04/schema#",
     4    "type": "object",
     5    "properties": {
     6        "ociVersion": {
     7            "$ref": "defs.json#/definitions/ociVersion"
     8        },
     9        "hooks": {
    10            "type": "object",
    11            "properties": {
    12                "prestart": {
    13                    "$ref": "defs.json#/definitions/ArrayOfHooks"
    14                },
    15                "createRuntime": {
    16                    "$ref": "defs.json#/definitions/ArrayOfHooks"
    17                },
    18                "createContainer": {
    19                    "$ref": "defs.json#/definitions/ArrayOfHooks"
    20                },
    21                "startContainer": {
    22                    "$ref": "defs.json#/definitions/ArrayOfHooks"
    23                },
    24                "poststart": {
    25                    "$ref": "defs.json#/definitions/ArrayOfHooks"
    26                },
    27                "poststop": {
    28                    "$ref": "defs.json#/definitions/ArrayOfHooks"
    29                }
    30            }
    31        },
    32        "annotations": {
    33            "$ref": "defs.json#/definitions/annotations"
    34        },
    35        "hostname": {
    36            "type": "string"
    37        },
    38        "domainname": {
    39            "type": "string"
    40        },
    41        "mounts": {
    42            "type": "array",
    43            "items": {
    44                "$ref": "defs.json#/definitions/Mount"
    45            }
    46        },
    47        "root": {
    48            "description": "Configures the container's root filesystem.",
    49            "type": "object",
    50            "required": [
    51                "path"
    52            ],
    53            "properties": {
    54                "path": {
    55                    "$ref": "defs.json#/definitions/FilePath"
    56                },
    57                "readonly": {
    58                    "type": "boolean"
    59                }
    60            }
    61        },
    62        "process": {
    63            "type": "object",
    64            "required": [
    65                "cwd"
    66            ],
    67            "properties": {
    68                "args": {
    69                    "$ref": "defs.json#/definitions/ArrayOfStrings"
    70                },
    71                "commandLine": {
    72                    "type": "string"
    73                },
    74                "consoleSize": {
    75                    "type": "object",
    76                    "required": [
    77                        "height",
    78                        "width"
    79                    ],
    80                    "properties": {
    81                        "height": {
    82                            "$ref": "defs.json#/definitions/uint64"
    83                        },
    84                        "width": {
    85                            "$ref": "defs.json#/definitions/uint64"
    86                        }
    87                    }
    88                },
    89                "cwd": {
    90                    "type": "string"
    91                },
    92                "env": {
    93                    "$ref": "defs.json#/definitions/Env"
    94                },
    95                "terminal": {
    96                    "type": "boolean"
    97                },
    98                "user": {
    99                    "type": "object",
   100                    "properties": {
   101                        "uid": {
   102                            "$ref": "defs.json#/definitions/UID"
   103                        },
   104                        "gid": {
   105                            "$ref": "defs.json#/definitions/GID"
   106                        },
   107                        "umask": {
   108                            "$ref": "defs.json#/definitions/Umask"
   109                        },
   110                        "additionalGids": {
   111                            "$ref": "defs.json#/definitions/ArrayOfGIDs"
   112                        },
   113                        "username": {
   114                            "type": "string"
   115                        }
   116                    }
   117                },
   118                "capabilities": {
   119                    "type": "object",
   120                    "properties": {
   121                        "bounding": {
   122                            "$ref": "defs.json#/definitions/ArrayOfStrings"
   123                        },
   124                        "permitted": {
   125                            "$ref": "defs.json#/definitions/ArrayOfStrings"
   126                        },
   127                        "effective": {
   128                            "$ref": "defs.json#/definitions/ArrayOfStrings"
   129                        },
   130                        "inheritable": {
   131                            "$ref": "defs.json#/definitions/ArrayOfStrings"
   132                        },
   133                        "ambient": {
   134                            "$ref": "defs.json#/definitions/ArrayOfStrings"
   135                        }
   136                    }
   137                },
   138                "apparmorProfile": {
   139                    "type": "string"
   140                },
   141                "oomScoreAdj": {
   142                    "type": "integer"
   143                },
   144                "selinuxLabel": {
   145                    "type": "string"
   146                },
   147                "ioPriority": {
   148                    "type": "object",
   149                    "required": [
   150                        "class"
   151                    ],
   152                    "properties": {
   153                        "class": {
   154                            "type": "string",
   155                            "enum": [
   156                                "IOPRIO_CLASS_RT",
   157                                "IOPRIO_CLASS_BE",
   158                                "IOPRIO_CLASS_IDLE"
   159                            ]
   160                        },
   161                        "priority": {
   162                            "$ref": "defs.json#/definitions/int32"
   163                        }
   164                    }
   165                },
   166                "noNewPrivileges": {
   167                    "type": "boolean"
   168                },
   169                "scheduler": {
   170                    "type": "object",
   171                    "required": [
   172                        "policy"
   173                    ],
   174                    "properties": {
   175                        "policy": {
   176                            "$ref": "defs-linux.json#/definitions/SchedulerPolicy"
   177                        },
   178                        "nice": {
   179                            "$ref": "defs.json#/definitions/int32"
   180                        },
   181                        "priority": {
   182                            "$ref": "defs.json#/definitions/int32"
   183                        },
   184                       "flags": {
   185                           "type": "array",
   186                           "items": {
   187                               "$ref": "defs-linux.json#/definitions/SchedulerFlag"
   188                           }
   189                        },
   190                        "runtime": {
   191                            "$ref": "defs.json#/definitions/uint64"
   192                        },
   193                        "deadline": {
   194                            "$ref": "defs.json#/definitions/uint64"
   195                        },
   196                        "period": {
   197                            "$ref": "defs.json#/definitions/uint64"
   198                        }
   199                    }
   200                },
   201                "rlimits": {
   202                    "type": "array",
   203                    "items": {
   204                        "type": "object",
   205                        "required": [
   206                            "type",
   207                            "soft",
   208                            "hard"
   209                        ],
   210                        "properties": {
   211                            "hard": {
   212                                "$ref": "defs.json#/definitions/uint64"
   213                            },
   214                            "soft": {
   215                                "$ref": "defs.json#/definitions/uint64"
   216                            },
   217                            "type": {
   218                                "type": "string",
   219                                "pattern": "^RLIMIT_[A-Z]+$"
   220                            }
   221                        }
   222                    }
   223                }
   224            }
   225        },
   226        "linux": {
   227            "$ref": "config-linux.json#/linux"
   228        },
   229        "solaris": {
   230            "$ref": "config-solaris.json#/solaris"
   231        },
   232        "windows": {
   233            "$ref": "config-windows.json#/windows"
   234        },
   235        "vm": {
   236            "$ref": "config-vm.json#/vm"
   237        },
   238        "zos": {
   239            "$ref": "config-zos.json#/zos"
   240        }
   241    },
   242    "required": [
   243        "ociVersion"
   244    ]
   245}

View as plain text