Mini-paas for deploying kubernetes manifests.
Simpler, daemonless & small resource footprint.
Docs -> skateco.github.io
- Service discovery - DNS based service discovery.
- Multi-host network - Designed to run on several nodes.
- Kubernetes manifests - Deploy using the same syntax you use in your day job, without the burden of running k8s yourself.
- Small resource footprint - Skate is written in rust, runs no daemon of it’s own and uses minimal resources.
- Https by default - Ingress resources get LetsEncrypt TLS by default.
Born out of the frustration of having to learn yet another deployment configuration file syntax.
Skate runs as a CLI on your machine and talks to a small binary on each host over ssh.
Leverages podman kube play to run pod manifests.
Supported Distro: Ubuntu 24.04 Supported architectures: amd64, arm64
You can deploy:
- Pods
- Deployments
- DaemonSets
- CronJobs
- Ingress
- Secrets
- Services
An nginx ingress runs on port 80 and 443 on all nodes. Lets-encrypt provides the certificates.
See the quickstart for a guide on how to get started.
- Podman
- Openresty
- Coredns
- LVS
- Keepalived
- Systemd
For pods (which affects deployments, daemonsets and cronjobs), see podman kube play's documentation
For other resources, I'll add some documentation soon. Check ./hack/ for examples of what's been tested.
Native:
Install the targets:
rustup target add x86_64-unknown-linux-gnu
rustup target add aarch64-unknown-linux-gnu
Install the cross toolchains:
brew tap messense/macos-cross-toolchains
# install x86_64-unknown-linux-gnu toolchain
brew install x86_64-unknown-linux-gnu
# install aarch64-unknown-linux-gnu toolchain
brew install aarch64-unknown-linux-gnu
make amd64
## or
make aarch64
Or just use https://github.com/cross-rs/cross
make amd64-cross
## or
make aarch64-cross
# multipass image doesn't have much
sudo apt-get install -y gcc make libssl-dev pkg-config protobuf-compiler