zulip/requirements
Aditya Bansal efe8545303 local-uploads: Start running authentication checks on file requests.
From here on we start to authenticate uploaded file request before
serving this files in production. This involves allowing NGINX to
pass on these file requests to Django for authentication and then
serve these files by making use on internal redirect requests having
x-accel-redirect field. The redirection on requests and loading
of x-accel-redirect param is handled by django-sendfile.

NOTE: This commit starts to authenticate these requests for Zulip
servers running platforms either Ubuntu Xenial (16.04) or above.

Fixes: #320 and #291 partially.
2018-02-16 05:06:37 +05:30
..
README.md requirements: Rename requirements files. 2017-11-21 02:38:26 +05:30
common.in local-uploads: Start running authentication checks on file requests. 2018-02-16 05:06:37 +05:30
dev.in requirements: Upgrade python-digital-ocean to 1.13.2. 2018-02-14 09:44:26 -08:00
dev.txt local-uploads: Start running authentication checks on file requests. 2018-02-16 05:06:37 +05:30
docs.in requirements: Upgrade typing to 3.6.4. 2018-02-14 09:41:49 -08:00
docs.txt requirements: Upgrade typing to 3.6.4. 2018-02-14 09:41:49 -08:00
mypy.in requirements: Upgrade typing to 3.6.4. 2018-02-14 09:41:49 -08:00
mypy.txt requirements: Upgrade typing to 3.6.4. 2018-02-14 09:41:49 -08:00
pip.txt requirements: Upgrade Sphinx to 1.7.0. 2018-02-14 09:41:49 -08:00
prod.in requirements: Rename requirements files. 2017-11-21 02:38:26 +05:30
prod.txt local-uploads: Start running authentication checks on file requests. 2018-02-16 05:06:37 +05:30
thumbor.in requirements: Upgrade certifi to 2018.1.18. 2018-02-14 09:41:49 -08:00
thumbor.txt requirements: Upgrade certifi to 2018.1.18. 2018-02-14 09:41:49 -08:00

README.md

The dependency graph of the requirements is as follows:

dev         prod
+ +          +
| +->common<-+
v
mypy,docs

Of the files, only dev, prod, and mypy have been used in the install scripts directly. The rest are implicit dependencies.

common and dev are locked.

Steps to update a lock file, e.g. to update ipython from 5.3.0 to 6.0.0 in common.in and propagate it to dev.txt and prod.txt: 0. Replace ipython==5.4.1 with ipython==6.0.0 in common.in

  1. Run './tools/update-locked-requirements'
  2. Increase PROVISION_VERSION in version.py.
  3. Run ./tools/provision to install the new deps and test them
  4. Commit your changes.