Commit Graph
3 Commits
Author SHA1 Message Date
root 26f6122ca2 docs: document controls, install and develop
Describe the filter focus rules, the column scrolling keys, and the
error and catalogue failure behaviour. Add the install, run and
develop sections pointing at the new Makefile targets.
2026-09-30 15:21:01 +00:00
root c4e31f9880 fix: merge per-service statuses, bound SSH concurrency, fix filter and page size
Stacks usually run more than one service, so the last service read used
to wipe the status of the stack. Merge the labels into the existing map
instead.

Servers are now queried through an injectable fetcher with a concurrency
limit, so a large fleet no longer opens one SSH connection per server at
once, and the fetch is testable.

Also:
- only read the recipe catalogue when a deployed version exists, and
  render statuses anyway if it cannot be fetched
- truncate the error banner instead of joining every server error
- clamp the page size to at least one row, as bubble-table otherwise
  renders nothing at all
- stop treating keypresses as commands while the filter has focus, so q
  types a q rather than quitting
- parse flags on a dedicated flag set with long forms, so a bad flag
  reports against cctuip help instead of exiting
- drop golang.org/x/exp in favour of the built-in maps
2026-09-30 15:20:55 +00:00
root 371c189226 chore: add Makefile and Drone pipeline
Build, test, run, install and clean targets, with the version
injected at link time. CI runs make check, build and test.
2026-09-30 15:20:42 +00:00