4 ms·
So honest question, if not YAML and JINJA, what would you want? More end devices are beginning to have configuration APIs but managing legacy network devices st
by dvno42 5y ago
So honest question, if not YAML and JINJA, what would you want? More end devices are beginning to have configuration APIs but managing legacy network devices still requires SSHing in to make a change, thus all the templating components. My partner and I are trying to make a vendor neutral management tool to abstract all the templating and present an API but it's a hard problem with so many different vendors out there.
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.
- inshadows 5y ago> So honest question, if not YAML and JINJA, what would you want? 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.
- navaati 5y agoAre you suggesting Dahl or Jsonnet ?
- uchiga 5y agoIf he wants json, I will build it
- inshadows 5y agoIt doesn't really have to be any such fancy configuration dialect, even though I think they are much better than YAML with Jinja abominations you can find in Ansible or K8s Helm. 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. :-)
- ArtemZ 5y agoIf not YAML and JINJA, then just normal programming language. Ansible and Terraform are trying so hard to invent a language for describing an infrastructure, but there are already hundreds of programming languages that can do the same thing even better, without so many limitations that HCL, Yaml and Jinja has.