The easiest way to run the system is to use vagrant.
Prerequisites:
- Vagrant
- Virtualbox
- Ansible (if using mac w/o root install with
brew install ansible
, otherwise use pip)
- add secret settings to
devops/devops/settings_secret.py
vagrant up
vagrant ssh
cd /vagrant
./manage.py syncdb --noinput
./manage.py runserver 0.0.0.0:8000
Developer Dashboard lets developers see the status of their code, and the actions they can perform on that code, all in one place.
In order support this, DevDash is modular and pluggable.
Any apps that have urls.py should be added to this function.
It will add the urls under /app_name/
, and namespaces them to app_name
.
reverse a namespaced url by reverse('app_name:url_name')
(home page)
Each app_name app must have a tiles.py file that contains a tile_name(request, context) function. The function must return a context dict with at minimum the following keys:
* name - unique name for this tile
* template - the template path used to render this context
These tiles render the primary interfaces for each pluggable component in the dash board.
(core)
Each app_name app must have a sync.py file that contains a sync(user=None) function. If a user is passed, then all information for that user must be synced. If user is None, then all data in the database must be synced.
(github tile)
Each app_name app must have an actions.py file that contains an action_name(request, context, repo) function. The function must return a dict with the following keys:
* short_title - 1-2 words suitable for a tab/button
* long_title - descriptive title
* description - 1-2 sentences describing action
* cta - short call to action placed on button
* action - url to go to when cta clicked
* method (default: GET) - POST or GET
* form (optional) - form to display under description, before CTA
GHE_REPO_ACTIONS actions will be displayed next to each Github Enterprise repo. GH_REPO_ACTIONS actions will be displayed next to each public github repo. If you do not want an action displayed for a particular repo, return an empty dict.
(github tile)
Each app_name app must have a tiles.py file that contains a tile_name(request, context) function. The function must return a context dict with at minimum the following keys:
* name - unique name for this tile
* template - the template path used to render this context
These tiles render actions and alerts at the top of the GitHub and GitHub enterprise repo lists.