Anyone that says yaml is readable is psychotic. It’s literally objectively not readable because a random white space character can break the entire thing and that’s by definition not readable I can’t see whether there’s a white space or not without explicitly setting that up in an editor
The scandinavian country codes, as understood by yaml:
- se
- false
- dk
Only 1.1. Which everybody has been fiercely clinging onto since 2009, because YAML 1.2 did not seem to consider it a problem that they broke backwards compatibility on that behavior. So now the only way to keep existing YAML files working is for us all to keep pretending YAML 1.2 does not exist.
Ow! My semver.
deleted by creator
Which versioning???
somekey: yes
Go right ahead and tell me what the YAML version is and what is the type of
somekey
is. Oh that’s right, it’s impossible, because the versioning is entirely up to the serializers for some godforsaken reason.
I fucking hate YAML. Everything about it is shit. I have no idea why it exists. “Oop, my config failed because I accidentally used an extra tab” should not be a thing.
Anybody that uses any of that shit can get fucked. KDL, too. I almost used Zellij until I saw how brain-dead their config system was.
That’s what ansible-lint is for.
I mean sure or you could just start by using a format that’s not so painfully strict with how it’s laid out. I miss the good old INI config. It couldn’t give two shits how you format it, throw in random spaces random tabs random new lines so long as the value was correct
I hate ini. Lists stuck in ini.
Honestly, fuck Ansible.
It’s the dialup of automation tools. It was probably amazing 10 years ago.
It’s YAML is awful, it scales terribly, it’s so fucking slow at literally everything, it gives people who have no clue what they’re doing a false sense of confidence.
The number of times I’ve seen app teams waste the time of support groups and engineers because something went wrong and they didn’t have the knowledge to know why and need to waste so many man hours having other people solve it for them. I (the engineer) was added to a chat that had 15 people in it because they, after running ansible, saw errors in their server… So clearly there was a problem with the server… At no point did they question there Ansible job.
Of the various tools I’ve used, I prefer Salt. The YAML is slightly less ass and it’s so much faster while also seeming to scaling better too. It by no means is perfect.
Thanks for including an alternative you’d recommend!
You had me at “fuck Ansible”.
I also appreciate the alternative suggestion. No terraform love?
Terraform and Ansible do different things, they do have overlapping features, but ultimately they’re meant to do different things. I use them both at my current job with Terraform running Ansible
uses yaml for scripting so it’s clean and readable.
Eh…
I guess yaml is fine.
I hate the significance of whitespace, and the fact that I cannot find any editor that can auto-format. Which are both related, I guess: there is no way to know a yaml document is actually correctly formatted without knowing the intended schema.Whereas JSON doesn’t have this ambiguity. But JSON has it’s own drawbacks.
Protip: you can actually just write your ansible (or any yaml really( as JSON.
XML master race
XML is extremely verbose.
Again, requires some other tooling to generate (I feel I can point to JavaScript for an example of XML manipulation)What’s funny is that if you use attributes a lot then XML can be about the same size as JSON. But people think there are things you should and shouldn’t use attributes for for some reason. The only thing XML has going for it is a really nice schema format, but even today that’s pretty moot. JSON schema and others are pretty well supported.
Are you looking for an editor that can format YAML out-of-the-box or with plugins? In my experience, most editors only support a small number of formats out of the box and extend that functionality with plugins. I have yet to find a solid, production editor without a decent YAML formatter. If you’re using one of the common commercial ones, Red Hat maintains many that work explicitly for Ansible.
I’ve been using Ansible for almost 10 years now and one thing I learned is to keep things simple, most issues I had with Ansible in the past were due to me taking the wrong approach to problem solving. In way, it forced me to not overcomplicate things.
I’m not the biggest fan of it, but I do prefer it over other IaCs.
edit: tbh my biggest issue with Ansible is other people who ask me “why not wrtie a bash script instead?”
Finally, KISS enforced software
uses vanilla ssh
Clearly you haven’t tried automation of network devices because it constantly bitches about missing ansible-pylibssh and falls back to Paramiko
I hate anything that uses python or depends on whitespace in it’s code. Nothing but fucking problems. You know what’s hard to see an extra space in a line of code. A missing semicolon is so much easier to find.
I finally understand Ansible.
Last time I checked on ansible, it was a sysadmin complaining that he could just do everything better with vanilla bash scripts and that redhat keeps riding it because every company keeps asking for ansible experience, even if it’s now a dated product.
And just personally, declarative anything seems to defeat it’s own purpose any time you want to do something non standard, which comes up more often than you’d think.
The enemy gate is down