Show HN: Metamon – A Vagrant/Ansible toolkit for kickstarting Django apps
blog.tryolabs.com
blog.tryolabs.com
[1] https://sysadmincasts.com/episodes/42-crash-course-on-vagran...
[2] https://sysadmincasts.com/episodes/43-19-minutes-with-ansibl...
> Metamon has hitherto been an internal tool that provides a reusable set of Ansible Playbooks that help us quickly start new projects by skipping environment configuration and automation.
Having built your tool for a specific purpose means it can avoid scope creep.
I built something somewhat similar [0], but use Puppet, added a GUI and keep adding more and more features. Right now you can set up a VM with PHP, HHVM, Ruby, Python, Node.js or a mix of all these. High on my to-do list is to allow setting up Python/Ruby/Node.js apps using Apache/Nginx.
[0] - https://puphpet.com
P.S. This is a very timely release for me. I've done a few manual deploys of almost this exact stack, and have a major project for my company that I need to port to Django. However, I wanted to learn and use Ansible before attacking the job to lower maintenance costs. This looks like it will be a tremendous leg up on that task.
There isn't really a reason not to use Virtualenv wrapper, but there is also not really a reason to use it. Activating it is rather simple, so I just didn't really want to add something else to the installation (that would make it slightly more complex and slower). However, take a look at the development role[0], it actually activates the Virtualenv on login.
If you're going to be logging into the production machines (where the development role does not make (total) sense to have) you may want to install it, or turn off everything in the development role[1] except virtualenv activation and add it to those machines.
In short, I'm not against it, I just think it's not needed since the development role makes it redundant to have.
[0] https://github.com/tryolabs/metamon/blob/master/deploy/roles... [1] https://github.com/tryolabs/metamon/blob/master/deploy/roles...
Also, this change would mostly serve as an incentive to ssh onto production servers, which is usually not going to be the optimal solution to issues that arise. I hadn't really thought about it this way until your comment.
Was thinking about using Ansible for some time, but haven't. Now this is easy to get started.