Migrating from k9s
c9s is intentionally modeled on k9s — most of the keyboard navigation, screen organization, and configuration surface should feel familiar. This page maps k9s concepts to c9s.
Conceptual mapping
| k9s concept | c9s equivalent |
|---|---|
| Cluster | Apple container runtime (single host) |
| Namespace | (none — flat) |
| Pod | Container (:containers) |
| Image (used by pod) | Image (:images) |
| PVC / PV | Volume (:volumes) |
| Service / Ingress | Network (:networks) |
| Node | Builder + system services (:builder, :system) |
| Context | (none — there is one host) |
| Skin (YAML) | Skin (TOML) — see Skins |
pulses |
:pulses |
xray |
:xray |
popeye |
(not implemented) |
Hotkey parity
| Action | k9s | c9s |
|---|---|---|
| Command palette | : |
: |
| Help overlay | ? |
? |
| Quit | Ctrl+C / :q |
Ctrl+C / :q |
| Filter | / |
/ |
| Mark / unmark | space |
space |
| Mark all | Ctrl+a |
* |
| Sort | Shift+S |
Shift+S |
| Toggle header | Ctrl+E |
Ctrl+E |
| Pin | Ctrl+P |
b |
Skin migration
c9s ships with k9s-dark.toml and k9s-light.toml skins that mirror
k9s's bundled themes. To bring a custom k9s skin over:
c9s import-skin /path/to/your-k9s-skin.yml
This writes ~/.config/c9s/skins/your-k9s-skin.toml. Activate with:
:skin your-k9s-skin
What's different
- No namespaces. c9s targets a single Apple
containerhost. There is no notion of context-switching or namespace filtering. - Suspend-and-shell-out for exec. Like k9s's
sshortcut, c9s suspends itself, runscontainer exec -it <id> $SHELL, and resumes when you exit. - Streaming jobs. Build / pull / push run in a progress modal that you
can detach (
Ctrl+Z) into the:jobspanel; from there,Enterre-attaches. - Capability gating. Pause/unpause is hidden (or annotated) when the
underlying
containerbinary doesn't support it. Future capabilities follow the same pattern. - Read-only mode. Run with
--readonly(or[ui] readonly = truein config.toml) to hide destructive bindings.
Configuration files
| k9s file | c9s file |
|---|---|
~/.config/k9s/config.yaml |
~/.config/c9s/config.toml |
~/.config/k9s/hotkeys.yaml |
~/.config/c9s/hotkeys.toml |
~/.config/k9s/aliases.yaml |
~/.config/c9s/aliases.toml |
~/.config/k9s/views.yaml |
~/.config/c9s/views.toml |
~/.config/k9s/skins/*.yaml |
~/.config/c9s/skins/*.toml |
YAML in k9s, TOML in c9s. The schema is similar but not identical — see Configuration for the full reference.
What's not (yet) implemented
These k9s features aren't in c9s today:
popeye(cluster sanitizer) — not applicable.- Live RBAC editor — not applicable.
- Multi-cluster management — c9s is single-host.
Open an issue if there's a specific k9s feature you want surfaced in c9s.