{"action":"created","issue":{"url":"https://api.github.com/repos/graphcool/graphcool/issues/714","repository_url":"https://api.github.com/repos/graphcool/graphcool","labels_url":"https://api.github.com/repos/graphcool/graphcool/issues/714/labels{/name}","comments_url":"https://api.github.com/repos/graphcool/graphcool/issues/714/comments","events_url":"https://api.github.com/repos/graphcool/graphcool/issues/714/events","html_url":"https://github.com/graphcool/graphcool/issues/714","id":261930592,"number":714,"title":"Local Workflow","user":{"login":"timsuchanek","id":1094804,"avatar_url":"https://avatars1.githubusercontent.com/u/1094804?v=4","gravatar_id":"","url":"https://api.github.com/users/timsuchanek","html_url":"https://github.com/timsuchanek","followers_url":"https://api.github.com/users/timsuchanek/followers","following_url":"https://api.github.com/users/timsuchanek/following{/other_user}","gists_url":"https://api.github.com/users/timsuchanek/gists{/gist_id}","starred_url":"https://api.github.com/users/timsuchanek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timsuchanek/subscriptions","organizations_url":"https://api.github.com/users/timsuchanek/orgs","repos_url":"https://api.github.com/users/timsuchanek/repos","events_url":"https://api.github.com/users/timsuchanek/events{/privacy}","received_events_url":"https://api.github.com/users/timsuchanek/received_events","type":"User","site_admin":false},"labels":[{"id":613117256,"url":"https://api.github.com/repos/graphcool/graphcool/labels/component/cli","name":"component/cli","color":"d4c5f9","default":false},{"id":502077932,"url":"https://api.github.com/repos/graphcool/graphcool/labels/kind/feature","name":"kind/feature","color":"0e8a16","default":false},{"id":707461750,"url":"https://api.github.com/repos/graphcool/graphcool/labels/proposal/needs-review","name":"proposal/needs-review","color":"b621ff","default":false}],"state":"closed","locked":false,"assignee":{"login":"sorenbs","id":281337,"avatar_url":"https://avatars3.githubusercontent.com/u/281337?v=4","gravatar_id":"","url":"https://api.github.com/users/sorenbs","html_url":"https://github.com/sorenbs","followers_url":"https://api.github.com/users/sorenbs/followers","following_url":"https://api.github.com/users/sorenbs/following{/other_user}","gists_url":"https://api.github.com/users/sorenbs/gists{/gist_id}","starred_url":"https://api.github.com/users/sorenbs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sorenbs/subscriptions","organizations_url":"https://api.github.com/users/sorenbs/orgs","repos_url":"https://api.github.com/users/sorenbs/repos","events_url":"https://api.github.com/users/sorenbs/events{/privacy}","received_events_url":"https://api.github.com/users/sorenbs/received_events","type":"User","site_admin":false},"assignees":[{"login":"sorenbs","id":281337,"avatar_url":"https://avatars3.githubusercontent.com/u/281337?v=4","gravatar_id":"","url":"https://api.github.com/users/sorenbs","html_url":"https://github.com/sorenbs","followers_url":"https://api.github.com/users/sorenbs/followers","following_url":"https://api.github.com/users/sorenbs/following{/other_user}","gists_url":"https://api.github.com/users/sorenbs/gists{/gist_id}","starred_url":"https://api.github.com/users/sorenbs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sorenbs/subscriptions","organizations_url":"https://api.github.com/users/sorenbs/orgs","repos_url":"https://api.github.com/users/sorenbs/repos","events_url":"https://api.github.com/users/sorenbs/events{/privacy}","received_events_url":"https://api.github.com/users/sorenbs/received_events","type":"User","site_admin":false},{"login":"schickling","id":1567498,"avatar_url":"https://avatars2.githubusercontent.com/u/1567498?v=4","gravatar_id":"","url":"https://api.github.com/users/schickling","html_url":"https://github.com/schickling","followers_url":"https://api.github.com/users/schickling/followers","following_url":"https://api.github.com/users/schickling/following{/other_user}","gists_url":"https://api.github.com/users/schickling/gists{/gist_id}","starred_url":"https://api.github.com/users/schickling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schickling/subscriptions","organizations_url":"https://api.github.com/users/schickling/orgs","repos_url":"https://api.github.com/users/schickling/repos","events_url":"https://api.github.com/users/schickling/events{/privacy}","received_events_url":"https://api.github.com/users/schickling/received_events","type":"User","site_admin":false},{"login":"marktani","id":1780597,"avatar_url":"https://avatars1.githubusercontent.com/u/1780597?v=4","gravatar_id":"","url":"https://api.github.com/users/marktani","html_url":"https://github.com/marktani","followers_url":"https://api.github.com/users/marktani/followers","following_url":"https://api.github.com/users/marktani/following{/other_user}","gists_url":"https://api.github.com/users/marktani/gists{/gist_id}","starred_url":"https://api.github.com/users/marktani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marktani/subscriptions","organizations_url":"https://api.github.com/users/marktani/orgs","repos_url":"https://api.github.com/users/marktani/repos","events_url":"https://api.github.com/users/marktani/events{/privacy}","received_events_url":"https://api.github.com/users/marktani/received_events","type":"User","site_admin":false},{"login":"dpetrick","id":4272382,"avatar_url":"https://avatars0.githubusercontent.com/u/4272382?v=4","gravatar_id":"","url":"https://api.github.com/users/dpetrick","html_url":"https://github.com/dpetrick","followers_url":"https://api.github.com/users/dpetrick/followers","following_url":"https://api.github.com/users/dpetrick/following{/other_user}","gists_url":"https://api.github.com/users/dpetrick/gists{/gist_id}","starred_url":"https://api.github.com/users/dpetrick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dpetrick/subscriptions","organizations_url":"https://api.github.com/users/dpetrick/orgs","repos_url":"https://api.github.com/users/dpetrick/repos","events_url":"https://api.github.com/users/dpetrick/events{/privacy}","received_events_url":"https://api.github.com/users/dpetrick/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/graphcool/graphcool/milestones/3","html_url":"https://github.com/graphcool/graphcool/milestone/3","labels_url":"https://api.github.com/repos/graphcool/graphcool/milestones/3/labels","id":2800265,"number":3,"title":"0.8","description":"","creator":{"login":"schickling","id":1567498,"avatar_url":"https://avatars2.githubusercontent.com/u/1567498?v=4","gravatar_id":"","url":"https://api.github.com/users/schickling","html_url":"https://github.com/schickling","followers_url":"https://api.github.com/users/schickling/followers","following_url":"https://api.github.com/users/schickling/following{/other_user}","gists_url":"https://api.github.com/users/schickling/gists{/gist_id}","starred_url":"https://api.github.com/users/schickling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schickling/subscriptions","organizations_url":"https://api.github.com/users/schickling/orgs","repos_url":"https://api.github.com/users/schickling/repos","events_url":"https://api.github.com/users/schickling/events{/privacy}","received_events_url":"https://api.github.com/users/schickling/received_events","type":"User","site_admin":false},"open_issues":54,"closed_issues":2,"state":"open","created_at":"2017-09-28T12:27:27Z","updated_at":"2017-10-13T17:24:45Z","due_on":"2017-10-20T07:00:00Z","closed_at":null},"comments":17,"created_at":"2017-10-01T17:10:50Z","updated_at":"2017-10-13T17:24:45Z","closed_at":"2017-10-13T17:24:45Z","author_association":"MEMBER","body":"## Local Development\r\nWe will enable a local development workflow using docker under the hood.\r\nThe topic this proposal is shedding light on is how that exactly looks like in the CLI.\r\n\r\n## Commands\r\n`gc local up`: Pull & Start a local Graphcool instance\r\n`gc local start`: Start an already intialized local Graphcool instance\r\n`gc local pull`: Pull the latest Graphcool version\r\n`gc local stop`: Stop the currently running local Graphcool instance\r\n`gc local reset`: Reset the local Project\r\n\r\n## `.graphcoolrc`\r\nThe `.graphcoolrc` would get a new \"kind\" of environment, called `local`:\r\n```yaml\r\ndefault: dev\r\nenvironments:\r\n  prod: cj7zy085306i50193k7ox16z4\r\n  dev: local\r\n```\r\n\r\n## `~/.graphcool`\r\n```json\r\n{\r\n  \"token\": \"...\",\r\n  \"local_token\": \"...\",\r\n  \"local_host\": \"localhost:60000\"\r\n}\r\n```\r\nSo additionaly to `token`, there will also be `local_token` and `local_host`.\r\nThese values all can be overwritten by environment variables:\r\n```bash\r\nexport GRAPHCOOL_TOKEN=...\r\nexport GRAPHCOOL_LOCAL_TOKEN=...\r\nexport GRAPHCOOL_LOCAL_HOST=...\r\n```\r\n\r\nThere can be one local environment at the same time. When multiple local environments are needed, that orchestration can be achieved with managing the environment variables.\r\n\r\n## Update:\r\nAdd `gc local restart` command.\r\n\r\n## Update 2:\r\nAs @kbrandwijk suggested, it makes more sense for the local docker environment information to live in the `.graphcoolrc` file and not the `.graphcool` file as `.graphcool` is global and the local docker env information is project related.\r\nWith this change the files look as follows:\r\n\r\n## `.graphcoolrc`\r\n```yaml\r\ndefault: dev\r\nenvironments:\r\n  prod: cj7zy085306i50193k7ox16z4\r\n  dev:\r\n    token: \"...\"\r\n    host: \"localhost:60000\"\r\n    projectId: c27zs08d30ai52683k7mx26a5 # temporary, will be removed soon\r\n```\r\n\r\n## `~/.graphcool`\r\n```json\r\n{\r\n  \"token\": \"...\"\r\n}\r\n```"},"comment":{"url":"https://api.github.com/repos/graphcool/graphcool/issues/comments/336515730","html_url":"https://github.com/graphcool/graphcool/issues/714#issuecomment-336515730","issue_url":"https://api.github.com/repos/graphcool/graphcool/issues/714","id":336515730,"user":{"login":"timsuchanek","id":1094804,"avatar_url":"https://avatars1.githubusercontent.com/u/1094804?v=4","gravatar_id":"","url":"https://api.github.com/users/timsuchanek","html_url":"https://github.com/timsuchanek","followers_url":"https://api.github.com/users/timsuchanek/followers","following_url":"https://api.github.com/users/timsuchanek/following{/other_user}","gists_url":"https://api.github.com/users/timsuchanek/gists{/gist_id}","starred_url":"https://api.github.com/users/timsuchanek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timsuchanek/subscriptions","organizations_url":"https://api.github.com/users/timsuchanek/orgs","repos_url":"https://api.github.com/users/timsuchanek/repos","events_url":"https://api.github.com/users/timsuchanek/events{/privacy}","received_events_url":"https://api.github.com/users/timsuchanek/received_events","type":"User","site_admin":false},"created_at":"2017-10-13T17:24:45Z","updated_at":"2017-10-13T17:24:45Z","author_association":"MEMBER","body":"This proposal is now implemented and released with version `v0.7.0`.\r\nYou can install it with `npm install -g graphcool@next`.\r\n@kbrandwijk we will release more docs around this in the coming days!"}}
{"actor":{"display_login":"timsuchanek"}}