Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's a bit unnatural to use Go when C is the "native language" of Linux and pretty much every operating system.




Talos Linux [1], "the Kubernetes Operating System", is written in Go. That means it exactly works as the little demo here, where the Kernel hands over to a statically compiled Go code as init script.

Talos is really an interesting linux distribution because it has no classical user space, i.e. there is no such thing as a $PATH including /bin, /usr/bin, etc. The shell is instead a network API, following the kubernetes configuration-as-code paradigm. The linux host (node) is supposed to run containerized applications. If you really want to, you can use a special container to get access to the actual user space from the node.

[1] https://www.talos.dev/ [2] https://github.com/siderolabs/talos/releases/tag/v1.11.5


Off-topic i guess. Are there like large scale success stories using this os?

Yes. I know at least one big cloud provider (actually the biggest) in Germany who uses Talos for their managed k8s.

I also use Talos, but I wonder if just using systemd for the init process wouldn't have been easier. You can interface with systemd in go quite easily anyways...

s6 (perhaps with s6-rc) is another interesting option. One could say it’s less opinionated than systemd. Or perhaps it’s more correct to say it has another set of opinions.

Go can speak C. It's fine.

The goal was to strip away most of the complexities (including C), to make the topic more approachable for a broader audience.

Go seemed a perfect fit, it is easy to pick up the syntax and see what is going on, but you can still be close to the OS.


I mean what you run is still machine code anyway, right?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: