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 06: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 06: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 06:44 next collapse

Attempted satiation of the curse. Probably.

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

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

pokexpert30@jlai.lu on 27 Feb 08: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 07: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 07: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 08:02 collapse

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

dimeslime@lemmy.ca on 27 Feb 08: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 08:42 next collapse
ebc@lemmy.ca on 27 Feb 14:45 collapse

I’m one of these people. Simple answer? It’s the documentation. I’ve given k8s an honest try, but it honestly feels like the “draw the rest of the fucking owl” meme, starts way basic then gets wayy too hard without explaining anything in between.

Meanwhile docker is 1 file, 1 command to get started.

Edit: I just realized you were talking about k3s, not k8s. Is that something different somehow? Google says it’s a “k8s” distribution? WTF would that be?

dimeslime@lemmy.ca on 27 Feb 16:21 next collapse

Yeah for reference I’d probably never run the full open source Kubernetes distribution unless I had to, and that would mean having access to millions of dollars of hardware in a datacenter.

K3s is a lightweight Kuberbetes distribution that implements the full Kuberbetes API (full-ish? Maybe?). It’s super easy to run on Linux, I run a 3 node cluster with GPUs at home. Its only real downside is the backend is a single point of failure, but that’s ok for me cause it’s run from my storage node with all the disks, so if that disappears I have bigger problems.

There are others like microk8s which can handle control plane failures, but it’s for that reason that I also dislike it - they wrote their own distributed sqlite instance and it failed on me, a story for another time.

Minikube can run on your desktop, it’s also an option.

But if you have docker desktop, you also have a built in Kuberbetes API server too, just have to enable it with one checkbox (not a full API server, but good enough for installing helm charts).

Kind is a docker based Kubernetes server but I think that’s in the realm of testing not running. I believe K0s is in this camp too but could be wrong.

At work the daily driver will be one of EKS, GKE, AKS, or whichever cloud providers implementation. They’re effectively free and a loss leader because you’ll pay for instances anyway (at least on EKS, I’m most familiar with that one).

But if you’re interested in learning, start with docker desktops k8s API, or minikube, or k3s if you have a Linux host or raspberry Pi lying around.

🌈The more you know!🌈

fruitycoder@sh.itjust.works on 27 Feb 21:00 collapse

RKE2 is the next step up from k3s Same group mantains it (Rancher) but its built for bigger productuon uses (i.e. it deploys etcd instead of sqllite by default).

pokexpert30@jlai.lu on 28 Feb 02:58 collapse
androidul@lemmy.world on 27 Feb 07:12 next collapse

okay the moment I saw Python I just closed it

pokexpert30@jlai.lu on 27 Feb 07: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 09: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 09:18 collapse

Why do you think I won’t maintain this?

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

People rarely maintain open source curses. Manjaro withstanding.

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

Bahahaha

androidul@lemmy.world on 27 Feb 09: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 08: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 09: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 12:06 next 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 13: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 14: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.

possiblylinux127@lemmy.zip on 27 Feb 15:17 collapse

You sweet summer child…

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

Next step: convert docker to nspawn/portable sysd services

pokexpert30@jlai.lu on 27 Feb 23:21 next collapse

Oh no

pokexpert30@jlai.lu on 28 Feb 03:24 collapse
irmadlad@lemmy.world on 27 Feb 18:50 next collapse

I wish I knew what the hell you’re talking about, but I sure am smiling big for you what ever it does. LOL I know what Kubernetes is. But after that, it’s all Greek to me. Best of good fortune in…whatever you’re doing. /s

tmjaea@lemmy.world on 28 Feb 05:54 collapse

Ξέρεις την ελληνικά γλώσσα;

irmadlad@lemmy.world on 28 Feb 08:36 collapse

No, no hablo Griego.

fruitycoder@sh.itjust.works on 27 Feb 21:23 next collapse

Great now i can Kompose convert my converted helm charts!

pokexpert30@jlai.lu on 27 Feb 23:22 collapse

Challenge : how many dekube => kompose => dekube until it stops working

tribut@infosec.pub on 28 Feb 02:26 collapse

I really appreciate your marketing. You’re good at this.

pokexpert30@jlai.lu on 28 Feb 02:56 collapse

Thanks, i guess ?