{"action":"created","issue":{"url":"https://api.github.com/repos/mozilla/socorro-infra/issues/29","labels_url":"https://api.github.com/repos/mozilla/socorro-infra/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/mozilla/socorro-infra/issues/29/comments","events_url":"https://api.github.com/repos/mozilla/socorro-infra/issues/29/events","html_url":"https://github.com/mozilla/socorro-infra/pull/29","id":60567412,"number":29,"title":"[DO NOT MERGE] fix bug 1118297 - terraform config for Socorro","user":{"login":"rhelmer","id":61412,"avatar_url":"https://avatars.githubusercontent.com/u/61412?v=3","gravatar_id":"","url":"https://api.github.com/users/rhelmer","html_url":"https://github.com/rhelmer","followers_url":"https://api.github.com/users/rhelmer/followers","following_url":"https://api.github.com/users/rhelmer/following{/other_user}","gists_url":"https://api.github.com/users/rhelmer/gists{/gist_id}","starred_url":"https://api.github.com/users/rhelmer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhelmer/subscriptions","organizations_url":"https://api.github.com/users/rhelmer/orgs","repos_url":"https://api.github.com/users/rhelmer/repos","events_url":"https://api.github.com/users/rhelmer/events{/privacy}","received_events_url":"https://api.github.com/users/rhelmer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-03-10T20:52:30Z","updated_at":"2015-03-11T20:42:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mozilla/socorro-infra/pulls/29","html_url":"https://github.com/mozilla/socorro-infra/pull/29","diff_url":"https://github.com/mozilla/socorro-infra/pull/29.diff","patch_url":"https://github.com/mozilla/socorro-infra/pull/29.patch"},"body":"As we discussed, ```main.tf``` is getting ungainly with so many resources, so we're probably going to want to split this up (multiple ```.tf``` files and/or use terraform modules for some of the common pattern here, like the ELB+ASG+LC combo we do for almost everything), but I think this is a good enough start.\r\n\r\nThe rule of thumb I have used here is that plain instances are only used if the instances aren't ephemeral, so ES (which uses instance storage) and PG (which uses EBS), these two are sensitive to data loss (it'll take quite a while to recover.) Therefore these two services need to be monitored and recovered manually, every other service should be able to auto-recover.\r\n\r\nBesides testing this more, I'd like to figure out why I get ```Error retrieving AutoScaling groups: Throttling: Rate exceeded``` when I ```terraform destroy``` before we merge this - presumably terraform (v0.3.7) is querying the AWS API too quickly during ```destroy```."},"comment":{"url":"https://api.github.com/repos/mozilla/socorro-infra/issues/comments/78366700","html_url":"https://github.com/mozilla/socorro-infra/pull/29#issuecomment-78366700","issue_url":"https://api.github.com/repos/mozilla/socorro-infra/issues/29","id":78366700,"user":{"login":"rhelmer","id":61412,"avatar_url":"https://avatars.githubusercontent.com/u/61412?v=3","gravatar_id":"","url":"https://api.github.com/users/rhelmer","html_url":"https://github.com/rhelmer","followers_url":"https://api.github.com/users/rhelmer/followers","following_url":"https://api.github.com/users/rhelmer/following{/other_user}","gists_url":"https://api.github.com/users/rhelmer/gists{/gist_id}","starred_url":"https://api.github.com/users/rhelmer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhelmer/subscriptions","organizations_url":"https://api.github.com/users/rhelmer/orgs","repos_url":"https://api.github.com/users/rhelmer/repos","events_url":"https://api.github.com/users/rhelmer/events{/privacy}","received_events_url":"https://api.github.com/users/rhelmer/received_events","type":"User","site_admin":false},"created_at":"2015-03-11T20:42:17Z","updated_at":"2015-03-11T20:42:17Z","body":"@phrawzty ok removed the ```del_on_term``` stuff (although I think it is really excellent for development!)\r\n\r\n> The Puppet stubs (which desperately need linting :smirk:) are a good starting point. We're also now starting to straddle the line between a Puppet module for internal use and something that is clearly larger than that - for example, we're provisioning a raft of services for which there are already Puppet modules out there. We're going to have to make some policy decisions before we end up digging ourselves into a hole.\r\n\r\nAs of 4f50816 travis yells if you fail puppet-lint ;)\r\n\r\nHm most of these role ```.pp``` files are very tiny, things like making sure a package or two is installed and a service or two is started. Can you elaborate on which module(s) would help out here? "}}