3 ms·
You'd prefer to allow composability in the middle and bottom layers (the modules) but have a different language on top? I have to admit that I'm a fan of turtl
by dj-wonk 12y ago
You'd prefer to allow composability in the middle and bottom layers (the modules) but have a different language on top?
I have to admit that I'm a fan of turtles -- the same kind of turtles -- all the way down. Many of the abstractions I see in configuration management tools seem to be fancy names for modules. I don't see why a role, a playbook, a play, and a task really need to be different things at all. Why is the hierarchy necessary?
- rmrfrmrf 12y ago> You'd prefer to allow composability in the middle and bottom layers (the modules) but have a different language on top? Absolutely. IMO, the top layer should be a summary of what the configuration manager will be doing and should have the project-specific data in it. The rest should be reusable modules. When you let a full program language into the top layer, you inevitably get people trying to put smaller routines in the top level itself mixed in with reusable modules, which results in bloated spaghetti.
- crdoconnor 12y ago>Why is the hierarchy necessary? To make it easy to extract out reusable code in a consistent way. They aren't all necessary, though. If you have a very simple playbook it can go all in one file. Sort of like how python has classes (which correspond to roles), but you're not forced to use them.