Skip to content

feat(ui): list every task of the namespace, run a command in a task, and show the meta of a job - #130

Merged
ingvarch merged 4 commits into
mainfrom
feat/tasks
Oct 20, 2026
Merged

ingvarch merged 4 commits into
mainfrom
feat/tasks

Conversation

@ingvarch

Copy link
Copy Markdown
Owner

What changes

Three ways to see and act on tasks and jobs without going one screen at a
time.

  • m on a job opens its meta as keys and values, in the job's own namespace;
    c copies the value under the cursor. A job without meta says it has none.
  • :tasks lists every task of every allocation of the namespace in one
    request: job, namespace, group, task, allocation, client, state, restarts,
    started, finished and uptime, colored by state like the other lists. A row
    has the keys of a task: logs, stderr, events, the events of its allocation,
    files, shell, restart, signal and run a command, each in the allocation's
    own namespace. The tasks screen of one allocation gets the Finished and
    Uptime columns too; Uptime sorts by length, not as text.
  • ctrl+x on a running task asks for a command on the line at the top, runs
    it through /bin/sh -c without a terminal, and opens what it wrote to
    stdout and stderr as a text screen, with the exit code in the title: filter,
    find, copy, save and sideways scroll work on it as on a log. A command still
    running after 10 s is stopped and the status line says so. Only the last
    1 MiB of what it printed is kept, and the title says when it was cut. It is a
    write, hidden in read-only mode, like the shell.

Found and fixed along the way, in its own commit: G goes to the bottom of a
list, so a Group column offered shift-g to sort by it and pressing it
scrolled instead (:scaling, the groups of a deployment, now :tasks). No
column takes G now, and R stays with restarts, like N, A, S and P.
The save name of a long text is cut to 100 characters, so saving the output of
a long command does not fail on the length of the file name.

Closes #115
Closes #105
Closes #114

Checklist

  • The test for this change was written first and failed
  • make check is green
  • The title is a conventional commit: feat(ui): ..., fix(nomad): ...

@ingvarch ingvarch added this to the v0.15.0 milestone Oct 20, 2026
@ingvarch ingvarch added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request ui Screens, keys and the header nomad The client of the Nomad API and what it reads labels Oct 20, 2026
@ingvarch
ingvarch merged commit f39485d into main Oct 20, 2026
5 checks passed
@ingvarch
ingvarch deleted the feat/tasks branch October 20, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request nomad The client of the Nomad API and what it reads ui Screens, keys and the header

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Job meta as a screen of keys and values Run a command you type in a task and keep what it printed All tasks of a namespace on one screen

1 participant