Since several weeks, I’m playing a lot with Debian Jessie as a server. I discovered some bugs, reported them to Debian, they’ve been fixed etc…good news! I also wanted to test the new version of LXC. So I decided to upgrade my 2 personal servers to Jessie. But that wasn’t so easy with Systemd. I still encounter non critical issues and going to prepare report bugs for Debian (cgroups issues with systemd).
For another personal project (that I can’t talk about for the moment ;-)), I wanted to have a Changelog file to get a better following of the infrastructure evolution (configuration management, scripts…all under git). Of course the documentation is very important, but when you do not write it at the same time you’re building the infrastructure, it may be complex to remember each little things you’ve done. That’s why a Changelog can help to understand how the infrastructure has been built step by step.
A few months ago, I already talked about offloading SSL with Nginx. I also wanted to try it with HAProxy which can be more interesting in some cases. The good On HAProxy, the good thing is the simplicity to do it. First of all you need to have at least the version 1.5 of HAProxy so to get SSL support. Then you only need those lines to offload SSL:
For my company, I recently had to find a good solution to make Snapshots from Instance IDs or from tags on AWS. I made several searches but unfortunately didn’t find what I was searching for. That’s why I started to make a tool to do this kind of job. It’s written in Python and requires the Boto library. Here is what you can do with Simple EC2 snapshots: Hot snapshots (by default) and Cold snapshots Multiple instances snapshot in one line Detection of doubles Filters by tags (allowing wildcards) or by instance IDs Credentials file multiple with profiles Limit the number of snapshots Restrict snapshots to data disks only The tool is open source and can be downloaded on GitHub :-).
Packer is one of the tools I’ve used in the past to build VirtualBox boxes. You can find what I’ve done on my GitHub account. For Smash project, I wanted to make a packer configuration to manage Docker and VirtualBox. I also wanted to call Ansible to build specific images for each needs. The goal is to be able to build cloud image ready to start, without any special dependencies. This because I need different usages:
In the last post, I talked about how to manage Docker and VirtualBox with Vagrant. This post follows the last one, with the integration of Ansible as a provisioner. Once again, I’m using it for the Smash project. With Ansible, I made several “group_vars” files containing custom and common information related to the used environment (dev, uat, staging…). This helps to setup different kind of environment easily. Vagrant will help to build images with Ansible deployed inside.
As you may know, I’m using Vagrant for more than a year now with VirtualBox. Docker is a faster alternative that needs to be taken into consideration. Having the possibility to manage both of them with the same tool can be very interesting. For information, I mainly use it with VirtualBox because it’s any platform compatible and Docker because it’s perfect for a CI like Jenkins. I recently talked about my implication into the Smash project.