I can haz function library?
>inb4 muh idempotence
Seriously, idempotence != YAML.
I can haz function library?
>inb4 muh idempotence
Seriously, idempotence != YAML.
Unrelated but I've been experimenting with having a central KV store to host network state for physical devices (Cisco, Arista, etc) and when the state is updated, the network devices are updated (via a templating engine with SSH or API calls to end devices) but even with that it still takes templates to write the config.
I've mentioned it. I want functions. I don't care what they do. They may as well construct some data model under the hood. But I want real programming language, not templating YAML.
All that is needed are functions that can either directly contact the remote or build data model with which the tool will later do its magic.
See e.g. how you define infrastructure with Pulumi. It's just an example. I'm not advocating it. In fact, I have zero experience with it. But the point is, that it looks like imperative programming, but you're actually just building some model. You can employ language that's more functional. It doesn't matter.
Everytime someones mentions idempotence as a selling point of YAML abominations, they're mistaken. :-)
Mocking anyone who might disagree with you is unlikely to help convince people.