ecs9s TUI Operational Workflow

Drill-down navigation and the 3-stage ECS Exec preflight (Bubbletea / Elm architecture)

ecs9s TUI Operational Workflow Drill-down navigation and the 3-stage ECS Exec preflight (Bubbletea / Elm architecture) 01 / Operator Terminal 02 / ecs9s TUI (Bubbletea views) 03 / Data Layer (internal/aws) 04 / Exec Preflight (사전 검증) EX / Error Surface Navigate (drill-down) Preflight + shell Operator · ecs9s --profile · Operator Terminal › Navigate (drill-down) Operator ecs9s --profile Exec Shell · tea.ExecProcess · Operator Terminal › Preflight + shell · terminal handover Exec Shell tea.ExecProcess terminal handover Cluster View · drill-down start · ecs9s TUI (Bubbletea views) › Navigate (drill-down) Cluster View drill-down start Service View · f: redeploy, e: exec · ecs9s TUI (Bubbletea views) › Navigate (drill-down) Service View f: redeploy, e: exec Task View · Ctrl+d: stop task · ecs9s TUI (Bubbletea views) › Navigate (drill-down) Task View Ctrl+d: stop task Container · x: open Exec shell · ecs9s TUI (Bubbletea views) › Preflight + shell Container x: open Exec shell AWS SDK v2 · tea.Cmd goroutine · Data Layer (internal/aws) › Navigate (drill-down) · non-blocking AWS SDK v2 tea.Cmd goroutine non-blocking NavContext · cluster/svc/task ARNs · Data Layer (internal/aws) › Navigate (drill-down) NavContext cluster/svc/task ARNs Tools Check · AWS CLI + SSM plugin · Exec Preflight (사전 검증) › Preflight + shell Tools Check AWS CLI + SSM plugin State Check · exec flag + agent · Exec Preflight (사전 검증) › Preflight + shell State Check exec flag + agent Status Bar · ui.ErrorMsg · Error Surface › Preflight + shell Status Bar ui.ErrorMsg launch Enter Enter x exit Legend User UI Agent logic Policy Tool action Context / trace Cloud service External system

Wired action keys (verified in source)

  • • Service: f force redeploy, e enable ECS Exec + redeploy
  • • Task / TaskDef: Ctrl+d stop task / deregister taskdef
  • • Container: x opens the ECS Exec shell
  • • S (scale), b (rollback), Ctrl+f (port-forward) are not wired yet

3-stage Exec preflight

  • • exec.LookPath finds AWS CLI + session-manager-plugin
  • • DescribeTasks checks enableExecuteCommand flag
  • • ExecuteCommandAgent must report RUNNING
  • • Failures become cause-specific status-bar errors

Elm architecture (Model-Update-View)

  • • One-way flow: input -> Update -> tea.Cmd -> loadedMsg -> View
  • • AWS calls run in goroutines, UI never blocks
  • • Only drill-down mutates NavContext; Esc restores navStack
  • • Tab / :command switch among 21 views keeping context