{"action":"created","issue":{"url":"https://api.github.com/repos/lago-project/lago/issues/276","repository_url":"https://api.github.com/repos/lago-project/lago","labels_url":"https://api.github.com/repos/lago-project/lago/issues/276/labels{/name}","comments_url":"https://api.github.com/repos/lago-project/lago/issues/276/comments","events_url":"https://api.github.com/repos/lago-project/lago/issues/276/events","html_url":"https://github.com/lago-project/lago/pull/276","id":158648695,"number":276,"title":"[Feedback request] Lago docker container support","user":{"login":"iankko","id":8414918,"avatar_url":"https://avatars.githubusercontent.com/u/8414918?v=3","gravatar_id":"","url":"https://api.github.com/users/iankko","html_url":"https://github.com/iankko","followers_url":"https://api.github.com/users/iankko/followers","following_url":"https://api.github.com/users/iankko/following{/other_user}","gists_url":"https://api.github.com/users/iankko/gists{/gist_id}","starred_url":"https://api.github.com/users/iankko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iankko/subscriptions","organizations_url":"https://api.github.com/users/iankko/orgs","repos_url":"https://api.github.com/users/iankko/repos","events_url":"https://api.github.com/users/iankko/events{/privacy}","received_events_url":"https://api.github.com/users/iankko/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2016-06-06T10:41:10Z","updated_at":"2016-06-22T12:29:10Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/lago-project/lago/pulls/276","html_url":"https://github.com/lago-project/lago/pull/276","diff_url":"https://github.com/lago-project/lago/pull/276.diff","patch_url":"https://github.com/lago-project/lago/pull/276.patch"},"body":"<br/>\r\nDO NOT MERGE YET, THIS IS WORK IN PROGRESS (feedback appreciated)\r\n<br/>\r\n\r\nIssue https://github.com/lago-project/lago/issues/149 speaks about RFE to add containers support to Lago. After further inspection, looks we have the following possibilities how this could be implemented (assuming Lago container support assumes the corresponding yaml / json file should be something in the format of existing [docker-compose](https://docs.docker.com/compose/compose-file/) one. IOW the implementation not to allow just one simple Dockerfile, but rather multiple container services like used e.g. in ```docker-compose``` configuration. Thus assuming something like the following format should be accepted by Lago once [Docker] container support is implemented:\r\n  * https://docs.docker.com/compose/django/\r\n  * https://docs.docker.com/compose/rails/\r\n  * https://docs.docker.com/compose/wordpress/\r\n\r\nTo get to the possibilities as I see them:\r\n* Approach #1 - allow init json / yaml file in the form of ```docker-compose``` file. Use ```docker-compose``` tool internally to handle tasks like ```lago init, lago deploy, lago start, lago stop, etc.```\r\n(IOW lago commands would be just wrapper around internal use of ```docker-compose``` tool, which would be used for parsing the yaml / json file),\r\n  Advantages of this approach:\r\n  * No need to write own ```docker-compose``` yaml/json file parser,\r\n  Disadvantage:\r\n  * Dependency on ```docker-compose``` RPM, which AFAIK  in Fedora (based on v1.2.0) doesn't support ```version 2``` of ```docker-compose.yml``` yet (hopefully we could help with co-maintaining that package and get it updated sooner),\r\n\r\n* Approach #2 - allow lago container yaml/json file to have the format of ```docker-compose``` file. But use own parser to extract the information, and perform lago commands (```start, stop, etc```).\r\n  Advantages of this approach:\r\n  * No lago dependency on external (possibly outdated) ```docker-compose``` RPM package,\r\n  Disadvantages of this approach:\r\n  * Need to write own ```docker-compose``` yaml/json file parser. From what I have tested, [python-dockerfile-parse](https://admin.fedoraproject.org/pkgdb/package/rpms/python-dockerfile-parse/) doesn't support parsing of ```docker-compose``` yaml/json files (yet).\r\n  * Following this approach we would basically duplicate the work, ```docker-compose``` is doing.\r\n\r\n* Approach #3 - don't allow lago container yaml/json file to have format of ```docker-compose``` file. But define own one, easily to parse.\r\n\r\n  Advantages of this approach:\r\n  * We can define the init file format in the way so it will be easy to write the parser for that (we can use [python-docker-py](https://admin.fedoraproject.org/pkgdb/package/rpms/python-docker-py/) functionality to implement containers management for lago (once init file got parsed).\r\n\r\n  Disadvantages of this approach:\r\n  * We would diverge from commonly used [docker-compose](https://github.com/search?q=in%3Apath+docker-compose.yml+extension%3Ayml&type=Code) init file. Meaning users would need to get accustomed to a new init file format (different UX than with ```docker-compose``` files).\r\n\r\nFeedback / comments on the aforementioned approaches how to get container support for Lago is appreciated.\r\n\r\nThank you, Jan."},"comment":{"url":"https://api.github.com/repos/lago-project/lago/issues/comments/227727947","html_url":"https://github.com/lago-project/lago/pull/276#issuecomment-227727947","issue_url":"https://api.github.com/repos/lago-project/lago/issues/276","id":227727947,"user":{"login":"lago-bot","id":16838703,"avatar_url":"https://avatars.githubusercontent.com/u/16838703?v=3","gravatar_id":"","url":"https://api.github.com/users/lago-bot","html_url":"https://github.com/lago-bot","followers_url":"https://api.github.com/users/lago-bot/followers","following_url":"https://api.github.com/users/lago-bot/following{/other_user}","gists_url":"https://api.github.com/users/lago-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/lago-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lago-bot/subscriptions","organizations_url":"https://api.github.com/users/lago-bot/orgs","repos_url":"https://api.github.com/users/lago-bot/repos","events_url":"https://api.github.com/users/lago-bot/events{/privacy}","received_events_url":"https://api.github.com/users/lago-bot/received_events","type":"User","site_admin":false},"created_at":"2016-06-22T12:29:10Z","updated_at":"2016-06-22T12:29:10Z","body":"Can one of the admins verify this patch?"}}
{"actor":{"display_login":"lago-bot"}}