To me, it still seems like a win compared to over-engineered solutions like chef.
To me, it still seems like a win compared to over-engineered solutions like chef.
Do you know that some people use jinja2 templates to generate their YAML playbooks? Do you know what could have helped them? A real programming language.
https://news.ycombinator.com/item?id=10567408 -> http://lukeplant.me.uk/blog/posts/less-powerful-languages/
I think it is relevant to this discussion. Having used Puppet before ansible, I tend to agree with it.
Turing complete code turns into an unreadable mess far more easily.
It has variables, control structures, loops and exceptions.
"You need some form of dynamic allocation construct (malloc ornew or cons will do) and either recursive functions or some other way of writing an infinite loop. If you have those and can do anything at all interesting, you're almost certainly Turing-complete." -- http://stackoverflow.com/a/449170
Which satisfies the infinite loop issue.
Have not looked carefully at the dynamic allocation, but I am guessing (hand waving here....) that it could be accomplished.