{"action":"created","comment":{"url":"https://api.github.com/repos/mozilla/socorro/pulls/comments/26903478","id":26903478,"diff_hunk":"@@ -48,37 +45,32 @@ Then the repository definition:\n   enabled=1\n   EOF\n \n+Install the Socorro repository.\n+::\n+  sudo rpm -ivh https://s3-us-west-2.amazonaws.com/org.mozilla.crash-stats.packages-public/el/7/noarch/socorro-public-repo-1-1.el7.centos.noarch.rpm\n+\n Now you can actually install the packages:\n ::","path":"docs/production-install.rst","position":39,"original_position":39,"commit_id":"8ab24b5d21543349d22a748b2549a569a0d3a68c","original_commit_id":"8ab24b5d21543349d22a748b2549a569a0d3a68c","user":{"login":"phrawzty","id":625232,"avatar_url":"https://avatars.githubusercontent.com/u/625232?v=3","gravatar_id":"","url":"https://api.github.com/users/phrawzty","html_url":"https://github.com/phrawzty","followers_url":"https://api.github.com/users/phrawzty/followers","following_url":"https://api.github.com/users/phrawzty/following{/other_user}","gists_url":"https://api.github.com/users/phrawzty/gists{/gist_id}","starred_url":"https://api.github.com/users/phrawzty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phrawzty/subscriptions","organizations_url":"https://api.github.com/users/phrawzty/orgs","repos_url":"https://api.github.com/users/phrawzty/repos","events_url":"https://api.github.com/users/phrawzty/events{/privacy}","received_events_url":"https://api.github.com/users/phrawzty/received_events","type":"User","site_admin":false},"body":"Consider adding a `sudo yum makecache` step before `install`, just to be sure.","created_at":"2015-03-22T14:20:59Z","updated_at":"2015-03-22T14:20:59Z","html_url":"https://github.com/mozilla/socorro/pull/2685#discussion_r26903478","pull_request_url":"https://api.github.com/repos/mozilla/socorro/pulls/2685","_links":{"self":{"href":"https://api.github.com/repos/mozilla/socorro/pulls/comments/26903478"},"html":{"href":"https://github.com/mozilla/socorro/pull/2685#discussion_r26903478"},"pull_request":{"href":"https://api.github.com/repos/mozilla/socorro/pulls/2685"}}},"pull_request":{"url":"https://api.github.com/repos/mozilla/socorro/pulls/2685","id":31674689,"html_url":"https://github.com/mozilla/socorro/pull/2685","diff_url":"https://github.com/mozilla/socorro/pull/2685.diff","patch_url":"https://github.com/mozilla/socorro/pull/2685.patch","issue_url":"https://api.github.com/repos/mozilla/socorro/issues/2685","number":2685,"state":"open","locked":false,"title":"[DO NOT MERGE] Centos7 fpm update","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},"body":"r? @phrawzty - I need to get figure out how to get this associated with bugs properly (it fixes several), so don't merge yet :) I think we should land them all together to minimize breaking external users - I think the docs aren't quite good enough yet in particular, but the following all WFM:\r\n\r\n* removes all config files except alembic and django local.py\r\n * local.py can go away when PR #2684 lands\r\n* adds systemd service files for all socorro services\r\n* provides working nginx sample configs\r\n* updates docs \r\n* splits socorro initial setup out to a ```/usr/bin/setup-socorro.sh```\r\n\r\nI've been testing this out on our AMI and it seems to work! Now that some of the \"socorro lite\" work has landed, you can run collection+processing without any additional services running, except for consul which is now required for all Socorro services:\r\n\r\n```\r\nsudo yum install consul envconsul\r\nconsul agent -bootstrap-expect 1 -server -data-dir=./consul-data/\r\n```\r\n\r\nFirst you must onfigure collector to use WSGI rather than default built-in web.py server:\r\n```\r\ncurl -X PUT -d 'socorro.webapi.servers.ApacheModWSGI' http://localhost:8500/v1/kv/socorro/collector/web_server__wsgi_server_class\r\n```\r\n\r\n(@twobraids we should really change the name of that config key to remove the ```ApacheMod``` part and just call it ```socorro.webapi.servers.WSGI```)\r\n\r\nThen just start the services:\r\n```\r\nsudo yum install socorro\r\nsudo systemctl start socorro-collector\r\nsudo systemctl start socorro-processor\r\n```\r\n\r\nThis will store both raw and processed crashes to ```~socorro/crashes```, and will scan the filesystem rather than using a queue. Storing crashes to ES/S3/PG and enabling RabbitMQ are just a matter of setting the right keys/values in consul.\r\n\r\nYou should be able to submit crashes, and they should be processed successfully (both raw ```.json``` and ```.dump``` and processed ```.jsonz``` files are stored in ```~socorro/crashes```):\r\n```\r\n# from a Socorro checkout w/ activated virtualenv\r\nsocorro submitter -u http://crash-reports/submit -s testcrash/raw\r\n```\r\n\r\nFor a distributed setup we don't want to share a filesystem, so you'll need to turn RabbitMQ and S3 on via consul.\r\n\r\nThe webapp has more dependencies before it'll work:\r\n```\r\nsudo /usr/pgsql-9.3/bin/postgresql93-setup initdb\r\n# set local connections to \"trust\"\r\nvi /var/lib/pgsql/9.3/data/pg_hba.conf \r\nsudo systemctl start postgresql-9.3\r\nsudo systemctl start elasticsearch\r\nsudo yum install memcached\r\nsudo systemctl start memcached\r\n```\r\n\r\nPG and ES need to be set up (NOTE this script assumes they are on localhost, it should fail gracefully if that's not the case. Also it's safe to re-run the script, it won't destroy anything already set up):\r\n```\r\nsudo setup-socorro.sh\r\n```\r\n\r\n```\r\n# configure middleware to use WSGI rather than default built-in web.py server\r\ncurl -X PUT -d 'socorro.webapi.servers.ApacheModWSGI' http://localhost:8500/v1/kv/socorro/middleware/web_server__wsgi_server_class\r\n```\r\n```\r\nsudo systemctl start socorro-middleware\r\nsudo systemctl start socorro-webapp\r\n```\r\n\r\nThe RPM drops nginx sample configs into ```/etc/nginx/conf.d``` that listen on the vhosts ```crash-reports``` (collector), ```crash-stats``` (webapp), and ```socorro-middleware``` (this one only listens on localhost since it's not safe, don't want anyone to accidentally expose it)\r\n\r\nThe webapp will give you 404s for the default ```WaterWolf``` unless you either use ```socorro setupdb```'s ```--fakedata``` option, or set up a new product via the admin UI per http://socorro.readthedocs.org/en/latest/configuring-socorro.html (maybe we should have the ```setup-socorro``` script do some/all of this?)\r\n\r\n","created_at":"2015-03-21T17:27:26Z","updated_at":"2015-03-22T14:20:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"aed1113836f152a043aed46daf08fe78281b9c4a","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mozilla/socorro/pulls/2685/commits","review_comments_url":"https://api.github.com/repos/mozilla/socorro/pulls/2685/comments","review_comment_url":"https://api.github.com/repos/mozilla/socorro/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mozilla/socorro/issues/2685/comments","statuses_url":"https://api.github.com/repos/mozilla/socorro/statuses/8ab24b5d21543349d22a748b2549a569a0d3a68c","head":{"label":"rhelmer:centos7-fpm-update","ref":"centos7-fpm-update","sha":"8ab24b5d21543349d22a748b2549a569a0d3a68c","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},"repo":{"id":4216256,"name":"socorro","full_name":"rhelmer/socorro","owner":{"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},"private":false,"html_url":"https://github.com/rhelmer/socorro","description":"Socorro is a server to accept and process Breakpad crash reports. ","fork":true,"url":"https://api.github.com/repos/rhelmer/socorro","forks_url":"https://api.github.com/repos/rhelmer/socorro/forks","keys_url":"https://api.github.com/repos/rhelmer/socorro/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rhelmer/socorro/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rhelmer/socorro/teams","hooks_url":"https://api.github.com/repos/rhelmer/socorro/hooks","issue_events_url":"https://api.github.com/repos/rhelmer/socorro/issues/events{/number}","events_url":"https://api.github.com/repos/rhelmer/socorro/events","assignees_url":"https://api.github.com/repos/rhelmer/socorro/assignees{/user}","branches_url":"https://api.github.com/repos/rhelmer/socorro/branches{/branch}","tags_url":"https://api.github.com/repos/rhelmer/socorro/tags","blobs_url":"https://api.github.com/repos/rhelmer/socorro/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rhelmer/socorro/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rhelmer/socorro/git/refs{/sha}","trees_url":"https://api.github.com/repos/rhelmer/socorro/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rhelmer/socorro/statuses/{sha}","languages_url":"https://api.github.com/repos/rhelmer/socorro/languages","stargazers_url":"https://api.github.com/repos/rhelmer/socorro/stargazers","contributors_url":"https://api.github.com/repos/rhelmer/socorro/contributors","subscribers_url":"https://api.github.com/repos/rhelmer/socorro/subscribers","subscription_url":"https://api.github.com/repos/rhelmer/socorro/subscription","commits_url":"https://api.github.com/repos/rhelmer/socorro/commits{/sha}","git_commits_url":"https://api.github.com/repos/rhelmer/socorro/git/commits{/sha}","comments_url":"https://api.github.com/repos/rhelmer/socorro/comments{/number}","issue_comment_url":"https://api.github.com/repos/rhelmer/socorro/issues/comments{/number}","contents_url":"https://api.github.com/repos/rhelmer/socorro/contents/{+path}","compare_url":"https://api.github.com/repos/rhelmer/socorro/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rhelmer/socorro/merges","archive_url":"https://api.github.com/repos/rhelmer/socorro/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rhelmer/socorro/downloads","issues_url":"https://api.github.com/repos/rhelmer/socorro/issues{/number}","pulls_url":"https://api.github.com/repos/rhelmer/socorro/pulls{/number}","milestones_url":"https://api.github.com/repos/rhelmer/socorro/milestones{/number}","notifications_url":"https://api.github.com/repos/rhelmer/socorro/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rhelmer/socorro/labels{/name}","releases_url":"https://api.github.com/repos/rhelmer/socorro/releases{/id}","created_at":"2012-05-03T16:46:07Z","updated_at":"2015-03-19T03:59:16Z","pushed_at":"2015-03-22T01:38:05Z","git_url":"git://github.com/rhelmer/socorro.git","ssh_url":"git@github.com:rhelmer/socorro.git","clone_url":"https://github.com/rhelmer/socorro.git","svn_url":"https://github.com/rhelmer/socorro","homepage":"https://wiki.mozilla.org/Socorro","size":236793,"stargazers_count":1,"watchers_count":1,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"mozilla:master","ref":"master","sha":"917fc4841475b98086eb4886139598474333f56a","user":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"repo":{"id":2263742,"name":"socorro","full_name":"mozilla/socorro","owner":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mozilla/socorro","description":"Socorro is a server to accept and process Breakpad crash reports. ","fork":false,"url":"https://api.github.com/repos/mozilla/socorro","forks_url":"https://api.github.com/repos/mozilla/socorro/forks","keys_url":"https://api.github.com/repos/mozilla/socorro/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mozilla/socorro/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mozilla/socorro/teams","hooks_url":"https://api.github.com/repos/mozilla/socorro/hooks","issue_events_url":"https://api.github.com/repos/mozilla/socorro/issues/events{/number}","events_url":"https://api.github.com/repos/mozilla/socorro/events","assignees_url":"https://api.github.com/repos/mozilla/socorro/assignees{/user}","branches_url":"https://api.github.com/repos/mozilla/socorro/branches{/branch}","tags_url":"https://api.github.com/repos/mozilla/socorro/tags","blobs_url":"https://api.github.com/repos/mozilla/socorro/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mozilla/socorro/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mozilla/socorro/git/refs{/sha}","trees_url":"https://api.github.com/repos/mozilla/socorro/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mozilla/socorro/statuses/{sha}","languages_url":"https://api.github.com/repos/mozilla/socorro/languages","stargazers_url":"https://api.github.com/repos/mozilla/socorro/stargazers","contributors_url":"https://api.github.com/repos/mozilla/socorro/contributors","subscribers_url":"https://api.github.com/repos/mozilla/socorro/subscribers","subscription_url":"https://api.github.com/repos/mozilla/socorro/subscription","commits_url":"https://api.github.com/repos/mozilla/socorro/commits{/sha}","git_commits_url":"https://api.github.com/repos/mozilla/socorro/git/commits{/sha}","comments_url":"https://api.github.com/repos/mozilla/socorro/comments{/number}","issue_comment_url":"https://api.github.com/repos/mozilla/socorro/issues/comments{/number}","contents_url":"https://api.github.com/repos/mozilla/socorro/contents/{+path}","compare_url":"https://api.github.com/repos/mozilla/socorro/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mozilla/socorro/merges","archive_url":"https://api.github.com/repos/mozilla/socorro/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mozilla/socorro/downloads","issues_url":"https://api.github.com/repos/mozilla/socorro/issues{/number}","pulls_url":"https://api.github.com/repos/mozilla/socorro/pulls{/number}","milestones_url":"https://api.github.com/repos/mozilla/socorro/milestones{/number}","notifications_url":"https://api.github.com/repos/mozilla/socorro/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mozilla/socorro/labels{/name}","releases_url":"https://api.github.com/repos/mozilla/socorro/releases{/id}","created_at":"2011-08-24T19:21:49Z","updated_at":"2015-03-21T11:29:47Z","pushed_at":"2015-03-22T01:38:05Z","git_url":"git://github.com/mozilla/socorro.git","ssh_url":"git@github.com:mozilla/socorro.git","clone_url":"https://github.com/mozilla/socorro.git","svn_url":"https://github.com/mozilla/socorro","homepage":"https://wiki.mozilla.org/Socorro","size":190947,"stargazers_count":212,"watchers_count":212,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":108,"mirror_url":null,"open_issues_count":8,"forks":108,"open_issues":8,"watchers":212,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mozilla/socorro/pulls/2685"},"html":{"href":"https://github.com/mozilla/socorro/pull/2685"},"issue":{"href":"https://api.github.com/repos/mozilla/socorro/issues/2685"},"comments":{"href":"https://api.github.com/repos/mozilla/socorro/issues/2685/comments"},"review_comments":{"href":"https://api.github.com/repos/mozilla/socorro/pulls/2685/comments"},"review_comment":{"href":"https://api.github.com/repos/mozilla/socorro/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mozilla/socorro/pulls/2685/commits"},"statuses":{"href":"https://api.github.com/repos/mozilla/socorro/statuses/8ab24b5d21543349d22a748b2549a569a0d3a68c"}}}}