Skip to content

Instantly share code, notes, and snippets.

@mrfyda
Created September 19, 2015 11:16
Show Gist options
  • Save mrfyda/074ed788c714bbba88cd to your computer and use it in GitHub Desktop.
Save mrfyda/074ed788c714bbba88cd to your computer and use it in GitHub Desktop.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9._-]+$": {
"$ref": "#/definitions/service"
}
},
"definitions": {
"service": {
"type": "object",
"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": {
"oneOf": [
{
"type": "number"
},
{
"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": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"env_file": {
"$ref": "#/definitions/string_or_list"
},
"environment": {
"oneOf": [
{
"type": "object"
},
{
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
]
},
"expose": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"extends": {
"type": "object",
"properties": {
"service": {
"type": "string"
},
"file": {
"type": "string"
}
},
"required": [
"service"
],
"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"
},
"mac_address": {
"type": "string"
},
"mem_limit": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"memswap_limit": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"name": {
"type": "string"
},
"net": {
"type": "string"
},
"pid": {
"type": [
"string",
"null"
]
},
"ports": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"format": "ports"
},
{
"type": "number",
"format": "ports"
}
]
},
"uniqueItems": true
},
"privileged": {
"type": "boolean"
},
"read_only": {
"type": "boolean"
},
"restart": {
"type": "string"
},
"security_opt": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"stdin_open": {
"type": "string"
},
"tty": {
"type": "string"
},
"user": {
"type": "string"
},
"volumes": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"volume_driver": {
"type": "string"
},
"volumes_from": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"working_dir": {
"type": "string"
}
},
"dependencies": {
"memswap_limit": [
"mem_limit"
]
},
"additionalProperties": false
},
"string_or_list": {
"oneOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/list_of_strings"
}
]
},
"list_of_strings": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"list_or_dict": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
{
"type": "object"
}
]
}
},
"additionalProperties": false
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment