crits/crits — pull request #118 by Locker537 (2014-06-23 21:15:07+00:00)
Title: Easy local development environment  using vagrant and salt

In hopes of making it even easier to get started developing for CRITs, these changes introduce a locally run virtual machine, managed by [vagrant](http://www.vagrantup.com/) and provisioned by [salt](http://www.saltstack.com/).

While salt can be used to configure and maintain production systems, as well as handle deploying updates, these changes are focused on a local development environment. They don't automate away all of the installation pains, but instead focus purely on CRITs dependencies at this point in time. Essentially, once vagrant is done building the system, a developer should be able to start at the "[install the codebase locally](https://github.com/crits/crits#installing-the-codebase-1)" step.

In order to test and use this:

1. Install [virtualbox](https://www.virtualbox.org/)
1. Install [vagrant](http://www.vagrantup.com/)
1. Check out this branch
1. Run `git submodule init && git submodule update` from inside your local checked out copy of CRITs
1. Run `vagrant up`

You should see something along the lines of:
```
Summary
-------------
Succeeded: 46
Failed: 1
-------------
Total: 47
```

...when salt finished provisioning the system. If you see one error, don't worry. It's UPX being strange. (Hey, salt's not perfect!)

The git submodule is to include the [mongodb salt formula](https://github.com/saltstack-formulas/mongodb-formula).

You can then run `vagrant ssh` to SSH to the development VM and continue with the CRITs setup! Note that your local CRITs repo will be automatically synced to the guest machine at `/vagrant`.

I like to run runserver via `python manage.py runserver 10.10.6.100:8888` and connect via my host's browser.