Firefox/Input/12 Factor App
12 Factor App Compliance
At some point in the near future, events will unfold that will change the fundamentals of the Input universe.
In order to coast through these changes unscathed and not trip, fall hard and burn in the fires of infrastructure inferno, it behooves us greatly to adhere to the principles of the 12 Factor App.
This project covers fixing the things that cause Input to be out of compliance with 12 Factor.
- Project owner: Will Kahn-Greene
- Status: In-progress
- December 4th, 2014: Lonnen told me 12-Factor is the way.
- December 4th, 2014: Will wrote up the initial project plan and tracker bug.
12 Factor App page here: http://12factor.net/
Things that Input is out of compliance with:
- II. Explicitly declare and isolate dependencies (http://12factor.net/dependencies) -- Input currently uses several compiled dependencies which are installed on the system by webops. That'd need to be figured out. It's possibly an easy thing to fix. At a bare minimum, we should have a list of all system dependencies we have (e.g. python2.7, pip x.y, ...).
- III. Store config in environment (http://12factor.net/config) -- Input stores configuration in fjord/settings/local.py. We need to redo that so that it pulls from the environment and has sane defaults.
- V. Build, release, run (http://12factor.net/build-release-run) -- We're definitely going to have to rewrite our deploy scripts. However, we're probably going to need to wait to do this until we know what the environment we're switching to looks like.
Of those, item III is the big issue we definitely need to fix first, we should look at item II to get a better handle on whether it's really an issue or not.
Item V will be pushed off until later (2015q2?) when we find out what environment we're going to and what options are available.
- store configuration in the environment
- all dependencies are specified explicitly in requirements files
Tracker bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1107729
|1137018||[12fa] switch to dj-database-url||--||RESOLVED|
|1137022||[12fa] switch to environment-based config for instance settings||--||RESOLVED|
|1137023||[12fa] Explicitly declare and isolate dependencies||--||RESOLVED|
3 Total; 0 Open (0%); 3 Resolved (100%); 0 Verified (0%);