diff --git a/.gitignore b/.gitignore index e1dca3a57..5b5cfb530 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ venv/ .tox/ .coverage m3 +*~ +.vagrant diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 9cb73a654..19dd8ab89 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -23,8 +23,33 @@ The following tools are there to help you: - ``./venv/bin/tox -e lint`` checks the style of the whole project, while ``./venv/bin/pylint --rcfile=.pylintrc file`` will check a single `file` only. - .. _coding-style: + +Vagrant +======= + +If you are a Vagrant user, Let's Encrypt comes with a Vagrantfile that automates +setting up a development environment in an Ubuntu 14.04 LTS VM. To set it up, +simply run ``vagrant up``. The repository is synced to ``/vagrant``, so you can +get started with: + +:: + + vagrant ssh + cd /vagrant + ./venv/bin/python setup.py install + sudo ./venv/bin/letsencrypt + +Support for other Linux distributions coming soon. + +**Note:** Unfortunately, Python distutils and, by extension, setup.py and tox, +use hard linking quite extensively. Hard linking is not supported by the +default sync filesystem in Vagrant. As a result, all actions with these +commands are *significantly slower* in Vagrant. One potential fix is to `use +NFS`_ (`related issue`_). + +.. _use NFS: http://docs.vagrantup.com/v2/synced-folders/nfs.html +.. _related issue: https://github.com/ClusterHQ/flocker/issues/516 Coding style ============ diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 000000000..a9e5494ac --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,32 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! +VAGRANTFILE_API_VERSION = "2" + +# Setup instructions from docs/using.rst +$ubuntu_setup_script = <