Case Studies

Patterns from real estates. Client names stay off the page unless we have written permission. The work is still the work.

Healthcare · PE estate

Regional healthcare: three compilers and a PE-shaped console gap

A regional healthcare operator ran Puppet Enterprise across a mixed RHEL estate — clinical, corporate, and lab networks, with change freezes that actually meant something. Catalog compile times had crept past polite. One compiler was “the one that works.” The other two were souvenirs.

We treated it as an architecture problem, not a “restart puppetserver” problem. Load-balanced compilers, CA kept distinct, PuppetDB health, and a written path to OpenVox plus openvox-gui for the console functions the team actually used (certs, node status, the occasional Bolt job). HIPAA language stayed in the SOW; drama did not.

What changed: compile latency back inside the run window, a documented failover path, and a roadmap that did not require a surprise PE renewal to keep the lights on.

Engagement shape: health check → sprint → optional CMaaS Care. See pricing.

QSR / retail brand · Community Puppet

QSR brand: community Puppet health check on a single GCP node

A quick-service restaurant brand had stood up Puppet Community as a proof of concept on one undersized cloud VM. Site classification still lived as regex in site.pp. Modules were a mix of Forge pins and “it worked in 2016.” Leadership asked a simple question: is this real, or is it a science fair?

The deliverable was a site survey: current versions, classification, Hiera, code deployment (there wasn’t an r10k story), Bolt vs. SSH folklore, and a sequenced upgrade/repair plan. No rip-and-replace pitch. The honest answer was “keep Puppet, stop treating the master like a laptop.”

What changed: a written path to Hiera 5, roles/profiles, r10k, and a compiler-capable layout — sized for the estate they actually had, not a vendor reference architecture poster.

SLED · Puppet Enterprise

SLED: Puppet Enterprise maintenance without a standing army

A state / local / education environment needed PE kept alive: module cleanup for maintainability, defect triage, cybersecurity findings against the CM platform itself, dashboards, backups, and someone who could still explain the catalog when the last internal SME took a new job.

This is the unglamorous middle of configuration management. We ran it as scoped programming support under public-sector paper — change control, documentation, training materials for designated staff — not as a heroic rewrite. When OpenVox became a credible exit, the same patterns (control repo, compilers, PuppetDB, tests) transferred.

What changed: the estate stopped depending on one person’s laptop notes. Unit and integration testing got a foothold. The next person to inherit the system had a map.

If this sounds like your estate

Start with a health check. We will tell you if a sprint, a cutover, or leaving us out of it is the grown-up move.