Browse Source

Include remaining valid config properties

Signed-off-by: Mazz Mosley <[email protected]>
Mazz Mosley 10 năm trước cách đây
mục cha
commit
8d6694085d
2 tập tin đã thay đổi với 55 bổ sung9 xóa
  1. 0 5
      compose/config/config.py
  2. 55 4
      compose/schema.json

+ 0 - 5
compose/config/config.py

@@ -525,11 +525,6 @@ def parse_labels(labels):
     if isinstance(labels, dict):
         return labels
 
-    raise ConfigurationError(
-        "labels \"%s\" must be a list or mapping" %
-        labels
-    )
-
 
 def split_label(label):
     if '=' in label:

+ 55 - 4
compose/schema.json

@@ -15,6 +15,19 @@
 
       "properties": {
         "build": {"type": "string"},
+        "cap_add": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
+        "cap_drop": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
+        "command": {"$ref": "#/definitions/string_or_list"},
+        "container_name": {"type": "string"},
+        "cpu_shares": {"type": "string"},
+        "cpuset": {"type": "string"},
+        "detach": {"type": "boolean"},
+        "devices": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
+        "dns": {"$ref": "#/definitions/string_or_list"},
+        "dns_search": {"$ref": "#/definitions/string_or_list"},
+        "dockerfile": {"type": "string"},
+        "domainname": {"type": "string"},
+        "entrypoint": {"type": "string"},
         "env_file": {"$ref": "#/definitions/string_or_list"},
 
         "environment": {
@@ -24,6 +37,8 @@
           ]
         },
 
+        "expose": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
+
         "extends": {
           "type": "object",
 
@@ -35,9 +50,29 @@
           "additionalProperties": false
         },
 
+        "extra_hosts": {"$ref": "#/definitions/list_or_dict"},
+        "external_links": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
+        "hostname": {"type": "string"},
         "image": {"type": "string"},
+        "labels": {"$ref": "#/definitions/list_or_dict"},
+        "links": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
+        "log_driver": {"type": "string"},
+
+        "log_opt": {
+          "type": "object",
+
+          "properties": {
+            "address": {"type": "string"}
+          },
+          "required": ["address"]
+        },
+
+        "mac_address": {"type": "string"},
         "mem_limit": {"type": "number"},
         "memswap_limit": {"type": "number"},
+        "name": {"type": "string"},
+        "net": {"type": "string"},
+        "pid": {"type": "string"},
 
         "ports": {
           "oneOf": [
@@ -49,8 +84,18 @@
               "format": "ports"
             }
           ]
-        }
+        },
 
+        "privileged": {"type": "string"},
+        "read_only": {"type": "boolean"},
+        "restart": {"type": "string"},
+        "security_opt": {"type": "string"},
+        "stdin_open": {"type": "string"},
+        "tty": {"type": "string"},
+        "user": {"type": "string"},
+        "volumes": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
+        "volumes_from": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
+        "working_dir": {"type": "string"}
       },
 
       "anyOf": [
@@ -70,8 +115,8 @@
 
       "dependencies": {
         "memswap_limit": ["mem_limit"]
-      }
-
+      },
+      "additionalProperties": false
     },
 
     "string_or_list": {
@@ -85,9 +130,15 @@
       "type": "array",
       "items": {"type": "string"},
       "uniqueItems": true
+    },
+
+    "list_or_dict": {
+      "oneOf": [
+        {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
+        {"type": "object"}
+      ]
     }
 
   },
-
   "additionalProperties": false
 }