One thing I love about Chef is that it shines a light on long-standing
issues in systems management that the community has historically ignored
because our environments are often very different. By holding out the
promise of a cross-platform, multi-environment abstraction layer, Chef gets
us thinking about ways to make things better.
The number one issue I run into when using a cookbook written for and
tested on platform X on platform Y is that X and Y don’t keep userland
binaries/libs/configuration files in the same places/paths. Despite all
our efforts to make cookbooks data/attribute driven, we still hard-code
paths all over the place.
Here’s my attempt at a remedy for this:
With some more work, this cookbook can be highly intelligent about setting
paths (like looking at package manager configs to figure out our default
prefix/path for packages).
Is this something that we want in ohai/chef rather than a cookbook? Do we
want to encourage the community at large to use attribute-driven pathing?
(I think we do).