{"action":"created","comment":{"url":"https://api.github.com/repos/opencontainers/specs/pulls/comments/50946692","id":50946692,"diff_hunk":"@@ -0,0 +1,115 @@\n+{\n+  \"description\": \"Definitions used throughout the OpenContainer Specification\",\n+  \"definitions\": {\n+    \"int8\": {\n+      \"type\": \"integer\",\n+      \"minimum\": -128,\n+      \"maximum\": 127\n+    },\n+    \"int16\": {\n+      \"type\": \"integer\",\n+      \"minimum\": -32768,\n+      \"maximum\": 32767\n+    },\n+    \"int32\": {\n+      \"type\": \"integer\",\n+      \"minimum\": -2147483648,\n+      \"maximum\": 2147483647\n+    },\n+    \"int64\": {\n+      \"type\": \"integer\",\n+      \"minimum\": -9223372036854775808,\n+      \"maximum\": 9223372036854775807\n+    },\n+    \"uint8\": {\n+      \"type\": \"integer\",\n+      \"minimum\": 0,\n+      \"maximum\": 255\n+    },\n+    \"uint16\": {\n+      \"type\": \"integer\",\n+      \"minimum\": 0,\n+      \"maximum\": 65535\n+    },\n+    \"uint32\": {\n+      \"type\": \"integer\",\n+      \"minimum\": 0,\n+      \"maximum\": 4294967295\n+    },\n+    \"uint64\": {\n+      \"type\": \"integer\",\n+      \"minimum\": 0,\n+      \"maximum\": 18446744073709551615\n+    },\n+    \"uint16Pointer\": {\n+      \"oneOf\": [\n+        { \"$ref\": \"#/definitions/uint16\" },\n+        { \"type\": \"null\" }\n+      ]\n+    },\n+    \"uint64Pointer\": {\n+      \"oneOf\": [\n+        { \"$ref\": \"#/definitions/uint64\" },\n+        { \"type\": \"null\" }\n+      ]\n+    },\n+    \"stringPointer\": {\n+      \"oneOf\": [\n+        { \"type\": \"string\" },\n+        { \"type\": \"null\" }\n+      ]\n+    },\n+    \"mapStringString\": {\n+      \"type\": \"object\",\n+      \"patternProperties\": {\n+        \".{1,}\": { \"type\": \"string\" }\n+      }\n+    },\n+    \"UID\": { \"$ref\": \"#/definitions/uint32\" },\n+    \"GID\": { \"$ref\": \"#/definitions/uint32\" },\n+    \"ArrayOfGIDs\": {\n+      \"type\": \"array\",\n+      \"items\": {\n+        \"oneOf\": [ { \"$ref\": \"#/definitions/GID\" } ]\n+      }","path":"schema/defs.json","position":74,"original_position":74,"commit_id":"3d58754c8cc166846c1a0a031e0e85f2c2073f0f","original_commit_id":"3d58754c8cc166846c1a0a031e0e85f2c2073f0f","user":{"login":"wking","id":209920,"avatar_url":"https://avatars.githubusercontent.com/u/209920?v=3","gravatar_id":"","url":"https://api.github.com/users/wking","html_url":"https://github.com/wking","followers_url":"https://api.github.com/users/wking/followers","following_url":"https://api.github.com/users/wking/following{/other_user}","gists_url":"https://api.github.com/users/wking/gists{/gist_id}","starred_url":"https://api.github.com/users/wking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wking/subscriptions","organizations_url":"https://api.github.com/users/wking/orgs","repos_url":"https://api.github.com/users/wking/repos","events_url":"https://api.github.com/users/wking/events{/privacy}","received_events_url":"https://api.github.com/users/wking/received_events","type":"User","site_admin":false},"body":"I don't think you need `oneOf` for arrays.  Is there a reason:\r\n\r\n    \"items\": {\r\n      \"$ref\": \"/definitions/GID\"\r\n    }\r\n\r\ndoesn't work?","created_at":"2016-01-27T06:42:45Z","updated_at":"2016-01-27T06:42:45Z","html_url":"https://github.com/opencontainers/specs/pull/313#discussion_r50946692","pull_request_url":"https://api.github.com/repos/opencontainers/specs/pulls/313","_links":{"self":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/comments/50946692"},"html":{"href":"https://github.com/opencontainers/specs/pull/313#discussion_r50946692"},"pull_request":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/313"}}},"pull_request":{"url":"https://api.github.com/repos/opencontainers/specs/pulls/313","id":56500250,"html_url":"https://github.com/opencontainers/specs/pull/313","diff_url":"https://github.com/opencontainers/specs/pull/313.diff","patch_url":"https://github.com/opencontainers/specs/pull/313.patch","issue_url":"https://api.github.com/repos/opencontainers/specs/issues/313","number":313,"state":"open","locked":false,"title":"[WIP] json-schema: initial pass at schema and validator","user":{"login":"vbatts","id":67049,"avatar_url":"https://avatars.githubusercontent.com/u/67049?v=3","gravatar_id":"","url":"https://api.github.com/users/vbatts","html_url":"https://github.com/vbatts","followers_url":"https://api.github.com/users/vbatts/followers","following_url":"https://api.github.com/users/vbatts/following{/other_user}","gists_url":"https://api.github.com/users/vbatts/gists{/gist_id}","starred_url":"https://api.github.com/users/vbatts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbatts/subscriptions","organizations_url":"https://api.github.com/users/vbatts/orgs","repos_url":"https://api.github.com/users/vbatts/repos","events_url":"https://api.github.com/users/vbatts/events{/privacy}","received_events_url":"https://api.github.com/users/vbatts/received_events","type":"User","site_admin":false},"body":"Conforming to https://tools.ietf.org/html/draft-zyp-json-schema-03\r\nand http://json-schema.org/latest/json-schema-core.html\r\n\r\nThis work would ideally pair with separating the current reference source effort #276 \r\n\r\n* [x] provide validation tool to validate a configuration file\r\n* [ ] full structures\r\n* [ ] define basic primitives\r\n* [ ] account for all the pointer usage\r\n* [ ] discuss versioned schema-$ver.json\r\n\r\nThe gist of the `config.json` being tested with (may change periodically): https://gist.github.com/vbatts/5ac2723c9598875ffb0e\r\n\r\nSigned-off-by: Vincent Batts <vbatts@hashbangbash.com>","created_at":"2016-01-19T17:43:27Z","updated_at":"2016-01-27T06:42:45Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6a7c1679c542c130fa63f3945bbb931ccf690567","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/opencontainers/specs/pulls/313/commits","review_comments_url":"https://api.github.com/repos/opencontainers/specs/pulls/313/comments","review_comment_url":"https://api.github.com/repos/opencontainers/specs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/opencontainers/specs/issues/313/comments","statuses_url":"https://api.github.com/repos/opencontainers/specs/statuses/3d58754c8cc166846c1a0a031e0e85f2c2073f0f","head":{"label":"vbatts:json-schema","ref":"json-schema","sha":"3d58754c8cc166846c1a0a031e0e85f2c2073f0f","user":{"login":"vbatts","id":67049,"avatar_url":"https://avatars.githubusercontent.com/u/67049?v=3","gravatar_id":"","url":"https://api.github.com/users/vbatts","html_url":"https://github.com/vbatts","followers_url":"https://api.github.com/users/vbatts/followers","following_url":"https://api.github.com/users/vbatts/following{/other_user}","gists_url":"https://api.github.com/users/vbatts/gists{/gist_id}","starred_url":"https://api.github.com/users/vbatts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbatts/subscriptions","organizations_url":"https://api.github.com/users/vbatts/orgs","repos_url":"https://api.github.com/users/vbatts/repos","events_url":"https://api.github.com/users/vbatts/events{/privacy}","received_events_url":"https://api.github.com/users/vbatts/received_events","type":"User","site_admin":false},"repo":{"id":39969450,"name":"specs","full_name":"vbatts/specs","owner":{"login":"vbatts","id":67049,"avatar_url":"https://avatars.githubusercontent.com/u/67049?v=3","gravatar_id":"","url":"https://api.github.com/users/vbatts","html_url":"https://github.com/vbatts","followers_url":"https://api.github.com/users/vbatts/followers","following_url":"https://api.github.com/users/vbatts/following{/other_user}","gists_url":"https://api.github.com/users/vbatts/gists{/gist_id}","starred_url":"https://api.github.com/users/vbatts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbatts/subscriptions","organizations_url":"https://api.github.com/users/vbatts/orgs","repos_url":"https://api.github.com/users/vbatts/repos","events_url":"https://api.github.com/users/vbatts/events{/privacy}","received_events_url":"https://api.github.com/users/vbatts/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vbatts/specs","description":"Open Container Specifications","fork":true,"url":"https://api.github.com/repos/vbatts/specs","forks_url":"https://api.github.com/repos/vbatts/specs/forks","keys_url":"https://api.github.com/repos/vbatts/specs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vbatts/specs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vbatts/specs/teams","hooks_url":"https://api.github.com/repos/vbatts/specs/hooks","issue_events_url":"https://api.github.com/repos/vbatts/specs/issues/events{/number}","events_url":"https://api.github.com/repos/vbatts/specs/events","assignees_url":"https://api.github.com/repos/vbatts/specs/assignees{/user}","branches_url":"https://api.github.com/repos/vbatts/specs/branches{/branch}","tags_url":"https://api.github.com/repos/vbatts/specs/tags","blobs_url":"https://api.github.com/repos/vbatts/specs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vbatts/specs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vbatts/specs/git/refs{/sha}","trees_url":"https://api.github.com/repos/vbatts/specs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vbatts/specs/statuses/{sha}","languages_url":"https://api.github.com/repos/vbatts/specs/languages","stargazers_url":"https://api.github.com/repos/vbatts/specs/stargazers","contributors_url":"https://api.github.com/repos/vbatts/specs/contributors","subscribers_url":"https://api.github.com/repos/vbatts/specs/subscribers","subscription_url":"https://api.github.com/repos/vbatts/specs/subscription","commits_url":"https://api.github.com/repos/vbatts/specs/commits{/sha}","git_commits_url":"https://api.github.com/repos/vbatts/specs/git/commits{/sha}","comments_url":"https://api.github.com/repos/vbatts/specs/comments{/number}","issue_comment_url":"https://api.github.com/repos/vbatts/specs/issues/comments{/number}","contents_url":"https://api.github.com/repos/vbatts/specs/contents/{+path}","compare_url":"https://api.github.com/repos/vbatts/specs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vbatts/specs/merges","archive_url":"https://api.github.com/repos/vbatts/specs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vbatts/specs/downloads","issues_url":"https://api.github.com/repos/vbatts/specs/issues{/number}","pulls_url":"https://api.github.com/repos/vbatts/specs/pulls{/number}","milestones_url":"https://api.github.com/repos/vbatts/specs/milestones{/number}","notifications_url":"https://api.github.com/repos/vbatts/specs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vbatts/specs/labels{/name}","releases_url":"https://api.github.com/repos/vbatts/specs/releases{/id}","deployments_url":"https://api.github.com/repos/vbatts/specs/deployments","created_at":"2015-07-30T19:50:53Z","updated_at":"2015-07-30T19:50:54Z","pushed_at":"2016-01-25T19:21:41Z","git_url":"git://github.com/vbatts/specs.git","ssh_url":"git@github.com:vbatts/specs.git","clone_url":"https://github.com/vbatts/specs.git","svn_url":"https://github.com/vbatts/specs","homepage":"http://www.opencontainers.org","size":331,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":3,"forks":0,"open_issues":3,"watchers":0,"default_branch":"master"}},"base":{"label":"opencontainers:master","ref":"master","sha":"a7b50925d8996923d99e1c50750131e20b743067","user":{"login":"opencontainers","id":12563465,"avatar_url":"https://avatars.githubusercontent.com/u/12563465?v=3","gravatar_id":"","url":"https://api.github.com/users/opencontainers","html_url":"https://github.com/opencontainers","followers_url":"https://api.github.com/users/opencontainers/followers","following_url":"https://api.github.com/users/opencontainers/following{/other_user}","gists_url":"https://api.github.com/users/opencontainers/gists{/gist_id}","starred_url":"https://api.github.com/users/opencontainers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencontainers/subscriptions","organizations_url":"https://api.github.com/users/opencontainers/orgs","repos_url":"https://api.github.com/users/opencontainers/repos","events_url":"https://api.github.com/users/opencontainers/events{/privacy}","received_events_url":"https://api.github.com/users/opencontainers/received_events","type":"Organization","site_admin":false},"repo":{"id":36960293,"name":"specs","full_name":"opencontainers/specs","owner":{"login":"opencontainers","id":12563465,"avatar_url":"https://avatars.githubusercontent.com/u/12563465?v=3","gravatar_id":"","url":"https://api.github.com/users/opencontainers","html_url":"https://github.com/opencontainers","followers_url":"https://api.github.com/users/opencontainers/followers","following_url":"https://api.github.com/users/opencontainers/following{/other_user}","gists_url":"https://api.github.com/users/opencontainers/gists{/gist_id}","starred_url":"https://api.github.com/users/opencontainers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencontainers/subscriptions","organizations_url":"https://api.github.com/users/opencontainers/orgs","repos_url":"https://api.github.com/users/opencontainers/repos","events_url":"https://api.github.com/users/opencontainers/events{/privacy}","received_events_url":"https://api.github.com/users/opencontainers/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/opencontainers/specs","description":"Open Container Specifications","fork":false,"url":"https://api.github.com/repos/opencontainers/specs","forks_url":"https://api.github.com/repos/opencontainers/specs/forks","keys_url":"https://api.github.com/repos/opencontainers/specs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/opencontainers/specs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/opencontainers/specs/teams","hooks_url":"https://api.github.com/repos/opencontainers/specs/hooks","issue_events_url":"https://api.github.com/repos/opencontainers/specs/issues/events{/number}","events_url":"https://api.github.com/repos/opencontainers/specs/events","assignees_url":"https://api.github.com/repos/opencontainers/specs/assignees{/user}","branches_url":"https://api.github.com/repos/opencontainers/specs/branches{/branch}","tags_url":"https://api.github.com/repos/opencontainers/specs/tags","blobs_url":"https://api.github.com/repos/opencontainers/specs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/opencontainers/specs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/opencontainers/specs/git/refs{/sha}","trees_url":"https://api.github.com/repos/opencontainers/specs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/opencontainers/specs/statuses/{sha}","languages_url":"https://api.github.com/repos/opencontainers/specs/languages","stargazers_url":"https://api.github.com/repos/opencontainers/specs/stargazers","contributors_url":"https://api.github.com/repos/opencontainers/specs/contributors","subscribers_url":"https://api.github.com/repos/opencontainers/specs/subscribers","subscription_url":"https://api.github.com/repos/opencontainers/specs/subscription","commits_url":"https://api.github.com/repos/opencontainers/specs/commits{/sha}","git_commits_url":"https://api.github.com/repos/opencontainers/specs/git/commits{/sha}","comments_url":"https://api.github.com/repos/opencontainers/specs/comments{/number}","issue_comment_url":"https://api.github.com/repos/opencontainers/specs/issues/comments{/number}","contents_url":"https://api.github.com/repos/opencontainers/specs/contents/{+path}","compare_url":"https://api.github.com/repos/opencontainers/specs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/opencontainers/specs/merges","archive_url":"https://api.github.com/repos/opencontainers/specs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/opencontainers/specs/downloads","issues_url":"https://api.github.com/repos/opencontainers/specs/issues{/number}","pulls_url":"https://api.github.com/repos/opencontainers/specs/pulls{/number}","milestones_url":"https://api.github.com/repos/opencontainers/specs/milestones{/number}","notifications_url":"https://api.github.com/repos/opencontainers/specs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/opencontainers/specs/labels{/name}","releases_url":"https://api.github.com/repos/opencontainers/specs/releases{/id}","deployments_url":"https://api.github.com/repos/opencontainers/specs/deployments","created_at":"2015-06-05T23:30:10Z","updated_at":"2016-01-26T20:01:02Z","pushed_at":"2016-01-27T05:27:14Z","git_url":"git://github.com/opencontainers/specs.git","ssh_url":"git@github.com:opencontainers/specs.git","clone_url":"https://github.com/opencontainers/specs.git","svn_url":"https://github.com/opencontainers/specs","homepage":"http://www.opencontainers.org","size":1665,"stargazers_count":602,"watchers_count":602,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":101,"mirror_url":null,"open_issues_count":29,"forks":101,"open_issues":29,"watchers":602,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/313"},"html":{"href":"https://github.com/opencontainers/specs/pull/313"},"issue":{"href":"https://api.github.com/repos/opencontainers/specs/issues/313"},"comments":{"href":"https://api.github.com/repos/opencontainers/specs/issues/313/comments"},"review_comments":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/313/comments"},"review_comment":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/313/commits"},"statuses":{"href":"https://api.github.com/repos/opencontainers/specs/statuses/3d58754c8cc166846c1a0a031e0e85f2c2073f0f"}}}}