BIND DLZ Update

Posted by Kenneth Kalmer on June 30, 2008

Howdy all

Since we got mentioned on the Rails Envy Podcast #34, interest has been picking up in the project, and I’ve been drenched in other work… But not to worry, the project won’t die, and we actually desperately need it ourselves, even more now than ever.

Development will be picking up again near the end of the week to get the interfaces in some kinda shape before moving onto sample API clients, PowerDNS convertion tools, and macros!

Macros? Well, you see, we’ve been working brutally hard over the last couple of weeks to get Postini integrated tightly into ISP in a Box. Most of it is nearing completion now, but several thousand mailboxes still need to be integrated into Postini. One step of this integration process that has to happen for every domain is MX record updates. This is where the idea of macros came from, and after defining it in my head I quickly realized it will surely enjoy widespread use once implemented.

Pass me your thoughts on the ticket I opened at LightHouse.

Ciao

From svn to git, handling non-standard repo layouts

Posted by Kenneth Kalmer on June 16, 2008

Today I finally had to “extract” a project from one of our biggest repos as part of a git migration plan. I’ve converted most of the other smaller projects in the same repo over using just their trunk, and it has worked without any noticeable issues. Now the project in question has several active branches and important tags. Our repo layout is something to be a shamed of, and git-svn likes “standard” subversion layouts.

I found this thread on KernelTrap, where one user has a similair layout to ours and faced the exact same predicament. The thread is interesting, and the people offer some good tips and advice. Although most of them just seemed “wrong”.

I proceeded to get a copy of our live repo onto my laptop for a simple test. Using a quick svnadmin dump/load combo I had a copy to play with. I sat with a team member, and several svn manipulations later we had restructured that project’s layout to be more svn-like. I then commenced to use the standard git-svn import tool and it pulled in all the branches, tags and trunk for the project in without breaking a sweat.

So, importing from svn with full history from a non-standard repo layout isn’t a daunting task after all.

Just one friendly warning though, if possible, get rid of as many unused branches and tags as possible before importing into git. The full history can get very messy in some cases, and in others a clean slate will be welcomed by the team…

Hope this helps someone else to jump ship easily :)

BIND DLZ Update: Templates now seem happy

Posted by Kenneth Kalmer on June 15, 2008

I’ve completed the zone templates in BIND DLZ on Rails, unless I missed something obvious. I’ll first complete all the missing specs before continuing with the standard zone management tools.

Changes over the last four days include:

  • Prototip 2 test implementation, for DNS insight
  • Getting the $TTL of zone templates to behave the same way as normal zones
  • Fixed broken seed data
  • Restructured views to be more RJS friendly, and easier to manipulate with RJS

Lessons learned so far:

  • Flock interferes with prototype’s event listening, or maybe firebug in flock
  • Getting tables and nested forms to be manipulated by JS is not a walk in the park
  • UI design can actually show holes model design

Stay tuned for more changes coming this week, we have a hectic deadline to get this application production ready in a very short time.

BIND DLZ on Rails first preview pushed to Github

Posted by Kenneth Kalmer on June 10, 2008

I’m proud to announce the first push to Github of the BIND DLZ on Rails project. Its still pretty much a work in progress, but this is the first draft and opens the door for feedback by the community before the project has evolved too far.

Highlights so far

  • Multiple roles (admins or domain owners)
  • Zone & Record Templates
  • Fairly good test coverage with RSpec
  • Some documentation

For those who are curious, its built using:

  • Rails 2.0.2
  • Haml 2.0
  • restful_authentication plugin (and acts_as_state_machine, role_requirement)
  • will_paginate
  • seed-fu
  • rspec and rspec_on_rails

Installation

This might be a little sketchy, apologies in advance. I’ll work on a proper document as part of the source code.

Requirements

  • Ruby 1.8.6
  • Rubygems v 1.0 or later
  • MySQL (other databases will work, although I haven’t tested them)
  • Git

After installing the prerequisites, you need to create a database for the application to use. By default it expects “bind_dns_development” as the database name, you can however change config/database.yml to point to anywhere.

To get the database structure in place, with some seed data to play with, run these commands

$ rake db:schema:load
$ rake db:seed

The seed data will create a single user called “admin”, with the password “secret”.

To start a server, do this

$ ./script/server

This shows you the interface on port 3000.

Stay tuned

Please watch/fork the repo as appropriate, and file tickets on Lighthouse. As I’m typing this post I realize you much documentation is still lacking for non-Rails developers.

Thanks

Thanks to ISP in a Box for allowing us to build this project in company time and giving us the required infrastructure, support and human testing during the development, now and in the coming months.

  • Tags

    activerecord air amqp analytics audits bash bind capistrano cheat convert couchdb daemon-kit dlz dns elsewhere gentoo gist git hoptoad linux macros mercurial messaging mysql nginx olympics plugins postfix postini powerdns presentations projects quickies rails rake review ruby ruby19 ruote security shoes sitemap ssl svn webby
  • Recent Posts

  • Archives

  • Alltop. Seriously?! I got in?