{"action":"opened","issue":{"url":"https://api.github.com/repos/roboconf/roboconf-platform/issues/268","labels_url":"https://api.github.com/repos/roboconf/roboconf-platform/issues/268/labels{/name}","comments_url":"https://api.github.com/repos/roboconf/roboconf-platform/issues/268/comments","events_url":"https://api.github.com/repos/roboconf/roboconf-platform/issues/268/events","html_url":"https://github.com/roboconf/roboconf-platform/issues/268","id":62366122,"number":268,"title":"Remote usage of Docker","user":{"login":"vincent-zurczak","id":1104790,"avatar_url":"https://avatars.githubusercontent.com/u/1104790?v=3","gravatar_id":"","url":"https://api.github.com/users/vincent-zurczak","html_url":"https://github.com/vincent-zurczak","followers_url":"https://api.github.com/users/vincent-zurczak/followers","following_url":"https://api.github.com/users/vincent-zurczak/following{/other_user}","gists_url":"https://api.github.com/users/vincent-zurczak/gists{/gist_id}","starred_url":"https://api.github.com/users/vincent-zurczak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vincent-zurczak/subscriptions","organizations_url":"https://api.github.com/users/vincent-zurczak/orgs","repos_url":"https://api.github.com/users/vincent-zurczak/repos","events_url":"https://api.github.com/users/vincent-zurczak/events{/privacy}","received_events_url":"https://api.github.com/users/vincent-zurczak/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-03-17T11:07:52Z","updated_at":"2015-03-17T11:07:52Z","closed_at":null,"body":"#200 allows to run applications in isolated mode on a remote machine.\r\nWith this mode, recipes are specific to the extension. There is no Puppet as an example.\r\n\r\nThe thing with Docker is that there are several possible usages.\r\nOne of them, that is not covered by #200, is the creation of remote containers. There is indeed a target for Docker that allows the creation of local Docker containers. But these containers could be deployed remotely. In this approach, and unlike #200, we consider that each Docker container has its own Roboconf agent that can deploy anything in it. It means it should be able to reuse recipes like scripts or Puppet.\r\n\r\nHere are 3 use cases (instance hierarchy approach).\r\n\r\n1. /Docker\r\nThe Docker container is deployed remotely as a root instance.\r\n\r\n2. /VM-Embedded/Docker\r\nThe Docker container is deployed on a remote machine which is already associated with a Roboconf agent. Here, the machine already exists, it is not virtualized.\r\n\r\n3. /VM-EC2/Docker\r\nThe Docker container is deployed in a virtualized machine, created by Roboconf.\r\n\r\nThe most realistic use case about this is that we could create Docker-based IaaS with Roboconf. Instead of invoking a REST API, we would simply manage Docker containers. This could be a serious candidate for testing. \r\n\r\nWe have to study what is the best option to handle these situations and what changes we should perform in Roboconf to support them. "}}