I don’t know if it means something, but I find quite significant that I get back to this blog again today. I like to think I’m starting from where I stopped.
Here I am again. Floating in that limbo that fills the gap between a flight and its next connection. I’ve done this before, it’s just another sink in which time, people and thoughts intersect and flow like waters in an oceanic current. It shouldn’t matter, I’m so tired that it cannot possibly matter. Though, I feel this time is different. This time this not-being in a non-place waiting for being injected again in the circuits of life is full of a new tension, something like a warm breath pushing me forward while lifting my weights, like a pervasive magnetic field gently orienting sensitive matter toward a common direction, meeting no resistance. This time, yes, this precise and only time, I feel like I’m heading home.
I started to write this post on 24th May, 2014, while waiting for a connecting flight from Madrid to Berlin, after three long weeks between Bilbao and Santander, Spain. I went there to attend a course on web application security sponsored by the EU, something I was looking forward to since the previous October. Yet, the weeks have been extremely long, and for what I think was the first time I felt sick of being away from the place where I live.
The reason why this time was different is because something happened, something I’ve been seeking constantly for at least the past 8 years, something that gave my life that spark, that tiny ray of light that breaks into the dark before the full gloom comes: I moved to Berlin.
Almost one year after that sunny day of March when I took my car, my few clothes and headed straight North for twelve hours, I find myself thinking back at what happened and how my life changed. It’s been an intense year, yet I’m still waiting for that moment of clarity when I’ll deeply realize the impact of the change I made, when I’ll be able to fully embrace the abyss standing in between the past self and the current self. Maybe it will happen at some point, but I’m starting to believe that it won’t. Maybe it’s another sign that what I did was the right thing at the right time, feeling so natural that my mind doesn’t try to refuse the idea, but rather keeps deleting old memories.
Thinking back at the stream of events, I feel like I should have been torn apart by my same feelings right now. I’ve been through bright highs, and I’ve been through dark lows, multiple times.
I’ve found myself smiling; I mean, not laughing, not reacting to a comical situation. Smiling as in being filled by positive feelings, smiling as when you recall a nice moment you’ll keep and remember for the rest of your life. Smiling as in being happy.
Disclamer: this post is about feelings, and it’s written by me, so don’t expect things to make much sense from now on. It might also be long, and I apologise in advance for that.
I’ll create here a skeleton that can be useful for developing Puppet modules that
adhere to some of the basic good development practices, such as testing and
Why don’t I just use
puppet module generate, you say? Because I want to have a more
complete testing framework in place, and also have some additional
facilities for reporting on tests. Though, using Puppet’s module face isn’t
incompatible with what depicted here; you can just run it before performing the
steps that follow, ignoring the creation of module’s directories.
This was a nice one; let me explain.
I’ve setup a PotgreSQL host to hold all the various databases for the various services deployed in the infrastructure. Since I know I’m not a security expert, where I can I try to do the bare minumum needed and use SSL. This is the case for PostgreSQL; not only, but I try hard to enforce two-way certificate validation where possibile.
Let me start the real first post of this blog (apart from the introduction) with a citation. Despite the title, I won’t talk about music. Instead, I’ll show you a photo:
I’m writing this post as a sort of disclamer for the posts that will follow in the (hopefully near) future.
I became a fan of documentation near three years ago. Since then, I mantained
(and am still mantaining) a sort of private wiki where I try do document
whatever I do. In some cases, this practice saved my ass: since for the moment
I don’t work in a team, I’m forced to continuously move between tasks that span
from the full Dev and Ops range. Sometimes quite some time can pass until I
need to return to a previous task to fix/improve things. This can be daunting,
since memory tends to be pretty unreliable in these cases; having a neat trace
of what I did helped me to quickly restore the archived knowledge.
Over time, documenting while doing has become almost a natural practice for me, at least for what concerns operations tasks.
As stated above, till now I kept this documentation almost private, just
visible to interested friends that wanted to dig from time to time into what I
did; now I feel this practice has to change.
So, I decided to at least try to make my efforts public. I’m sure there won’t be crowds of developers or sysadmins waiting for my next post; I’m not doing it for this reason. I’ll just try to use the lever that is what in my opinion is the biggest benfit of open source culture: it forces you to be better at what you do.
So, this little detour over my recent history just to say one basic thing: I’m gonna store here almost everything. So, expect to find obvious things as well as not-so-obvious ones; actually, I suspect the former will overweight the latter at least for the moment :)
Having clarified this basic concept, let’s see what the sudden future reserves:
I’m gonna talk a lot in the following months about my efforts to automate the
infrastructure I’m actually managing. This effort started slightly more than a
year ago when I discovered the excellent “Continuous Delivery” book
by Jez Humble and David Farley.
Meanwhile, I’ve done a lot to try to add some solid
ground on the infrastructure while maintaining the existent. I now reached a
point in which I can start to implement all those nice automation practices.
I’ll try to convert documentation I’ve already written into something suitable for the public audience; but, since I don’t want to start yak shaving right from the beginning, I’ll try to stay pragmatic enough and start by writing currently on-air tasks. For this reason, I apologize in advance if some pieces will miss from what I’ll write.
I force myself now to stop adding to this post; enough self-centered writing for my tastes. Better to start writing something more practical; I’ll start with something very very basic and in very very little DevOps style: installing a Puppet master node.