Is there a configuration management tool which:
- is idempotent
- is agentless
- has a sane configuration language which lets you easily build abstractions, as opposed to the jinja2-augmented yaml abomination which Ansible uses?
@Wolf480pl nothing is a real anything
@cadey I mean, it's not good at being a programming language. It's not expressive enough. It makes it hard to do anything slightly more complex than simple ifs and loops over statically configured lists.
@cadey if less is more, then Ansible is, at the same time, too expressive, and not expressive enough.
@Wolf480pl it's declarative, not expressive.
@cadey it's imperative
@Wolf480pl do not think of ansible's yaml as a programming language. It is there to describe configuration, but it's not imperative and it's not a "real programming" language (at least, no more than css)
@hiciu But it pretends to be one.
It has loops, ifs, and variables, and you can do all kinds of crazy stuff with those variables.
If set_fact didn't exist, then maybe I wouldn't try to use it as a programming language...
Also, whenever I try to use it as not-a-programming-language, I end up repeating myself a lot.
It's not a good declarative description of a machine's state either.
So my natural reflex is to build an abstraction on top, to avoid repeating myself.
@Wolf480pl I totally understand you. Ansible requires a different mindset. I kind of learned to enjoy it, but maybe that's just a stockholm syndrome.
@hiciu tbh, I believe I could come up with a better declarative language on top of Ansible. At least better for my usecase. Guess I should try the API sometime.
@Wolf480pl you can always use ansible's api or generate json, from real programming language, and feed that json to ansible as a playbook :)
@hiciu Yeah, maybe I should try that.
@Wolf480pl nix package manager and its associated language probably? Failing that terraform allows for abstraction through the use of its module system. I find terraform to be fairly sane as well.
@Wolf480pl nix and guix stuff (maybe)
We are a cute and loving international community Ｏ(≧▽≦)Ｏ !