{"action":"created","issue":{"url":"https://api.github.com/repos/stephenplusplus/gcloud-deploy/issues/1","labels_url":"https://api.github.com/repos/stephenplusplus/gcloud-deploy/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/stephenplusplus/gcloud-deploy/issues/1/comments","events_url":"https://api.github.com/repos/stephenplusplus/gcloud-deploy/issues/1/events","html_url":"https://github.com/stephenplusplus/gcloud-deploy/issues/1","id":111282759,"number":1,"title":"config in package.json?","user":{"login":"ryanseys","id":163873,"avatar_url":"https://avatars.githubusercontent.com/u/163873?v=3","gravatar_id":"","url":"https://api.github.com/users/ryanseys","html_url":"https://github.com/ryanseys","followers_url":"https://api.github.com/users/ryanseys/followers","following_url":"https://api.github.com/users/ryanseys/following{/other_user}","gists_url":"https://api.github.com/users/ryanseys/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanseys/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanseys/subscriptions","organizations_url":"https://api.github.com/users/ryanseys/orgs","repos_url":"https://api.github.com/users/ryanseys/repos","events_url":"https://api.github.com/users/ryanseys/events{/privacy}","received_events_url":"https://api.github.com/users/ryanseys/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-13T22:14:36Z","updated_at":"2015-10-13T22:35:26Z","closed_at":null,"body":"First of all, cool project! With this kind of tool, it could drastically tear down the barrier of entry for pushing apps to Google Cloud. :sunglasses: \r\n\r\nBeing out of the loop of node for a while, I'm wondering whether having the config in your `package.json` is a good idea or recommended practice now? A separate config file will likely give you more flexibility but not sure whether deploy-specific configuration belongs in the package.json. Perhaps you're just using it right now for ease of proof of concept, but in the future might be worthwhile to extract into it's own config file, especially if I want an easy way to deploy to separate systems e.g. `gcloud-deploy --config staging.json` and `gcloud-deploy --config prod.json`"},"comment":{"url":"https://api.github.com/repos/stephenplusplus/gcloud-deploy/issues/comments/147873215","html_url":"https://github.com/stephenplusplus/gcloud-deploy/issues/1#issuecomment-147873215","issue_url":"https://api.github.com/repos/stephenplusplus/gcloud-deploy/issues/1","id":147873215,"user":{"login":"stephenplusplus","id":723048,"avatar_url":"https://avatars.githubusercontent.com/u/723048?v=3","gravatar_id":"","url":"https://api.github.com/users/stephenplusplus","html_url":"https://github.com/stephenplusplus","followers_url":"https://api.github.com/users/stephenplusplus/followers","following_url":"https://api.github.com/users/stephenplusplus/following{/other_user}","gists_url":"https://api.github.com/users/stephenplusplus/gists{/gist_id}","starred_url":"https://api.github.com/users/stephenplusplus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephenplusplus/subscriptions","organizations_url":"https://api.github.com/users/stephenplusplus/orgs","repos_url":"https://api.github.com/users/stephenplusplus/repos","events_url":"https://api.github.com/users/stephenplusplus/events{/privacy}","received_events_url":"https://api.github.com/users/stephenplusplus/received_events","type":"User","site_admin":false},"created_at":"2015-10-13T22:35:26Z","updated_at":"2015-10-13T22:35:26Z","body":"> First of all, cool project! With this kind of tool, it could drastically tear down the barrier of entry for pushing apps to Google Cloud.\r\n\r\nThank you! This is what I've wanted for some time. Other cloud platforms make it pretty painless with only Node, so I don't think Google needs to be any more difficult.\r\n\r\n> Perhaps you're just using it right now for ease of proof of concept\r\n\r\nMostly, and I've been questioning whether it's a good approach or not, so thanks for bringing this up! I think stuffing things in `package.json` can be reckless, but also can be more convenient for the user.\r\n\r\nSupporting different configurations makes sense. Right now, a VM is created for every deploy, but realistically, I'd like to offer total customization of the created instance and be able to re-use them. As these options become supported, config files might make sense.\r\n\r\nI also wonder if just allowing configuration programmatically can solve these issues as well:\r\n\r\n```js\r\n// deploy.dev.js\r\nrequire('gcloud-deploy')(__dirname, {\r\n  vm: {\r\n    os: 'ubuntu-14',\r\n    https: false,\r\n    // ... (everything gcloud.compute().createVM() supports)\r\n  }\r\n})\r\n\r\n// deploy.prod.js\r\nrequire('gcloud-deploy')(__dirname, {\r\n  vm: {\r\n    name: 'my-prod-server'\r\n  }\r\n})\r\n```\r\n\r\nThanks again :)"}}