this post was submitted on 14 Jan 2025
273 points (91.0% liked)

memes

10922 readers
3243 users here now

Community rules

1. Be civilNo trolling, bigotry or other insulting / annoying behaviour

2. No politicsThis is non-politics community. For political memes please go to !politicalmemes@lemmy.world

3. No recent repostsCheck for reposts when posting a meme, you can only repost after 1 month

4. No botsNo bots without the express approval of the mods or the admins

5. No Spam/AdsNo advertisements or spam. This is an instance rule and the only way to live.

Sister communities

founded 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] bricklove@midwest.social 20 points 5 hours ago (1 children)

THANK YOU FOR THE SUMMARY, BROTHER. I'M GONNA TRY IT OUT AFTER I CRANK MY HOG. AROOOOOO!

[–] figjam@midwest.social 2 points 55 minutes ago

I have to say, the resurgence of this energy in the last whenever has been refreshing. Can't we all just crank our hogs?

[–] CaptPretentious@lemmy.world 28 points 6 hours ago (4 children)

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.

[–] cosmictrickster@lemmy.world 5 points 3 hours ago

You had me at “fuck Ansible”.

[–] corsicanguppy@lemmy.ca 5 points 4 hours ago

Honestly, fuck Ansible.

It’s the dialup of automation tools. It was probably amazing 10 years ago.

It's actually on par with 20-year-old tech. There's nothing it's doing that we weren't doing back then already in the enterprise space. And, in so many cases where Ansible's unable to respond well to changes to the system, it ends up not being on par with 20-yer-old tech.

Salt is better as it's one generation newer, aka last-gen. Puppet, salt, chef/cinc, all the same generation, and we get single source of truth and fast operation de

Current-gen is mgmtconfig, and from it we get instant/constant converging event-driven code. If you like ansible, you're gonna love sale or cinc. If you love salt or puppet, mgmtconfig will blow your mind clean out the back of your head.

100 servers? 5000? Ansible don't care

Sub-second convergence of thousands of servers. Files managed so hard you can't manually mod them as they revert immediately and it's an actual race to try and mod a file to use it, since it's hooked into inotify and friends.

James even put in a YAML-ish DSL for the crayola crew who haven't learned Go yet. :-P

[–] Lemminary@lemmy.world 3 points 6 hours ago (1 children)

Thanks for including an alternative you'd recommend!

[–] killabeezio@lemm.ee 4 points 6 hours ago* (last edited 6 hours ago) (1 children)

Well you will be happy to hear that it's owned by Broadcom now. While salt is better, I wouldn't use it just because of Broadcom.

But then again, Oracle now owns Redhat, so....

[–] Lichtblitz@discuss.tchncs.de 4 points 5 hours ago

IBM owns Red Hat.

[–] themaninblack@lemmy.world 1 points 6 hours ago (2 children)

I also appreciate the alternative suggestion. No terraform love?

[–] corsicanguppy@lemmy.ca 1 points 4 hours ago

No terraform love

Terraform 0.12 was awesome. It had no supply-chain sploit risk, ran well, accepted add-ons easily, and was very powerful.

Then they got a registry for people to attack, an umbilical to operation that ubisoft would envy.

I've been unable to get anything newer approved so far, because of the risk . Sure, you firewall off the box running CI, but often it needs to get out to the world, and suddenly it's a WAF on top of everything, and it's a real mess ... which they can eliminate by killing terraform usage altogether. And I don't wanna see that, as while tf's dsl is pretty weird it's the least-worst tool out there.

[–] hushable@lemmy.world 2 points 5 hours ago

Terraform and Ansible do different things, they do have overlapping features, but ultimately they're Kent to do different things. I use them both at my current job with Terraform running Ansible

[–] superkret@feddit.org 5 points 5 hours ago

I love this meme format!

[–] slazer2au@lemmy.world 2 points 4 hours ago

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

[–] ColonelThirtyTwo@pawb.social 39 points 11 hours ago* (last edited 11 hours ago) (3 children)

"Keep it simple" says the project that decided it would be great to program in YAML...

I've tried using it to manage a few home servers and parameterizing anything was painful and boilerplate-ridden

[–] tzrlk@lemmy.world 5 points 5 hours ago

Except it isn't actually YAML you're writing, it's a jinja2 string template that parses to YAML because the expressions they came up with ended up not being sufficient.

[–] Funwayguy@lemmy.world 10 points 10 hours ago (2 children)

Jist wait until you have to start fucking around with multiple incompatible versions of python for different targets.

[–] corsicanguppy@lemmy.ca 1 points 4 hours ago

fucking around with multiple incompatible versions of python

They're being treated for PTSD in solaris-land.

Yeah. I said solaris.

[–] FlexibleToast@lemmy.world 4 points 10 hours ago (1 children)

Because group or host vars are hard?

[–] Lichtblitz@discuss.tchncs.de 3 points 5 hours ago

No. Because the python version of the host and the target server must loosely match up. Otherwise you get some cryptic error messages in some unexpected modules. Red Hat's solution: just manage RHEL 9 targets from RHEL9 hosts and RHEL8 from RHEL8 hosts. There is no official way to align python versions across that major.

[–] themaninblack@lemmy.world 1 points 6 hours ago

I seem to remember having the same trouble, maybe with hiding vars from logs?

[–] paperd@lemmy.zip 13 points 10 hours ago (2 children)
[–] milicent_bystandr@lemm.ee 1 points 34 minutes ago

After a suspicious-looking guide I nearly started with, and the NoxOS split drama, and having homemanager bork my login in a test setup, I wonder if next time I'll try GUIX.

[–] mosiacmango@lemm.ee 14 points 7 hours ago* (last edited 7 hours ago) (1 children)

NixOS : no dudes, its not raw screeching madness, its great. Just great. So great. Please read these 17 guides that are outdated more every minute to get started. Also, dont read that guide. We don't do that anymore, but there is no way for me to explain why unless you already know.

Ive tried NixOS three times now, and it hasn't took. Has anyone written a sane guide to the current iteration yet?

[–] paperd@lemmy.zip 6 points 7 hours ago (2 children)

Listen. The more painful it is up front, the better you'll feel once you get it.

https://nixos-and-flakes.thiscute.world/

[–] ThirdConsul@lemmy.ml 9 points 5 hours ago* (last edited 5 hours ago)

This is the argument I use to convince straight guys to let me bum them

Just so you know.

[–] mosiacmango@lemm.ee 10 points 6 hours ago (1 children)

Ahh, I didn't realize we had mixed some "git gud" dark souls shit into my devops.

But seriously, I'll give your guide a look. Everyone should taste madness occasionally.

[–] paperd@lemmy.zip 2 points 5 hours ago (1 children)

I mean... You liked dark souls, right?

Once nix clicks, you'll know the massive missed potential that ansible is (being just another abstraction layer, and not baked into the package manager itself) and you'll never look at ansible the same way again.

[–] mosiacmango@lemm.ee 5 points 5 hours ago* (last edited 5 hours ago)

Sure, but that doesnt mean I want to mix its difficulty into code.

I like fried chicken too, but i don't try to somehow add json to it, no matter how sexy those nested brackets get.

Good things dont all have to be sluiced together into a juicy pulp. They can be good all on their lonesome. I can "git gud" in dark souls and enjoy well documented, consistent IaC as well.

[–] LordKitsuna@lemmy.world 57 points 14 hours ago (4 children)

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

[–] Deestan@lemmy.world 30 points 14 hours ago (1 children)

The scandinavian country codes, as understood by yaml:

  • se
  • false
  • dk
[–] azertyfun@sh.itjust.works 6 points 10 hours ago (3 children)

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.

[–] TheNamlessGuy@lemmy.world 1 points 3 hours ago (1 children)

"Broke backwards compatibility"

Brother, what do you think versioning is for?

[–] azertyfun@sh.itjust.works 1 points 1 hour ago

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.

[–] corsicanguppy@lemmy.ca 1 points 4 hours ago

they broke backwards compatibility

Tell me this is post-y2k and built in the dark ages after we lost our mentors and gurus without using those words.

[–] Deestan@lemmy.world 2 points 5 hours ago

Ow! My semver.

load more comments (3 replies)
[–] towerful@programming.dev 56 points 15 hours ago (6 children)

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.

[–] kevincox@lemmy.ml 25 points 13 hours ago (2 children)

YAML is fine as a configuration language and ok data input language.

YAML is absolutely cursed as a programming language. As in Ansible has created a really shitty programming language inside of YAML. Should be burned with fire.

[–] SubArcticTundra@lemmy.ml 3 points 10 hours ago (1 children)
[–] Lemminary@lemmy.world 1 points 6 hours ago

AHK grammar is a fucking mess, honestly.

load more comments (1 replies)
[–] doeknius_gloek@discuss.tchncs.de 26 points 14 hours ago* (last edited 14 hours ago) (1 children)

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.

[–] towerful@programming.dev 3 points 10 hours ago (1 children)

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.

[–] FlexibleToast@lemmy.world 5 points 10 hours ago

You mean like ansible-lint or yaml-lint?

load more comments (4 replies)
[–] hushable@lemmy.world 16 points 13 hours ago* (last edited 13 hours ago) (1 children)

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?"

[–] rockSlayer@lemmy.world 7 points 12 hours ago

Finally, KISS enforced software

load more comments
view more: next ›