This addresses quite a few enhancements that I think are useful not only for development.
The public network now uses host-only mode of VirtualBox. This means it's exposed to the hosts inside the "public network" (i.e. the client, Ansible masters and web servers), but also to the host running all the machines. This is useful later to check the exposed services using the tools on the host instead what's provided on the client. I found the client rather being a proof of concept than a tool to pentest the network.
The Makefile has now two targets, build for plain building of the machines (including hardening), and release which will also remove the Vagrant user and export the machines to /build of the Git root.
The client machine is no longer restarted after setting up, because this saves time. Instead, we will switch the runmode on the fly.
We now have a script to run a certain tag with Ansible. The script is using native SSH to the exposed machines through the host-only network instead of Vagrant's access.
The settings of the Vagrantfile are now found in the Git root under /settings.env, as this file is shared between Bash and Vagrant. The format is very generic, at least enough to make it compatible between said interpreters.
I've tested this, and it seems to work. It'd be great to merge this soon, as there is some restructuring involved.
This addresses quite a few enhancements that I think are useful not only for development.
build
for plain building of the machines (including hardening), andrelease
which will also remove the Vagrant user and export the machines to/build
of the Git root./settings.env
, as this file is shared between Bash and Vagrant. The format is very generic, at least enough to make it compatible between said interpreters.I've tested this, and it seems to work. It'd be great to merge this soon, as there is some restructuring involved.