It's me again. My Kubernetes devolver has reached the astral plane. (dekube.io)
from pokexpert30@jlai.lu to selfhosted@lemmy.world on 27 Feb 14:04
https://jlai.lu/post/33786080

Hey there, it’s me again with my cursed project. Last time is said “i basically reinvented Kubernetes”. But the voices won and I legit did.

Last time it was a cursed novelty. A random script made by some autistic dude with too much time on its hand.

Now it’s become its own project, with ecosystem and overpriced .io domain. For no reason other than : It’s cursed, but it works beautifully.

Every Kind is handled by its distinct code. Everything is pluggable, nothing is hardcoded. The next layer of hell is for someone else to write Docker Swarm extensions. Won’t be me.

I am, again, very sorry. Sorry for releasing this thing into the world as a complete, working, product.

And sorry for keeping spamming it. I will stop, i promises (the voices will never)

#selfhosted

threaded - newest

CallMeAl@piefed.zip on 27 Feb 14:28 next collapse

Sorry if this is a silly question, but what is the use case for this?

actionjbone@sh.itjust.works on 27 Feb 14:44 next collapse

Attempted satiation of the curse. Probably.

andyburke@fedia.io on 27 Feb 15:35 next collapse

Looks like it's meant to help you escape K8S, a worthy goal.

pokexpert30@jlai.lu on 27 Feb 16:04 collapse

It never was the goal. The goal was to escape docker compose. Ended up opening portals to other dimensions. Live and learn

pokexpert30@jlai.lu on 27 Feb 15:37 collapse

The real question is “why would anyone want to use this”. The answer “People are lazy and prefer using docker compose over k3s”.

I maintain several helmfiles repo, and people asked me “but where docker compose” . So there is your docker compose github.com/…/compose-deployment.md

But yeah, all of this shouldn’t exist. Go read the about page in the docs if you’re brave (or bored) enough

CallMeAl@piefed.zip on 27 Feb 15:49 next collapse

People are lazy

Yeah, that tracks. It sounds like Type 1 Laziness: people who don’t want to do anything.

I sense you make this because you are Type 2 Lazy: Happy to learn and make 100 new things to avoid having to do a boring thing more than once. That’s something I can both appreciate and relate to.

pokexpert30@jlai.lu on 27 Feb 16:02 collapse

On i am 1000% a type 2 lazy. Sysadmin by heart

dimeslime@lemmy.ca on 27 Feb 16:35 collapse

I hate that you hate to write this, but good work doing it. I never understood why people perceive k3s as hard and then write pages of docker compose yaml instead. Admittedly my day job got me a CKA, but running k3s at home is barely a step up from docker compose.

pokexpert30@jlai.lu on 27 Feb 16:42 collapse
androidul@lemmy.world on 27 Feb 15:12 next collapse

okay the moment I saw Python I just closed it

pokexpert30@jlai.lu on 27 Feb 15:41 next collapse

I mean, it’s yaml manipulation. It was either python or perl, but i wasn’t fucking with perl, i’m insane not mad (or the other way around)

redsand@infosec.pub on 27 Feb 17:02 next collapse

Perl is perfect for curses you have no intention of maintaining. You can pack more dark magic per line.

pokexpert30@jlai.lu on 27 Feb 17:18 collapse

Why do you think I won’t maintain this?

redsand@infosec.pub on 27 Feb 17:23 collapse

People rarely maintain open source curses. Manjaro withstanding.

pokexpert30@jlai.lu on 27 Feb 18:03 collapse

Bahahaha

androidul@lemmy.world on 27 Feb 17:18 collapse

Perl is way crazier than Python that’s for sure. Don’t get me wrong, it’s a nice project, Python gets you there really fast because the la gauge is loosely coupled, just that when it’s failing it’s blowing up on all ends & it’s not so deterministic, meaning what you run on machine-a will be exactly the same on machine-b.

dimeslime@lemmy.ca on 27 Feb 16:26 collapse

Curious what you would use instead? I can only think of one wrong answer and that’s Jsonnet.

androidul@lemmy.world on 27 Feb 17:19 collapse

Would’ve written a Golang program and spit-out a binary for everyone to execute on any machine.

No dependency problems, it’s portable, it’s deterministic — all that you need. Everything is packed in that binary, dependencies, your core logic.

moonpiedumplings@programming.dev on 27 Feb 20:06 collapse

You can create static binaries that bundle the python interpreter and dependencies.

It’s the onefile option in pyinstaller: pyinstaller.org/en/stable/usage.html#cmdoption-F

You can also do it with C. Or Csharp. Or many other programming languages. It’s not a feature unique to Go, it’s just that Go can only create static binaries.

androidul@lemmy.world on 27 Feb 21:04 collapse

not only, you can go ahead and run a Go program as is, without compiling as well 😆

TIL about the onefile, 10x for sharing, can you guarantee that runs everywhere?

moonpiedumplings@programming.dev on 27 Feb 22:03 collapse

go run works by compiling the program to a temporary executable and then executing that.

can you guarantee that runs everywhere

It seems to depend on glibc versions, if that’s what you are asking. You can force it to be more static by using a static musl python or via other tools. Of course, a binary for Linux only runs on Linux and the same for Windows and Mac. But yeah.

Also it should be noted that go binaries that use C library dependencies are not truly standalone, often depending on glibc in similar ways. Of course, same as pyinstaller, you can use musl to make it more static.

HyperfocusSurfer@lemmy.dbzer0.com on 27 Feb 20:09 collapse

Next step: convert docker to nspawn/portable sysd services