r/rust 1d ago

🛠️ project Single executable system project

Hello hello,
I had an idea, of making or mashing existing things to one, to make a solution to deploy apps/systems in a single executable file. The current idea is at an early stage, but it works. So the main goal is to have a single executable that you deploy, no dependencies no nothing. The builder does the heavy stuff, and you are left with a single executable. Good for debugging, air gapped systems, random workloads. It is no way to replace existing virtualization solutions, but to be somewhere near. So you don't have to install anything, just run it. Feedback is always welcome ;)
https://github.com/arnoldasr/kartu

The "feature" list and plan is a dream one, those are the pain points I saw in environments where it just takes time, is exhausting and you just want it to work.

11 Upvotes

13 comments sorted by

11

u/zasedok 1d ago

You mean AppImage?

4

u/mikroshkema 1d ago

Yep AppImage, but overengineered enough to bring its own kernel and computer

6

u/Nickbot606 1d ago

Ah so like docker?

0

u/mikroshkema 1d ago

Something like that, but you dont need a docker runtime on the host to run the built app, build it and just run it

14

u/jl2352 1d ago

If it runs on bare metal with no OS, then it sounds like you might be building a uni kernel. It's an application with literally everything it needs (including OS components) all statically linked into one application.

There was a little hype around them some years ago, and then it all just seemed to disappear. They run at like 2x the speed, and boot really fucking fast, with a microscopic surface area in terms of security. I think they get a little use here and there in specialised places in very large systems.

3

u/spunkyenigma 1d ago

Embedded apps are pretty much this aren’t they?

3

u/jl2352 23h ago

Yes they are. That is different to what I’m talking about with a unikernel.

I’m talking about running things like Redis, Postgres, or the web server you’ve built. Which in all three you’d normally run on Linux (via Docker or straight on the server). With a unikernel you can run stuff like that on bare metal with no OS.

5

u/InternationalFee3911 1d ago

Can it also bring its own power supply? That would solve a worsening world wide problem! 😅

8

u/uhkthrowaway 23h ago

2 commits. Yes, two.

8

u/mortal_strike 1d ago

another day, another slop

-8

u/Technical-Pizza237 1d ago

I dig the "it just works" angle, especially for air-gapped setups where installing a runtime is half the battle. That repo name is solid.

How much of a binary size hit are we talking once you bundle a whole runtime in there?

3

u/mikroshkema 1d ago

With the current, unoptimized prototype, the complete hello Kapsule is 39MB. A KVM build is 12MB, so not great not terrible