Michael DeHaan (original author of Ansible) thinks the time is ripe for the world to see a Rust-based Ansible alternative—with potentially 90-95% compatibility with exsiting playbooks—that can scale to 50-100k systems through a new message bus option.

https://laserllama.substack.com/p/a-new-it-automation-project-moving

A New IT Automation Project? Moving Beyond Ansible And Keeping The Spirit - An Invitation

update: whoa, this got popular! if you are reading this, check out https://jetporch.com for the start of the homepage (no code shared just yet) and development blog and Discord Chat information. Both links are at the bottom of the page. Hi everyone!

laserllama's blog
@geerlingguy This means that there will be one application that will be installed globally in the system 🤔
In other words, to run playbooks in Ci/Cd, you will need to use Docker or install it individually on a runner.
@Searge @geerlingguy what makes you think that? Because of the new bus system?
@Mietz @geerlingguy just because Rust is compiled language.
@geerlingguy Not ecstatic about the choice of Rust. If it were me I'd use Java and @graalvm

@chrisbensen @graalvm The problem with that is Java would immediately turn off a ton of sysadmins just based on the fact it's Java (regardless of merit!).

We all have plenty of war stories that deal with the JVM :D

@geerlingguy @graalvm But have you used Rust? I'm all for languages, heck, I have my degree in compiler and language design worked on many different languages, and have friends with a similar background, Rust is not favored by us. But if this is for sysadmins then I suppose I can see the logic if thry like it. The thing about using GraalVM and native image is 1. It can run Python, I did it from the World's Largest Raspberry Pi Cluster and 2 Native Image, no install/config.

@chrisbensen honestly I'd go with Python still if sysadmin is the main consideration.

I'm thinking Rust has just passed the top of its hype curve, still not sure if it'll settle in more like Go or fade into a lower level of obscurity.

@geerlingguy I could make a case for Python for this. Rust has the native compile thing which is cool but I think it'll be difficult to hire developers. But too many people got their panties in a bunch over Java.

@chrisbensen
I don't see a problem with rust. I would imagine that it would continue to use YAML and most people wouldn't need to touch the rust side of it.

And doesn't rust support static linking into one binary. I would think that would make installation even easier.

@geerlingguy @graalvm

@minecraftchest1 @geerlingguy @graalvm GraalVM has a similar fewture called barive image. I'm not oposed to Rust, I just don't understand the hype. It has some nice features but it appears to be a lot of hype. Look at it this way. Cobal and Fortran were common languages but now are relegated to very specialized fields with millions of lines of code. Nobody wants to rewrite it so a few people have job security. Because of this, I'd choose Go over Rust.
@geerlingguy but do we really need that? Yes new tech is cool... Butt... I don't know... (Ok I guess I am getting old)
@geerlingguy What frustrates me the most with Ansible is not the speed, but YAML. A new configuration language would be nice, that could also clean up a lot of the confusion around features like role/include_role/import_role etc.

@cm @geerlingguy same! YAML is just eugh

Toml would be nice, but honestly I'd even take plain old JSON over YAML any day

@sbrl @geerlingguy I think a "data structure" language is not enough; I'd rather have some kind of programming language, something where I can have real loops and if statements; doesn't need a lot of features, but those two are very clumsy in current ansible.
@cm @geerlingguy I suppose there's always plain shell scripts / Bash, but a domain specific language would be nice
@sbrl @cm @geerlingguy my first thought here is https://cuelang.org/. I have seen previous attempts to map/wrap ansible in cuelang, so why not just start there?
CUE

Configure Unify Execute Validate, define, and use dynamic and text‑based data Learn more Get started with CUE CUE makes it easy to validate data, write schemas, and ensure configurations align with policies. Get started learning about CUE with these links ..

CUE

@cm

Wouldn't be Ansible in that case, but something else. You'd be starting out from scratch. Nah.

Also, not everyone dislikes YAML 😉

@geerlingguy

@mackaj @geerlingguy re "wouldn't be ansible" -- I'm pretty sure one of the other tools in that space (puppet) completely redid their DSL with a major release...

@cm

I hate puppet with a passion. Pulling stunts like that is just one reason. Best not to repeat other people's mistakes.

@geerlingguy

@mackaj @geerlingguy yes, some upgrade where you had to upgrade client + server at the same time because of a breaking change brought me from puppet to ansible.

but I think one could keep the old config format and add a new one. integration of legacy roles etc into new code could be a problem, but plugins probably could keep their API.

@mackaj YAML is the best worst config language readable by humans out there ;)

@geerlingguy

Have you ever looked at SaltStack? Last time for me was about 7 years ago. They didn't have loops in their YAML so to iterate over the same lines you had to wrap your YAML in Jinja loops 🤢

I walked away and didn't look back.

@geerlingguy in before the mention of nix. 🙈
@geekgonecrazy ha! And everything deploys into K8s for kicks!
@geerlingguy Have you seen https://github.com/purpleidea/mgmt/ ? What do you think?
Commits · purpleidea/mgmt

Next generation distributed, event-driven, parallel config management! - Commits · purpleidea/mgmt

GitHub

@geerlingguy

Message bus huh. Sounds like he's thinking of deploying agents on the target hosts. Agentless is one of the big selling points for Ansible so I wouldn't be keen on that.

And how do we know he's not going to build something new, suck in years of people's time and good will, then sell it all over again?

He should call it YACMP (Yet Another Configuration Management Platform). They're breeding like standards