{"action":"closed","number":249,"pull_request":{"url":"https://api.github.com/repos/JuliaLang/JuliaBox/pulls/249","id":40037448,"html_url":"https://github.com/JuliaLang/JuliaBox/pull/249","diff_url":"https://github.com/JuliaLang/JuliaBox/pull/249.diff","patch_url":"https://github.com/JuliaLang/JuliaBox/pull/249.patch","issue_url":"https://api.github.com/repos/JuliaLang/JuliaBox/issues/249","number":249,"state":"closed","locked":false,"title":"container managers (engines) as docker containers","user":{"login":"tanmaykm","id":1010989,"avatar_url":"https://avatars.githubusercontent.com/u/1010989?v=3","gravatar_id":"","url":"https://api.github.com/users/tanmaykm","html_url":"https://github.com/tanmaykm","followers_url":"https://api.github.com/users/tanmaykm/followers","following_url":"https://api.github.com/users/tanmaykm/following{/other_user}","gists_url":"https://api.github.com/users/tanmaykm/gists{/gist_id}","starred_url":"https://api.github.com/users/tanmaykm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tanmaykm/subscriptions","organizations_url":"https://api.github.com/users/tanmaykm/orgs","repos_url":"https://api.github.com/users/tanmaykm/repos","events_url":"https://api.github.com/users/tanmaykm/events{/privacy}","received_events_url":"https://api.github.com/users/tanmaykm/received_events","type":"User","site_admin":false},"body":"This changes the JuliaBox container manager processes (the tornado application and the JuliaBox daemon to docker containers), now referred as engines. JuliaBox Engines are docker containers that implement container management.\r\n\r\nIt will be possible to have different container management strategies for different types of containers, e.g. for interactive sessions, for applications, for API hosting.\r\n\r\nA base engine container provides common functionality. The base engine runs in privileged mode and provides common functionalities over a ZMQ based API. Other engines are build on this base, and communicate with the base over the provided ZMQ interface.\r\n\r\nNote: This breaks the implementation of the EBS volume plugin, since there is no way to share a device mounted inside a container namespace. Will fix it in a separate commit by implementing volume mounts differently (with `nsenter`).","created_at":"2015-07-15T15:45:27Z","updated_at":"2015-07-16T07:32:54Z","closed_at":"2015-07-16T07:32:54Z","merged_at":"2015-07-16T07:32:53Z","merge_commit_sha":"93749846d43317e3f06b5a2d5c5dd00900c2d534","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/JuliaLang/JuliaBox/pulls/249/commits","review_comments_url":"https://api.github.com/repos/JuliaLang/JuliaBox/pulls/249/comments","review_comment_url":"https://api.github.com/repos/JuliaLang/JuliaBox/pulls/comments{/number}","comments_url":"https://api.github.com/repos/JuliaLang/JuliaBox/issues/249/comments","statuses_url":"https://api.github.com/repos/JuliaLang/JuliaBox/statuses/95a80f6701ef0d2b0e474af7eb1294dfd29656aa","head":{"label":"tanmaykm:tanmaykm","ref":"tanmaykm","sha":"95a80f6701ef0d2b0e474af7eb1294dfd29656aa","user":{"login":"tanmaykm","id":1010989,"avatar_url":"https://avatars.githubusercontent.com/u/1010989?v=3","gravatar_id":"","url":"https://api.github.com/users/tanmaykm","html_url":"https://github.com/tanmaykm","followers_url":"https://api.github.com/users/tanmaykm/followers","following_url":"https://api.github.com/users/tanmaykm/following{/other_user}","gists_url":"https://api.github.com/users/tanmaykm/gists{/gist_id}","starred_url":"https://api.github.com/users/tanmaykm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tanmaykm/subscriptions","organizations_url":"https://api.github.com/users/tanmaykm/orgs","repos_url":"https://api.github.com/users/tanmaykm/repos","events_url":"https://api.github.com/users/tanmaykm/events{/privacy}","received_events_url":"https://api.github.com/users/tanmaykm/received_events","type":"User","site_admin":false},"repo":{"id":21493051,"name":"JuliaBox","full_name":"tanmaykm/JuliaBox","owner":{"login":"tanmaykm","id":1010989,"avatar_url":"https://avatars.githubusercontent.com/u/1010989?v=3","gravatar_id":"","url":"https://api.github.com/users/tanmaykm","html_url":"https://github.com/tanmaykm","followers_url":"https://api.github.com/users/tanmaykm/followers","following_url":"https://api.github.com/users/tanmaykm/following{/other_user}","gists_url":"https://api.github.com/users/tanmaykm/gists{/gist_id}","starred_url":"https://api.github.com/users/tanmaykm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tanmaykm/subscriptions","organizations_url":"https://api.github.com/users/tanmaykm/orgs","repos_url":"https://api.github.com/users/tanmaykm/repos","events_url":"https://api.github.com/users/tanmaykm/events{/privacy}","received_events_url":"https://api.github.com/users/tanmaykm/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tanmaykm/JuliaBox","description":"IJulia  sandboxed by Docker containers ","fork":true,"url":"https://api.github.com/repos/tanmaykm/JuliaBox","forks_url":"https://api.github.com/repos/tanmaykm/JuliaBox/forks","keys_url":"https://api.github.com/repos/tanmaykm/JuliaBox/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tanmaykm/JuliaBox/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tanmaykm/JuliaBox/teams","hooks_url":"https://api.github.com/repos/tanmaykm/JuliaBox/hooks","issue_events_url":"https://api.github.com/repos/tanmaykm/JuliaBox/issues/events{/number}","events_url":"https://api.github.com/repos/tanmaykm/JuliaBox/events","assignees_url":"https://api.github.com/repos/tanmaykm/JuliaBox/assignees{/user}","branches_url":"https://api.github.com/repos/tanmaykm/JuliaBox/branches{/branch}","tags_url":"https://api.github.com/repos/tanmaykm/JuliaBox/tags","blobs_url":"https://api.github.com/repos/tanmaykm/JuliaBox/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tanmaykm/JuliaBox/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tanmaykm/JuliaBox/git/refs{/sha}","trees_url":"https://api.github.com/repos/tanmaykm/JuliaBox/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tanmaykm/JuliaBox/statuses/{sha}","languages_url":"https://api.github.com/repos/tanmaykm/JuliaBox/languages","stargazers_url":"https://api.github.com/repos/tanmaykm/JuliaBox/stargazers","contributors_url":"https://api.github.com/repos/tanmaykm/JuliaBox/contributors","subscribers_url":"https://api.github.com/repos/tanmaykm/JuliaBox/subscribers","subscription_url":"https://api.github.com/repos/tanmaykm/JuliaBox/subscription","commits_url":"https://api.github.com/repos/tanmaykm/JuliaBox/commits{/sha}","git_commits_url":"https://api.github.com/repos/tanmaykm/JuliaBox/git/commits{/sha}","comments_url":"https://api.github.com/repos/tanmaykm/JuliaBox/comments{/number}","issue_comment_url":"https://api.github.com/repos/tanmaykm/JuliaBox/issues/comments{/number}","contents_url":"https://api.github.com/repos/tanmaykm/JuliaBox/contents/{+path}","compare_url":"https://api.github.com/repos/tanmaykm/JuliaBox/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tanmaykm/JuliaBox/merges","archive_url":"https://api.github.com/repos/tanmaykm/JuliaBox/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tanmaykm/JuliaBox/downloads","issues_url":"https://api.github.com/repos/tanmaykm/JuliaBox/issues{/number}","pulls_url":"https://api.github.com/repos/tanmaykm/JuliaBox/pulls{/number}","milestones_url":"https://api.github.com/repos/tanmaykm/JuliaBox/milestones{/number}","notifications_url":"https://api.github.com/repos/tanmaykm/JuliaBox/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tanmaykm/JuliaBox/labels{/name}","releases_url":"https://api.github.com/repos/tanmaykm/JuliaBox/releases{/id}","created_at":"2014-07-04T09:59:18Z","updated_at":"2015-03-07T02:10:22Z","pushed_at":"2015-07-15T15:31:14Z","git_url":"git://github.com/tanmaykm/JuliaBox.git","ssh_url":"git@github.com:tanmaykm/JuliaBox.git","clone_url":"https://github.com/tanmaykm/JuliaBox.git","svn_url":"https://github.com/tanmaykm/JuliaBox","homepage":"","size":3215,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"JuliaLang:master","ref":"master","sha":"58ec4a7a40138f77c44bc9d831f6296d76e23d56","user":{"login":"JuliaLang","id":743164,"avatar_url":"https://avatars.githubusercontent.com/u/743164?v=3","gravatar_id":"","url":"https://api.github.com/users/JuliaLang","html_url":"https://github.com/JuliaLang","followers_url":"https://api.github.com/users/JuliaLang/followers","following_url":"https://api.github.com/users/JuliaLang/following{/other_user}","gists_url":"https://api.github.com/users/JuliaLang/gists{/gist_id}","starred_url":"https://api.github.com/users/JuliaLang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JuliaLang/subscriptions","organizations_url":"https://api.github.com/users/JuliaLang/orgs","repos_url":"https://api.github.com/users/JuliaLang/repos","events_url":"https://api.github.com/users/JuliaLang/events{/privacy}","received_events_url":"https://api.github.com/users/JuliaLang/received_events","type":"Organization","site_admin":false},"repo":{"id":14196405,"name":"JuliaBox","full_name":"JuliaLang/JuliaBox","owner":{"login":"JuliaLang","id":743164,"avatar_url":"https://avatars.githubusercontent.com/u/743164?v=3","gravatar_id":"","url":"https://api.github.com/users/JuliaLang","html_url":"https://github.com/JuliaLang","followers_url":"https://api.github.com/users/JuliaLang/followers","following_url":"https://api.github.com/users/JuliaLang/following{/other_user}","gists_url":"https://api.github.com/users/JuliaLang/gists{/gist_id}","starred_url":"https://api.github.com/users/JuliaLang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JuliaLang/subscriptions","organizations_url":"https://api.github.com/users/JuliaLang/orgs","repos_url":"https://api.github.com/users/JuliaLang/repos","events_url":"https://api.github.com/users/JuliaLang/events{/privacy}","received_events_url":"https://api.github.com/users/JuliaLang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/JuliaLang/JuliaBox","description":"Run Julia in the browser","fork":false,"url":"https://api.github.com/repos/JuliaLang/JuliaBox","forks_url":"https://api.github.com/repos/JuliaLang/JuliaBox/forks","keys_url":"https://api.github.com/repos/JuliaLang/JuliaBox/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JuliaLang/JuliaBox/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JuliaLang/JuliaBox/teams","hooks_url":"https://api.github.com/repos/JuliaLang/JuliaBox/hooks","issue_events_url":"https://api.github.com/repos/JuliaLang/JuliaBox/issues/events{/number}","events_url":"https://api.github.com/repos/JuliaLang/JuliaBox/events","assignees_url":"https://api.github.com/repos/JuliaLang/JuliaBox/assignees{/user}","branches_url":"https://api.github.com/repos/JuliaLang/JuliaBox/branches{/branch}","tags_url":"https://api.github.com/repos/JuliaLang/JuliaBox/tags","blobs_url":"https://api.github.com/repos/JuliaLang/JuliaBox/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JuliaLang/JuliaBox/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JuliaLang/JuliaBox/git/refs{/sha}","trees_url":"https://api.github.com/repos/JuliaLang/JuliaBox/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JuliaLang/JuliaBox/statuses/{sha}","languages_url":"https://api.github.com/repos/JuliaLang/JuliaBox/languages","stargazers_url":"https://api.github.com/repos/JuliaLang/JuliaBox/stargazers","contributors_url":"https://api.github.com/repos/JuliaLang/JuliaBox/contributors","subscribers_url":"https://api.github.com/repos/JuliaLang/JuliaBox/subscribers","subscription_url":"https://api.github.com/repos/JuliaLang/JuliaBox/subscription","commits_url":"https://api.github.com/repos/JuliaLang/JuliaBox/commits{/sha}","git_commits_url":"https://api.github.com/repos/JuliaLang/JuliaBox/git/commits{/sha}","comments_url":"https://api.github.com/repos/JuliaLang/JuliaBox/comments{/number}","issue_comment_url":"https://api.github.com/repos/JuliaLang/JuliaBox/issues/comments{/number}","contents_url":"https://api.github.com/repos/JuliaLang/JuliaBox/contents/{+path}","compare_url":"https://api.github.com/repos/JuliaLang/JuliaBox/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JuliaLang/JuliaBox/merges","archive_url":"https://api.github.com/repos/JuliaLang/JuliaBox/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JuliaLang/JuliaBox/downloads","issues_url":"https://api.github.com/repos/JuliaLang/JuliaBox/issues{/number}","pulls_url":"https://api.github.com/repos/JuliaLang/JuliaBox/pulls{/number}","milestones_url":"https://api.github.com/repos/JuliaLang/JuliaBox/milestones{/number}","notifications_url":"https://api.github.com/repos/JuliaLang/JuliaBox/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JuliaLang/JuliaBox/labels{/name}","releases_url":"https://api.github.com/repos/JuliaLang/JuliaBox/releases{/id}","created_at":"2013-11-07T06:47:26Z","updated_at":"2015-07-11T05:51:07Z","pushed_at":"2015-07-16T07:32:53Z","git_url":"git://github.com/JuliaLang/JuliaBox.git","ssh_url":"git@github.com:JuliaLang/JuliaBox.git","clone_url":"https://github.com/JuliaLang/JuliaBox.git","svn_url":"https://github.com/JuliaLang/JuliaBox","homepage":"http://www.juliabox.org/","size":3113,"stargazers_count":97,"watchers_count":97,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":19,"mirror_url":null,"open_issues_count":34,"forks":19,"open_issues":34,"watchers":97,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/JuliaLang/JuliaBox/pulls/249"},"html":{"href":"https://github.com/JuliaLang/JuliaBox/pull/249"},"issue":{"href":"https://api.github.com/repos/JuliaLang/JuliaBox/issues/249"},"comments":{"href":"https://api.github.com/repos/JuliaLang/JuliaBox/issues/249/comments"},"review_comments":{"href":"https://api.github.com/repos/JuliaLang/JuliaBox/pulls/249/comments"},"review_comment":{"href":"https://api.github.com/repos/JuliaLang/JuliaBox/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/JuliaLang/JuliaBox/pulls/249/commits"},"statuses":{"href":"https://api.github.com/repos/JuliaLang/JuliaBox/statuses/95a80f6701ef0d2b0e474af7eb1294dfd29656aa"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"tanmaykm","id":1010989,"avatar_url":"https://avatars.githubusercontent.com/u/1010989?v=3","gravatar_id":"","url":"https://api.github.com/users/tanmaykm","html_url":"https://github.com/tanmaykm","followers_url":"https://api.github.com/users/tanmaykm/followers","following_url":"https://api.github.com/users/tanmaykm/following{/other_user}","gists_url":"https://api.github.com/users/tanmaykm/gists{/gist_id}","starred_url":"https://api.github.com/users/tanmaykm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tanmaykm/subscriptions","organizations_url":"https://api.github.com/users/tanmaykm/orgs","repos_url":"https://api.github.com/users/tanmaykm/repos","events_url":"https://api.github.com/users/tanmaykm/events{/privacy}","received_events_url":"https://api.github.com/users/tanmaykm/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"commits":1,"additions":269,"deletions":100,"changed_files":72}}