Skip to content

v0.0.12

Choose a tag to compare

@github-actions github-actions released this 05 Oct 02:51
v0.0.12
aa9b0cb

Added

  • Plugins can live one or more to a file in plugins/ beside
    plugins.yaml, k9s's snippet directory: every *.yaml there is merged
    with plugins.yaml and checked with it, and a name defined in two files
    is an error naming both. ui.reactive reloads a change inside it. (#64)

  • jumps.yaml, k9s's custom jumps: enter in a view opens another view
    filtered by the selected row — labelSelector: com.docker.compose.project=$PROJECT
    on containers opens that project's volumes. Values are filled in once and
    matched as text; a variable the view's rows do not give is refused at
    startup. (#64)

  • :xray net, :xray vol and :xray img root the xray tree at networks,
    volumes or images, as k9s's :xray <resource>; container nodes keep every
    container key. (#64)

  • The header's CPU/MEM line: the daemon host's CPU and memory in use, from
    the CPU/MEM poll's samples and the host's size — no extra daemon call —
    colored by thresholds, and n/a with the poll off. (#64)

  • Container labels that preset or skip the shift-f port-forward prompt,
    k9s's FastForwards annotations: dockmaster.port-forwards=8080:80
    prefills the prompt and dockmaster.auto-port-forwards=8080:80 replaces
    it with a yes/no confirm. The value is what the prompt takes, optionally
    after a k9s-style service::. A label that does not parse is reported in
    the prompt, and no label starts a forward without a yes (#64).

  • The shift-f prompt takes several forwards, comma-separated
    (8080:80,8443:443).

  • f on a container opens :pf narrowed to that container's forwards,
    as k9s's f (#64).

  • portForwardAddress in config.yaml (k9s's): the address a forward
    listens on, an IP or localhost, default 127.0.0.1. When it is not
    loopback the shift-f prompt and confirm warn that the forward is
    reachable from the network, and :pf shows the address (#64).

  • ctrl-a opens k9s's aliases view (#64): every : command with its other
    spellings, and your aliases.yaml entries, marked alias, as a table you
    can filter and sort; enter runs the selected one as if typed at the
    palette. :aliases opens the same view (it was a plain-text list of your
    aliases). In the : and / bars ctrl-a is still start of line.

  • ctrl-d in the contexts view runs docker context rm <name> after a
    confirm (#64). default, the context dockmaster is connected through and
    the docker CLI's current context are refused with the reason; --readonly
    refuses it.

  • ctrl-d on a compose file in :dir runs compose -f <file> down after a
    confirm (#64); --readonly refuses it.

  • keepHistory in hotkeys.yaml now does what it does in k9s (#64): the
    view the hotkey opens goes on top of the current one, so esc comes back.

  • overwriteOutput in plugins.yaml now does what it does in k9s (#64): a
    background plugin's first line of output replaces the "done" flash.

  • A root shell on the daemon's host, k9s's node shell (#59): :hostshell
    for the daemon on screen — remote contexts and a plain dockerd included —
    and s on a Docker Desktop, OrbStack or Rancher Desktop row in the
    runtimes view. It runs a privileged, --pid=host, --rm helper that
    nsenters PID 1 and starts the host's sh. The image is
    hostShell.image in config.yaml (default alpine:3, pulled if the
    daemon lacks it). It always confirms, naming the daemon and the image;
    --readonly and a context's readOnly refuse it, and so does a
    rootless daemon, where it cannot work. Colima and Podman rows keep
    their ssh.

  • A VULN column in the images and containers views: each image's last
    vulnerability scan, by severity (C2 H5, with medium and low when there
    is room), read from a cache of scan results kept by image ID under the
    state directory (scans/). Every v scan is cached; a result older than
    imageScans.ttl (a week) is marked with a trailing ~, and sorting on
    the column orders by severity. Off by default — imageScans.enable turns
    it on, or views.yaml can name VULN — and imageScans.background scans
    images with no fresh result one at a time while the images view is open.

Changed

  • i inspects the selected row, as o, d and y do; copying the full
    ID moved from i to I.
  • enter on a ⎈ kind/k3d node opens the pods' containers inside it, as
    enter on a node does in k9s; l is still the node's logs and n still
    works. The header's <enter> reads Pods on a node row.
  • ctrl-a is now a dockmaster key: a hotkey or plugin on Ctrl-A is
    refused at startup.
  • A hotkey, -c, defaultView or an alias may name a command by any
    spelling the palette takes (x, log, h, dumps, screendumps, ?);
    those were refused as "not a command".

Fixed

  • ? no longer runs off the bottom of a 40-row terminal: it lists keys,
    and points at ctrl-a for the : commands, which that list already
    holds with every spelling. A test now fails when the help frame is
    taller than the screen.
  • With plugins or hotkeys configured, their help columns stack under the
    shortest columns instead of widening help past a 120-column screen and
    cutting every description (tuikit v0.0.23's help overlay). (#84)

Full Changelog: v0.0.11...v0.0.12