This box is a starting point for new projects. This box has been tested on OSX, it should work on Linux and it might work on Windows.
These are things you need to install once on your machine to use this box.
- Virtualbox
- Vagrant
- Python, to run the new project setup script.
Then run:
vagrant plugin install vagrant-vbguestTo start a new project run:
python setup.py --directory <project-directory> [--remote <new repo url>]Only one project member needs to do this.
If you have personal configuration needs or tools you need installed that are not used by the project. e.g: custom
dotfiles. Create a ~/.vagrant.d/Vagrantfile and call provisioning to install your config/tools.
Your project might need to expose servers to the host OS (so that you can open websites in a brower etc). To forward a
port open the ./Vagrantfile a line like this:
config.vm.network :forwarded_port, guest: <port nr>, host: <port nr>Each project menber can now clone the new repo
git clone <repo url>vagrant up dev
vagrant ssh dev
cd /vagrantThis will place you inside the directory shared with the host OS.
vagrant halt devThis will shutdown the virtual machine.
SaltStack is used to install software to change what is installed have a look at the documentation. For a quicker provisioning process you should remove software that you do not need in your project.
The main file to include or exclude software is ./salt/roots/salt/top.sls.
After adding new software to the saltstack configuration run:
vagrant provisionYou need to create certificates before you can start and stop the test environment.
Generate keys
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout .azure/myPrivateKey.key -out .azure/myCert.pem
chmod 600 .azure/myPrivateKey.key
openssl x509 -outform der -in .azure/myCert.pem -out .azure/myCert.cerCombine .azure/myCert.pem and .azure/myPrivateKey.key and transform into
.azure/myCertPfx.pem.
openssl pkcs12 -export -in .azure/myCert.pem -inkey .azure/myPrivateKey.key -out .azure/myCert.pfx
openssl pkcs12 -in .azure/myCert.pfx -out .azure/myCertPfx.pem -nodesUpload .azure/myCert.cer to
https://manage.windowsazure.com/#Workspace/AdminTasks/ListManagementCertificates.
.azure/myCertPfx.pem and .azure\myPrivateKey.key are used in the
Vagrantfile.
The .azure should be shared by all project members.
Set your password to the box and your subscription_id
password = '#########' # min 8 characters. should contain a lower case letter, an uppercase letter, a number and a special character
azure.subscription_id = '####################################'vagrant up azure --provider=azure
vagrant ssh azure
cd /vagrantThis will place you inside the directory shared with the host OS.
vagrant halt azure