Hacker News new | past | comments | ask | show | jobs | submit | byrnedo's comments login

Skate author here: please try it out! I haven’t gotten round to diving deep into uncloud yet, but I think maybe the two projects differ in that skate has no control plane; the cli is the control plane.

I built skate out of that exact desire to have a dokku like experience that was multi host and used a standard deployment configuration syntax ( k8s manifests ).

https://skateco.github.io/docs/getting-started/


Looks like uncloud has no control plane, just a CLI: https://github.com/psviderski/uncloud#-features

If you want, give skate a try ( https://github.com/skateco/skate ). I built it out of the frustration of having to learn the custom deploy syntax of all these other alternatives, instead it uses kubernetes manifests and is multi host.


Please try https://github.com/skateco/skate, this is pretty much the exact same reason why I built it!


I created skate (https://github.com/skateco/skate) to be basically this but multihost and support k8s manifests. Under the hood it’s podman and systemd


This is a great approach which resonates with me a lot. It's really frustrating that there is no simple way to run a multi-host Docker/Podman (Docker Swarm is abandonware since 2019 unfortunately). However, in my opinion K8s has the worst API and UX possible. I find Docker Compose spec much more user friendly. So I'm experimenting with a multi-host docker-compose at the moment: https://github.com/psviderski/uncloud


Wouldn’t argue with you abut the k8s ux. Since it has all the ground concepts ( service, cronjob etc ) it required less effort than rolling yet another syntax.


Uncloud looks awesome and seems to have a great feature set!! Nice work!


Thanks! I'm more than happy to catch up to discuss the challenges. Feel free to reach out to me on twitter @psviderski or email 'me at psviderski.name'


Thank you for building this. I appreciate you.


This looks awesome!


Pulled my hair out about doing this all over the place when integrating with a node api, ended up writing https://github.com/byrnedo/pjson. Feels like this should be covered as a more first class thing in go.


It is. That's what json.RawMessage is for. It's a shame the author didn't explore this more. It's a perfectly cromulent solution to this problem.


I’d check out multipass from canonical. IIRC you can specify the image it uses.


I've been working on Skate (https://github.com/skateco/skate), a lean multi-host container platform, primarily for my own needs. Its been a great way to learn more Rust (I'm a gopher by day) and I've learned some interesting technologies and concepts.


I'm a big fan of simple paas setups like Dokku, but I'm tired of learning yet another configuration syntax or ceremony when I'm perfectly happy building on kubernetes. But god do I not want to self host it. Not even k3s. I just want to be able to deploy things across a small cluster.

Currently supported resources: - Deployments - Daemonsets - Cronjobs - Services - Ingress - Secrets

Skate comes with letsencrypt powered TLS automatically when using ingress.

It leverages podman, openresty, ipvs and coredns.

It's very far from feature-complete, but is definitely at the point of being useful.


Check out https://github.com/skateco/skate

I'm building it for exactly that reason. Multihost and supports k8s manifests.


I'm not trying to yuck your yum, but you'll want to be _very careful_ about the uncanny valley of squatting on k8s manifests since there is a ton of functionality in those files and (as best I can tell) only by reading your readme can one tell which features actually work versus are just silently(?) swallowed


I just remembered that a big reason I did this was because podman supports controlling pods directly via subset of some k8s resources manifests (podman kube play). Squatting, as you put it, on the same version.

https://docs.podman.io/en/latest/markdown/podman-kube-play.1...

I suppose I could tighten things up at my end anyway though.


Yeah, you're right, I'd need to at least have some kind of table of supported attributes, or even mint my own schema with the subset that's valid for skate.


Perhaps a tool that processes a k8s manifest and produces a modified manifest containing only the attributes that are supported?


You mean so the user can see themselves what will be applied?


Sure. Looking at the output would make clear which properties are actually recognized, and it could be commited to version control to avoid confusion


Striking while the iron is hot: I love dokku and I've used it for many years. That said, I thought I'd do something similar but with the goal of supporting k8s manifests

https://github.com/skateco/skate

It's daemonless, multi-host with multi-host networking, service discovery and like I said, allows you to create deployments, cronjobs, and route traffic via ingress resources.

Comes with letsencrypt out of the box.


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: