Pie

The latest version of Pie is 0.1.3; you can get it at the Pie RubyForge page

Pie is a CGI script written in Ruby that manages IP range assignments. IP ranges are stored in a PostgreSQL database along with details about those ranges and even individual IP addresses. Range details and IP addresses can be searched. Pie helps you manage CIDR ranges by finding available ranges of whatever size makes sense and automatically selecting the next available range of the required size by default.

Many ISPs or whatever seem to manage IP assignments by storing them in a spreadsheet or something equally lame. This is not very helpful if multiple people need access to provision customers or locate the user of any given IP. Pie solves this problem without being big or strange to manage.

There are a few other tools like Pie out there, but we didn’t like them. You can manage to get them to store IP data, but, oddly enough, something as obvious as saying “give me the next available /28” was apparently out of the question. Pie will do this for you. It is a little thing (well, kinda), but it makes all the difference.

The latest version of Pie can be downloaded from RubyForge here . You will also need the ip-address library found here and the ruby-postgres library found here . I have not yet tested it with the new ruby-pg library. It may work; it may not.

Pie is pretty easy to deploy. Stick it where you want to get at it with your web server, create a PostgreSQL database for it with the included SQL file, and feed it your address range that you want to slice up. I’ll probably write a little tutorial once I get the next version out.

back to projects