LDAP bridge for Fact Generation Tools (a la: Facter)
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin
config
inc
lib
spec
.autotest
.gitignore
.rspec
Gemfile
Gemfile.lock
README.mkd
Rakefile
oxford.gemspec

README.mkd

Overview

This is the first iteration of oxford, a LDAP bridge between fact generation and LDAP as storage.
This is a wrapper for polling of facts via the Facter library (http://puppetlabs.com/puppet/related-projects/facter/) and export to LDAP
This has been tested on OpenLDAP

Requirements

  • ruby
  • puppet
  • facter
  • activeldap
  • extended fact schema (websages.schema)

Usage

  • Setup your LDAP server to include the fact schema (inc/websages.schema).
  • Configure your LDAP settings in the configuration file (see config/database.yaml for example)
  • run bin/oxford -c i.e. bin/oxford -c /etc/oxford.conf

FAQ

Q: Why did you do this instead of using
A: I like LDAP. While there are a lot of neat solutions on how to handle this problem set, I am aiming to reduce the overall technology footprint across places I deploy Puppet, et. al. Less technology stacks == less things to manage overall. Plus, LDAP provides me things out of the box like disaster recovery (replication) and HA (multi-master). Win.
Q: Why did you not extend Facter?
A: Facter is really good at doing one thing - providing facts.

Because this requires schema that is not existent by default in LDAP, I'd isolated both functions into very simple pieces UNIX style - my code is really good at writing and reading facts from LDAP. This will allow alternate fact generation tools (ohai, pfacter, etc) to also leverage writing of facts to LDAP.

Todo

Refactor code (potential integration into Facter?)
add alternate fact generation tools as options.
update namespace to include name.
Include Puppet custom specific facts when polling for facts Package into gem ¡Profit!