All resources in Ansible are declarative models of state, that get informed, and have idempotent properties.
So it's just like any CMS.
However if you want to write a deployment script, it also lets you, rather than fighting it kicking and screaming :)
Also, when you want to just push and run a script versus using one of the 234 other modules, it's there - http://docs.ansible.com/script_module.html
And if that's the case I don't see the point of a level of indirection outside the shell script. But that might be just me :)
I talk a bit more about this here:
https://www.youtube.com/watch?v=zVUPmmUU3yY
but it's quite heavily edited and a little out of date.
They should be part of the definition of your system (ie the state), not changed on the fly.
If I said ShutIt was elegant, I was wrong (not sure where I did). It's not elegant, just as the real world is not.
Anyone trying to make config management look elegant is selling you a pup.
A thousand times this! I, personally, find YAML easier to grok than whatever Puppet was using (see, post-puppet PTSD selective amnesia). And, anything that doesn't work, on a deadline, can be shell scripted now and modularized later.
Only true if by "later" you mean "probably never".
If so, that's a really awful re-use of a TLA (three letter acronym)
Many people still refer to any website that is editable as a CMS - Content Management Systems.
so please don't call it that, it will only sow confusion
This was my disappointment with Ansible (and other CM tools) - so why not treat the shell as the basic unit of action? See my post elsewhere on this page for more: https://news.ycombinator.com/item?id=8135823