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
2023-04-17 10:37:25 +02:00
2026-08-26 22:21:14 +01:00

cctuip

Co-op Cloud 🎉

This is a prototype to gather some feedback.

Features

  • abra app ls compatibility. It does not query -S unless you press s (like passing -S on the CLI) so that initial loading times are real fast (because we only query local-first data in ~/.abra).

  • Fuzzy search against domain, server and recipe.

Controls

  • up/down: scroll up / down (jk vim bindings also work)

  • page up/down: ;page up down (ctrl+u/d vim binding also work)

  • / or f: fuzzy filter against domain, server & recipe

  • enter: focus on table, select row, confirm

  • esc: reset filter

  • q: quit

  • s: retrieve app deployment status (filter first to reduce scope)

    Unreachable servers (e.g. SSH login issues) are skipped and reported in a banner; statuses for the remaining servers are still shown. Press any key to dismiss the banner and try again.

Run

go run cctuip.go
S
Description
Co-op Cloud TUI prototype
Readme
20 MiB
Languages
Go 98.1%
Makefile 1.9%