kosa8 docs

Guides / The Mac app

The Mac app

Everything running, in one window. Open kosa8.app from Applications, or run kosa8 desk to get the same dashboard in a browser tab.

The kosa8 dashboard showing a lineage panel with a sandbox called api that has two
            forks and one checkpoint, a table of three running sandboxes with checkpoint, rewind and
            stop buttons, and panels for containers, snapshots and images.
A real session: one sandbox, two forks of it, and a checkpoint taken before a migration.

The panel other dashboards do not have

Lineage is the top panel, and it is the reason this exists. It shows your save points and the copies made from them. Every node is a whole machine that can be brought back with its processes still running — not a rebuilt one.

Docker Desktop has no equivalent, because Docker has nothing to put in it: its sandboxes are discarded when the session ends.

What you can do from it

Every action asks first. The page refreshes on its own; untick live if you would rather it held still while you read something.

Why it is safe to leave open

This dashboard can create and destroy machines, so two things are true however you start it.

It only listens to your own computer

$ kosa8 desk --addr 0.0.0.0:7444
refusing to serve the dashboard on 0.0.0.0: it can create and destroy
containers, so it binds loopback only
  use 127.0.0.1:7444, and reach it from another machine with
  ssh -L 7444:127.0.0.1:7444

Every run gets a fresh key

$ kosa8 desk
kosa8 desk on 127.0.0.1:7444

  http://127.0.0.1:7444/?t=ZrgVGHu3Q_PnvogItD4QGm1SheKpt_a3m55IeADIc3o

  the token in that URL is this run only — stop with ctrl-c

Requests without it are refused. Without that key, any website you happened to be visiting could drive your containers through localhost — a real attack, not a theoretical one.

Options

$ kosa8 desk --port 7445      # if something else has 7444
$ kosa8 desk --no-open        # print the URL, do not open a browser
$ kosa8 desk --json           # machine-readable url and token
The app and the command are the same thing

kosa8.app is a native window around kosa8 desk, not a second implementation. The rules above are written once and apply to both. Quitting the app stops the server it started, so nothing is left listening.