github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

penguincoder / airtruk

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 11
    • 2
  • Source
  • Commits
  • Network (2)
  • Issues (0)
  • Downloads (0)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (1)
    • master ✓
  • Tags (0)
Sending Request…
Enable Donations

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

Airtruk Enterprise Configuration Manager — Read more

  cancel

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

adding my name to the license 
penguincoder (author)
Fri Jun 05 05:15:55 -0700 2009
commit  3f7a7509a9891522093863fcc233688f5e8577be
tree    fdfe0933e4b9a7325aec35edcb1f7060297f896c
parent  c67f5eb72ef4bb01b2838f68016f601d5c112192
airtruk /
name age
history
message
file LICENSE Loading commit data...
file README
file Rakefile
file active_record_connect.rb
file airtruk_spec.rb
file app.rb
file boot.rb
file config.ru
directory config/
directory db/
directory lib/
directory public/
directory samples/
README
Airtruk - The network configuration generator thingey doodad.

This is as close of a replication of the 'Overlord' application presented
at RailsConf 2009. Jason LaPorte of Agora Games presented 'PWN Your
Infrastructure Behind Call of Duty: World at War' and gave a few screenshots
of a fantastic looking application that would feed a configuration script
to a machine based on it's hostname.

I thought, "hey, i want one of those." So i made one.

Airtruk will allow you to configure an arbitrary set of files to be replaced
on a machine. If you omit a filename, those scripts will be executed instead.

You configure machines based on their hostname, and you set up shell scripts
based on some arbitrary configuration name (load-balancer-pound, primary-mysql)
Whatever you want, really. On the main page, you click the '+' to add it to a
machine and the '-' to remove it. When the machine asks for it's configuration,
the app will feed it a shell script that it can execute.

To install the application, just load it up using your favorite rack
compatible web server and run 'rake db:migrate' to create your database. It
uses Sqlite3 all the time. It doesn't need anything more, really.

In the samples/ folder, i included a few suggested scripts that you could
modify to suit your deployment scheme. I use Gentoo for all of my servers and
i use dump/restore to install all of them. Once you get a working machine,
I use RIP Linux to boot off a CD/Thumb drive and use make-production-image.sh
and create a filesystem image. From there, you just dump that image onto each
machine using install-server.sh and then run the setup-production-network.sh
to set up the network. Reboot the machine and run that airtruk-config.sh script
and you're golden. Everything should be as it should on the machine.

Thanks to Jason, he had no idea i was writing this, nor have i seen any bits
of the code of his application. In fact, i never even went to his presentation
(sorry!). For more information, see:
http://en.oreilly.com/rails2009/public/schedule/detail/7879

One more thing. Why Airtruk, you ask? Because it saved everyone from the
ThunderDome. (That's my proprietary application for managing my enterprise
application). It fits.

Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server