payload: {"action":"created","issue":{"url":"https://api.github.com/repos/marcosschroh/cookiecutter-faust/issues/21","repository_url":"https://api.github.com/repos/marcosschroh/cookiecutter-faust","labels_url":"https://api.github.com/repos/marcosschroh/cookiecutter-faust/issues/21/labels{/name}","comments_url":"https://api.github.com/repos/marcosschroh/cookiecutter-faust/issues/21/comments","events_url":"https://api.github.com/repos/marcosschroh/cookiecutter-faust/issues/21/events","html_url":"https://github.com/marcosschroh/cookiecutter-faust/pull/21","id":436486050,"node_id":"MDExOlB1bGxSZXF1ZXN0MjcyOTY2NzY1","number":21,"title":"add make restart","user":{"login":"TomGoBravo","id":1130635,"node_id":"MDQ6VXNlcjExMzA2MzU=","avatar_url":"https://avatars0.githubusercontent.com/u/1130635?v=4","gravatar_id":"","url":"https://api.github.com/users/TomGoBravo","html_url":"https://github.com/TomGoBravo","followers_url":"https://api.github.com/users/TomGoBravo/followers","following_url":"https://api.github.com/users/TomGoBravo/following{/other_user}","gists_url":"https://api.github.com/users/TomGoBravo/gists{/gist_id}","starred_url":"https://api.github.com/users/TomGoBravo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TomGoBravo/subscriptions","organizations_url":"https://api.github.com/users/TomGoBravo/orgs","repos_url":"https://api.github.com/users/TomGoBravo/repos","events_url":"https://api.github.com/users/TomGoBravo/events{/privacy}","received_events_url":"https://api.github.com/users/TomGoBravo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2019-04-24T03:59:46Z","updated_at":"2019-05-09T16:13:31Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/marcosschroh/cookiecutter-faust/pulls/21","html_url":"https://github.com/marcosschroh/cookiecutter-faust/pull/21","diff_url":"https://github.com/marcosschroh/cookiecutter-faust/pull/21.diff","patch_url":"https://github.com/marcosschroh/cookiecutter-faust/pull/21.patch"},"body":"`make restart` reloads the faust container only. This change lets projects see new faust application code in action without rebuilding the image or restarting kafka.\r\nAdd /repo_root_image (copy of the repo at container build time) and /repo_root_mount (mounted from live repo directory on the host) in the faust container."},"comment":{"url":"https://api.github.com/repos/marcosschroh/cookiecutter-faust/issues/comments/490969155","html_url":"https://github.com/marcosschroh/cookiecutter-faust/pull/21#issuecomment-490969155","issue_url":"https://api.github.com/repos/marcosschroh/cookiecutter-faust/issues/21","id":490969155,"node_id":"MDEyOklzc3VlQ29tbWVudDQ5MDk2OTE1NQ==","user":{"login":"TomGoBravo","id":1130635,"node_id":"MDQ6VXNlcjExMzA2MzU=","avatar_url":"https://avatars0.githubusercontent.com/u/1130635?v=4","gravatar_id":"","url":"https://api.github.com/users/TomGoBravo","html_url":"https://github.com/TomGoBravo","followers_url":"https://api.github.com/users/TomGoBravo/followers","following_url":"https://api.github.com/users/TomGoBravo/following{/other_user}","gists_url":"https://api.github.com/users/TomGoBravo/gists{/gist_id}","starred_url":"https://api.github.com/users/TomGoBravo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TomGoBravo/subscriptions","organizations_url":"https://api.github.com/users/TomGoBravo/orgs","repos_url":"https://api.github.com/users/TomGoBravo/repos","events_url":"https://api.github.com/users/TomGoBravo/events{/privacy}","received_events_url":"https://api.github.com/users/TomGoBravo/received_events","type":"User","site_admin":false},"created_at":"2019-05-09T16:13:31Z","updated_at":"2019-05-09T16:13:31Z","author_association":"NONE","body":"> Super nice how fast the worker is restarted. I think we should go for this approach until `Faust` has some kind of `dev server` to auto-reload changes in the code.\r\n\r\nWell, even with auto reload we need the volume mount to get changes into the container and passing signals to the worker for a clean shutdown is nice.\r\n\r\n> Regarding the changes made, I think we should try to keep clean the `wait_for_services.sh` because this `entrypoint` can be used for example with `k8s`. My idea is to have a `Dockerfile`, `Dockerfile.production`, `run_api.sh` and `run_production.sh`.\r\n\r\nI thought removing the exec from `wait_for_services.sh` makes the behavior more closely match the name. With the exec I'd call it `wait_for_services_and_exec.sh`. I liked removing `entrypoint` and `command` from `docker-compose.yaml` so the image is started according to `Dockerfile` with or without compose.\r\n\r\nWhat do you think of the dumb-init entry point? I'm pretty sure it'd work with k8s.\r\n\r\n> `Dockerfile.production` and `run_production.sh` should be the same as before because we don't want to reload changes in production.\r\n\r\nOh, that's a good idea, though it does suggest mounting the repo volume at the same path as the repo in the image so dev and production paths are the same.\r\n\r\n> Then, `Dockerfile` should be pretty similar to what to did except for the `CMD`:\r\n> \r\n> ```\r\n> CMD [\"./wait_for_services.sh\", \"./run.sh\"]\r\n> ```\r\n\r\nHow about calling wait_for_services.sh from `run_dev.sh` and not calling it from `run_production.sh`? In my eyes that extracts all the interesting logic that is run in the container by default into one place, the run shell script. \r\n\r\n> Then for the `volumes` try to use the project slug, so we can reflect the same project structure inside the container.\r\n\r\nThe project slug still appears in the volume. Here is what I see in my container:\r\n```\r\n-rw-r--r-- 1 root   root   341 Apr 30 02:16 /repo_root_image/replay_output_experiment/app.py\r\n-rw-r--r-- 1 myuser myuser 341 Apr 30 02:16 /repo_root_mount/replay_output_experiment/app.py\r\n```\r\nand on the host\r\n```\r\n-rw-r--r-- 1 tombrown tombrown 341 Apr 29 19:16 replay_repo_checkout/replay_output_experiment/app.py\r\n```\r\nthough I totally get that the github repo is usually checked out to a directory with the project name. I do remember when I was getting started finding the nested directories with the same name kind of confusing.\r\n\r\nThere are some polish changes needed to this PR too. And perhaps it'd be easier to pull out the simple requirements change into a smaller PR but I'm out of time for this today :-(\r\n\r\n\r\n"}}
other: {"actor":{"display_login":"TomGoBravo"}}