Skip to content

Commit

Permalink
Update Sentry to v7.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jpvanhal committed Oct 11, 2015
1 parent ca15317 commit 52d3849
Show file tree
Hide file tree
Showing 7 changed files with 304 additions and 157 deletions.
4 changes: 3 additions & 1 deletion Procfile
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
web: newrelic-admin run-program sentry --config=sentry.conf.py start
web: uwsgi --ini=uwsgi.ini --http=0.0.0.0:$PORT
worker: sentry --config=sentry.conf.py celery worker --loglevel=INFO
beat: sentry --config=sentry.conf.py celery beat --loglevel=INFO
33 changes: 8 additions & 25 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Sentry on Heroku


Quick setup
-------------
-----------

Click the button below to automatically set up the Sentry in an app running on
your Heroku account.
Expand All @@ -21,11 +21,11 @@ your Heroku account.

Finally, you need to setup your first user::

heroku run "sentry --config=sentry.conf.py createsuperuser" --app YOURAPPNAME
heroku run "sentry --config=sentry.conf.py createuser" --app YOURAPPNAME


Manual setup
-------------
------------

Follow the steps below to get Sentry up and running on Heroku:

Expand All @@ -34,20 +34,18 @@ Follow the steps below to get Sentry up and running on Heroku:

heroku apps:create APP_NAME

2. Add database to the application::
2. Add PostgresSQL to the application::

heroku addons:create heroku-postgresql:hobby-dev
heroku pg:promote $(heroku config -s | awk -F= '$1 ~ /^HEROKU_POSTGRESQL_[A-Z]+_URL$/ {print $1}' | sed 's/_URL$//')

3. Set the Django settings module to be used::
3. Add Redis to the application::

heroku config:set DJANGO_SETTINGS_MODULE=sentry.conf
heroku addons:create heroku-redis:hobby-dev

4. Set Django's secret key for cryptographic signing and Sentry's shared secret
for global administration privileges::

heroku config:set SECRET_KEY=$(python -c "import base64, os; print(base64.b64encode(os.urandom(40)).decode())")
heroku config:set SENTRY_KEY=$(python -c "import base64, os; print(base64.b64encode(os.urandom(40)).decode())")

5. Set the absolute URL to the Sentry root directory. The URL should not include
a trailing slash. Replace the URL below with your application's URL::
Expand All @@ -60,11 +58,11 @@ Follow the steps below to get Sentry up and running on Heroku:

7. Run Sentry's database migrations::

heroku run "sentry --config=sentry.conf.py upgrade"
heroku run "sentry --config=sentry.conf.py upgrade --noinput"

8. Create a user account for yourself::

heroku run "sentry --config=sentry.conf.py createsuperuser"
heroku run "sentry --config=sentry.conf.py createuser"

That's it!

Expand All @@ -85,18 +83,3 @@ Follow the steps below, if you want to enable Sentry's email notifications:
2. Set the reply-to email address for outgoing mail::

heroku config:set [email protected]

3. Set the email addresses that should be notified::

heroku config:set [email protected],[email protected]


Version notes
-------------------

The version of Sentry pinned in the ``requirements.txt`` file is one of the last for which Redis was not a hard dependency. Newer versions of Sentry will not work on Heroku using this configuration as Redis is required.

Note that if you are sending events from raven (e.g. in Django) to an installation of Sentry provided by this repo, you will need to pin the raven version to ``5.0.0`` otherwise you will get errors about mismatched protocols.

You may also need to add a ``?timeout=`` parameter to your DSN URL in Django, or messages to Sentry may time out. Values of 3 seconds and up seem to work fine.

19 changes: 10 additions & 9 deletions app.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,29 @@
],
"addons": [
"heroku-postgresql:hobby-dev",
"mandrill:starter"
"heroku-redis:hobby-dev",
"mandrill:basic"
],
"env": {
"DJANGO_SETTINGS_MODULE": {
"description": "The Django settings module to use",
"value": "sentry.conf"
},
"SECRET_KEY": {
"description": "A secret key for a particular Django installation. This is used to provide cryptographic signing, and should be set to a unique, unpredictable value.",
"generator": "secret"
},
"SENTRY_KEY": {
"description": "Sentry's shared secret for global administration privileges",
"generator": "secret"
},
"SENTRY_URL_PREFIX": {
"description": "Your applications URL, no trailing slash",
"value": "https://YOURAPPNAME.herokuapp.com"
},
"SERVER_EMAIL": {
"description": "Reply to address for outgoing email",
"value": "root@localhost"
},
"SENTRY_ADMIN_EMAIL": {
"description": "The administrative email for this installation. Note: This will be reported back to getsentry.com as the point of contact. See the beacon documentation for more information.",
"value": "",
"required": false
}
},
"scripts": {
"postdeploy": "sentry --config=sentry.conf.py upgrade --noinput"
}
}
11 changes: 11 additions & 0 deletions requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
dj-database-url
django-bcrypt
django-secure
gevent
kombu<3.0.27 # kombu 3.0.27 breaks compatibility with Django 1.6
ndg-httpsclient # required by requests
psycopg2
sentry
sentry-flowdock
sentry-github
uwsgi
123 changes: 80 additions & 43 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,47 +1,84 @@
BeautifulSoup==3.2.1
Django==1.5.8
Pygments==1.6
South==0.8.2
amqp==1.0.13
anyjson==0.3.3
billiard==2.7.3.34
celery==3.0.25
cssutils==0.9.10
#
# This file is autogenerated by pip-compile
# Make changes in requirements.in, then run this to update:
#
# pip-compile requirements.in
#
amqp==1.4.7 # via kombu
anyjson==0.3.3 # via kombu
beautifulsoup==3.2.1 # via sentry
billiard==3.3.0.20 # via celery
celery==3.1.18 # via sentry
cffi==1.2.1 # via cryptography
cryptography==1.0.2 # via pyopenssl
cssselect==0.9.1 # via toronado
cssutils==0.9.10 # via sentry, toronado
dj-database-url==0.3.0
django-bcrypt==0.9.2
django-celery==3.0.23
django-crispy-forms==1.2.8
django-paging==0.2.5
django-picklefield==0.3.1
django-secure==1.0
django-social-auth==0.7.28
django-static-compiler==0.3.3
django-templatetag-sugar==0.1
email-reply-parser==0.2.0
gevent==1.0.1
greenlet==0.4.2
gunicorn==0.17.4
httpagentparser==1.2.2
httplib2==0.9
kombu==2.5.16
logan==0.5.10
newrelic==2.24.0.21
nydus==0.10.7
oauth2==1.5.211
psycopg2==2.5.3
py-bcrypt==0.4
pynliner==0.5.1
python-dateutil==1.5
python-memcached==1.53
python-openid==2.2.5
pytz==2014.4
raven==5.0.0
redis==2.8.0
sentry==6.4.4
django-bitfield==1.7.1 # via sentry
django-crispy-forms==1.4.0 # via sentry
django-jsonfield==0.9.13 # via sentry
django-paging==0.2.5 # via sentry
django-picklefield==0.3.2 # via sentry
django-recaptcha==1.0.4 # via sentry
django-secure==1.0.1
django-social-auth==0.7.28 # via sentry
django-statsd-mozilla==0.3.14 # via sentry
django-sudo==1.1.3 # via sentry
django-templatetag-sugar==1.0 # via django-paging, sentry
django==1.6.11 # via django-bitfield, django-secure, django-social-auth, django-sudo, sentry
djangorestframework==2.3.14 # via sentry
email-reply-parser==0.2.0 # via sentry
enum34==0.9.23 # via cryptography, sentry
exam==0.10.5 # via sentry
funcsigs==0.4 # via mock
gevent==1.0.2
greenlet==0.4.9 # via gevent
gunicorn==19.3.0 # via sentry
httplib2==0.9.2 # via oauth2
idna==2.0 # via cryptography
ipaddr==2.1.11 # via sentry
ipaddress==1.0.14 # via cryptography
kombu==3.0.26
logan==0.7.1 # via sentry
lxml==3.4.4 # via sentry, toronado
markdown==2.4.1 # via sentry
mock==1.3.0 # via exam, sentry
ndg-httpsclient==0.4.0
nydus==0.11.0 # via sentry
oauth2==1.9.0.post1 # via django-social-auth
pbr==1.8.1 # via mock
petname==1.7 # via sentry
progressbar==2.3 # via sentry
psycopg2==2.6.1
py-bcrypt==0.4 # via django-bcrypt
py==1.4.30 # via pytest
pyasn1==0.1.9 # via cryptography
pycparser==2.14 # via cffi
pyopenssl==0.15.1 # via ndg-httpsclient
pytest-django==2.9.1 # via sentry
pytest==2.8.2 # via pytest-django, sentry
python-dateutil==2.4.2 # via sentry
python-memcached==1.57 # via sentry
python-openid==2.2.5 # via django-social-auth
pytz==2015.6 # via celery
pyyaml==3.11 # via ua-parser
raven==5.7.2 # via sentry
redis==2.10.3 # via sentry
requests==2.5.3 # via sentry
sentry-flowdock==0.1.1
sentry-github==0.1.2
setproctitle==1.1.8
simplejson==3.3.3
six==1.7.3
urllib3==1.7.1
wsgiref==0.1.2
sentry==7.7.0
setproctitle==1.1.9 # via sentry
simplejson==3.3.3 # via sentry
six==1.10.0 # via cryptography, django-bitfield, mock, pyopenssl, python-dateutil, python-memcached, sentry
South==1.0.1
statsd==3.1 # via django-statsd-mozilla, sentry
toronado==0.0.7 # via sentry
ua-parser==0.4.1 # via sentry
urllib3==1.7.1 # via sentry
uwsgi==2.0.11.2

# The following packages are commented out because they are
# considered to be unsafe in a requirements file:
# setuptools==18.4 # via cryptography
Loading

0 comments on commit 52d3849

Please sign in to comment.