Fork me on GitHub

Linux | Dev | Ops

Puppetmasterd and Passenger

It seems like some people have trouble configuring/undestanding how to combine puppetmasterd and Passenger (aka mod_rails). Let’s get it on:

Install depencies

You need the following components on your puppetmaster server:

Configure puppetmaster

Your puppet package should contain a I found mine in /usr/share/doc/puppet-0.25.4-r1/ext/rack/files/ (Gentoo).

mkdir /etc/puppet/rack
mkdir /etc/puppet/rack/public
cp [YOUR_CONFIG.RU] /etc/puppet/rack
chown puppet:root /etc/puppet/rack/

OpenVPN Active/active Cluster

This is a small howto explaining how to run a active/active Cluster (keeplaived) setup with OpenVPN. The active/active reflects that both cluster nodes run the same OpenVPN instance. In server mode this setup leads to routing problems as both nodes have the tunnel route added during startup (not after connect). This results in routing trouble as i needed the passive node to access the VPN tunnel via the active node. This is how i solved it:

Short Review: Puppet for Gentoo Servers

I recently started to integrate Puppet with my company’s OS installer to build custom Gentoo servers in almost no time. The install/build system reached a stable state and i want to share some information’s on what i did to get it working. The Gentoo support of puppet is not perfect but sufficient for my use case. There are still some issues to solve:

  • Slots don’t work (I’m working on a patch for the portage provider to address this issue)
  • No nice way to manage /etc/conf.d/net
  • Only the runlevel “default” can be managed (This is sufficient for most cases)
  • No built in USE flag support (i use a binhost so this doesn’t really affect my setup). Check this site for a possible solution

The missing slots integration is especially important when it comes to Tomcat. Tomcat requires sun-jdk-1.5 and sun-jdk-1.6. I solved this by adding sun-jdk-1.5 to our install image. Apart from this problems it works very well.

New Helper Script: SVN Updater Using Growl Notifications

This small helper script should be added to cron and checks your local working copies against the online repository. It can automatically update your working copies if a newer revision is available. The user will be informed using Growl popups. As Growl is only available for Mac users it’s a Mac only tool by now.

The script currently registers with Growl using the classes from Python bindings. This is not necessary and would also be done by growlnotify. I was just interested in how this whole Growl stuff works. Feel free to remove this parts.

New Project: Django-powered Nagios Configuration

It’s time for a new private project: The Django-powered Nagios configuration.

The idea resulted in reading the book “Python Web Development with Django”. One of the authors describes one of his projects for internal use: a Nagios config manager and i think it’s a great idea. I just played around with the idea but it got pretty usable so far. It’s not in a production ready state but as soon as it may be usable to you i will release it. Here’s a development screenshot:

Using Django With Komodo IDE

I recently started to work on a new Django project and tried use my default IDE: Komodo IDE. Unfortunately it didn’t work out the way i wanted. Code cpmpletion didn’t work just as the import of my app. Here’s how i solved it:

Installing iPython on OSX

If you don’t know iPython by now: check it out

It’s a pretty nice tool if you work with python from the terminal. Especially the easy way to get information about modules and functions. The easiest way to install (especially in a Mac environment) is to use the “alldeps” tarball.

Inbound Traffic Shaping Made (Pretty) Easy

It’s not that easy to get trafic shaping done with Linux especially when it comes to inbound traffic. After some serious research i found this howto which is a excellent starting point. The supplied script can be easily customized and works pretty good. If there’s interest i can post my version for incoming traffic only.

You have to apply the IMQ patch (can be found here) to your kernel to get this working. IMQ is necessary because Linux can only limit outgoing traffic with builtin kernel settings.

Zattoo: Watch (Free) TV on Your PC

Always been looking for a good, reliable, fast and free solution to watch TV on your PC? Take a look at Zattoo. There are binaries for Mac, M$ and Linux. Give it a try!