Skip to content

FAQ

General

What is Skipper?

Skipper is an open source Kubernetes platform for startups. It gives small teams a production-ready cluster on any Linux server, with a web console, automatic SSL, and one-command app deployments, without requiring Kubernetes expertise.

Who is Skipper for?

Startup founders and small teams who need professional infrastructure but do not have a dedicated DevOps engineer or an enterprise budget. If you can rent a Linux server, you can run Skipper.

How is Skipper different from managed Kubernetes (EKS, GKE)?

Managed Kubernetes gives you the cluster but leaves you to figure out ingress, TLS, storage, auth, and deployment workflows. Skipper handles all of that with opinionated defaults. It also runs on any server you own, so you are not locked into a cloud provider.

Is Skipper production-ready?

Skipper is in active development (MVP stage). The core install, deploy, and management commands work on real infrastructure. We recommend it for staging environments and early-stage production workloads. The project is not yet battle-tested at scale.

Does kip work on Windows?

Yes. The kip CLI runs natively on Windows for all commands: deploying apps, managing secrets, viewing logs, scaling, rollbacks, etc. The only exception is kip install, which uses SSH to connect to a Linux server. For that command, use WSL or Git Bash. Download kip-windows-amd64.exe from the releases page.

Installation

What servers are supported?

Any Linux server with root SSH access running Ubuntu 20.04, 22.04, 24.04, or Debian 11 or 12. Minimum 2GB RAM and 20GB disk.

Can I install on a cloud VM?

Yes. Any cloud provider that gives you a Linux VM with a public IP and root SSH access will work.

Can I install on ARM?

Not yet. The MVP targets x86/amd64 only. ARM support is planned.

What other Linux distributions are planned?

The MVP supports Ubuntu and Debian. RHEL, Rocky Linux, AlmaLinux, Fedora, openSUSE, and Alpine Linux are planned for Stage 2. The change is minimal: only the package manager command for open-iscsi differs between distributions.

I lost my admin password

Run kip auth reset-password to generate a new one.

Can I re-run kip install?

Yes. The install is idempotent. Re-running it will update existing components without breaking anything.

Apps

What can I deploy?

Any application packaged as a Docker container image. If it listens on a port, Skipper can deploy it.

How do I update a deployed app?

Use kip app update to change the image and trigger a rolling update:

bash
kip app update api --image ghcr.io/acme/api:v2.1.0

You can also update the image from the web console using the package icon in the app detail panel.

Where are my secrets stored?

In Kubernetes Secrets, encrypted at rest by k3s. They are scoped to the project namespace and never returned in API responses unless explicitly requested.

How do I scale an app?

bash
kip app scale api --replicas 3

The READY column in kip app list shows scaling progress. You can also scale via the web console's Scale tab.

Can I run multiple services under one domain?

Yes, use the --route flag to group services by path:

bash
kip app deploy --name frontend --image img --port 80 --route myapp/
kip app deploy --name api --image img --port 3000 --route myapp/api

Both share myapp-<cluster>.kipper.run.

I accidentally set the wrong secret value

Run kip app secret rollback api SECRET_KEY to restore the previous value. Skipper automatically keeps the previous version of every secret.

Can I use a private container registry?

Yes. You need to create an image pull secret on the cluster. This is a manual step for now. Automated registry configuration is planned.

How do I add a database?

bash
kip service add postgres --name mydb

This creates a PostgreSQL instance with persistent storage and auto-generated credentials. See Stateful Services.

How do I upgrade Skipper?

bash
kip upgrade

This pulls the latest console images and restarts system components. Your apps and services are not affected.

What does "stopped" mean?

An app scaled to 0 replicas. It still exists (deployment, service, ingress are preserved) but no pods are running. Start it again with kip app scale <name> --replicas 1.

Networking

How do subdomains work?

A wildcard DNS record points *.kipper.run to the Skipper Gateway. The gateway looks up which cluster owns the subdomain and proxies the request. Your app gets a URL like myapp-203-0-113-10.kipper.run automatically.

Can I use my own domain?

Custom domain support is coming in a future release. For now, all clusters use *.kipper.run subdomains.

Is traffic encrypted?

Yes. TLS is terminated at the gateway using a Let's Encrypt wildcard certificate. The gateway-to-cluster connection also uses HTTPS.

Released under the Apache 2.0 License.