this post was submitted on 14 Jan 2025
355 points (91.8% liked)
memes
10923 readers
3263 users here now
Community rules
1. Be civil
No trolling, bigotry or other insulting / annoying behaviour
2. No politics
This is non-politics community. For political memes please go to !politicalmemes@lemmy.world
3. No recent reposts
Check for reposts when posting a meme, you can only repost after 1 month
4. No bots
No bots without the express approval of the mods or the admins
5. No Spam/Ads
No advertisements or spam. This is an instance rule and the only way to live.
Sister communities
- !tenforward@lemmy.world : Star Trek memes, chat and shitposts
- !lemmyshitpost@lemmy.world : Lemmy Shitposts, anything and everything goes.
- !linuxmemes@lemmy.world : Linux themed memes
- !comicstrips@lemmy.world : for those who love comic stories.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I kinda like YAML for simple configuration files, but the YAML spec is borderline insane.
https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
And don't get me started with ansible, it never works the way I think it should and almost every playbook or role I write is a pain to get right. When it works, it's a really nice tool and I couldn't manage my homelab as efficiently without Ansible, but it frustrated the hell out of me way too often.
I feel I spend more time iterating yaml.
There isn't any tooling that actually helps you write it.
I feel like there is a gap in the market for a solution that uses typescript, typed python or some other type-able scripting language, which then generates the yaml files.
A language that has language servers, intellisense, all the modern dev tools. Schemas are provided as simple type descriptors. And whatever script you write then produces the correct result.
Some sort of framework on top of that to provide an opinionated workflow, and some tooling to lint/validate/produce.
And the result is yaml files which can be checked/diffed against in-place config, and version controlled for consistency.
You mean like ansible-lint or yaml-lint?