The concept of unified configuration management is both a dream but can be both a technical and social nightmare. A myriad of factors play into a system that can usable across teams and organizations. Conflicting project goals, gated release schedules, social dynamics, source design, upstream packages, security requirements, and governing bodies are all potential blockers to large scale integration and code reuse.
Fairchilde is a project engineered to provide both a unified configuration management codebase (Puppet) that encourages code reuse, skill sharing, and multiple levels of oversight and control. It accomplishes this by using a minimalistic framework centered on the concept of different layers of ‘jails’ which isolate teams and projects. This allows for seamless integration with the global codebase in a isolated configuration source jail. Code can remain in their jail, reference and contribute to other project’s source code, all while preventing a change in one project from impacting any other project.