TUI Views

The Teabar TUI has four main views, accessible via the tab bar. Each view is optimized for specific tasks.

Environments View

The default view showing all your environments with real-time status.

┌─[ Environments ]─[ Logs ]─[ Catalog ]─[ Activity ]─────────────────────────┐
│ Filter: _________  Status: [All ▼]  Sort: [Age ▼]                  3 envs  │
├─────────────────────────────────────────────────────────────────────────────┤
│   NAME             STATUS      BLUEPRINT         AGE     CPU/MEM           │
│ ▶ march-seminar    Running     gitlab-cicd       2d      45%/62%           │
│   test-env         Sleeping    k8s-basics        5h       0%/0%            │
│   demo             Running     argocd-demo       1h      12%/34%           │
│                                                                             │
├─────────────────────────────────────────────────────────────────────────────┤
│ org:teabar project:seminars      c:create s:start S:stop d:delete l:logs   │
└─────────────────────────────────────────────────────────────────────────────┘

Keyboard Shortcuts

KeyAction
EnterView environment details
cCreate new environment
sStart (wake) selected environment
SStop (sleep) selected environment
dDelete selected environment
lView logs for selected
aView activity for selected
SpaceToggle selection (multi-select)
/Filter environments

Status Colors

ColorStatus
GreenRunning
YellowStarting/Stopping
BlueSleeping
RedFailed/Error
GrayCreating/Pending

Multi-Select Operations

Use Space to select multiple environments, then:

# Start all selected
s

# Stop all selected
S

# Delete all selected (with confirmation)
d

Environment Detail View

Press Enter on an environment to see details:

┌─[ ← Environments ]─[ march-seminar ]───────────────────────────────────────┐
│ Status: ● Running    Blueprint: gitlab-cicd v1.2.0                         │
│ Created: 2 days ago by [email protected]
│ TTL: 46h remaining   Cost: $12.34                                          │
├────────────────────────────────┬────────────────────────────────────────────┤
│ Resources                      │ Access URLs                                │
│ ├─ Cluster: main (3 nodes)     │ GitLab:  https://gitlab.march...           │
│ │   ├─ control-plane-1 ●       │ ArgoCD:  https://argocd.march...           │
│ │   ├─ worker-1 ●              │ Registry: https://reg.march...             │
│ │   └─ worker-2 ●              │                                            │
│ ├─ VMs: 10 participants        │ Actions                                    │
│ └─ Storage: 50GB (23% used)    │ [k]ubeconfig [s]sh [p]ort-forward          │
├────────────────────────────────┴────────────────────────────────────────────┤
│ Recent Activity                                                             │
│ 10:23 participant-3 kubectl apply -f deployment.yaml     ✓                 │
│ 10:21 participant-1 git push origin main                 ✓                 │
├─────────────────────────────────────────────────────────────────────────────┤
│ Esc:back l:logs a:activity s:stop d:delete c:checkpoint k:kubeconfig       │
└─────────────────────────────────────────────────────────────────────────────┘

Detail View Shortcuts:

KeyAction
EscGo back to list
lView logs
aView activity
kGet kubeconfig
sSSH to VM
pPort forward
cCreate checkpoint
dDelete environment

Logs View

Stream and search logs from environment pods.

┌─[ Environments ]─[ Logs ]─[ Catalog ]─[ Activity ]─────────────────────────┐
│ Env: march-seminar   Pods: [gitlab-* ▼] (3)   Since: [1h ▼]                │
│ Filter: ___________  Level: [≥INFO ▼]  [✓] Follow  [✓] Timestamps          │
├─────────────────────────────────────────────────────────────────────────────┤
│ 10:23:45 gitlab-web-7f8b9  INFO   Request completed 200 /api/v4...         │
│ 10:23:44 gitlab-web-7f8b9  INFO   Request started GET /api/v4/p...         │
│ 10:23:42 runner-1          INFO   Job succeeded: build #1234               │
│ 10:23:40 argocd-server     WARN   Application out of sync: demo            │
│ 10:23:38 gitlab-web-7f8b9  ERROR  Connection refused: postgres             │
│ 10:23:35 gitlab-sidekiq    INFO   Processing job: send_email               │
│ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░ │
├─────────────────────────────────────────────────────────────────────────────┤
│ f:follow p:pause w:wrap t:timestamps e:next-error J:json-pretty x:export   │
└─────────────────────────────────────────────────────────────────────────────┘

Keyboard Shortcuts

KeyAction
fToggle follow mode
pPause/resume log stream
wToggle line wrap
tToggle timestamps
JToggle JSON pretty-print
eJump to next error
EJump to previous error
oOpen pod selector
xExport visible logs
1-5Filter by log level
/Search in logs

Log Level Filters

Press number keys to filter by log level:

KeyLevel
1ERROR only
2WARN and above
3INFO and above
4DEBUG and above
5TRACE (all)

Pod Selector

Press o to open the pod selector:

┌─ Select Pods ──────────────────────────────────────────────┐
│ Search: _____________                                      │
│                                                            │
│ [✓] gitlab-webservice-7f8b9c                               │
│ [✓] gitlab-sidekiq-abc123                                  │
│ [ ] gitlab-gitaly-def456                                   │
│ [✓] runner-1                                               │
│ [ ] runner-2                                               │
│                                                            │
│ 3 selected                                                 │
├────────────────────────────────────────────────────────────┤
│ Space:toggle Enter:confirm a:all n:none m:mode             │
└────────────────────────────────────────────────────────────┘

Press m to switch selection modes:

  • Checkbox - Individual pod selection
  • Glob - Pattern matching (e.g., gitlab-*)
  • Groups - Component-based grouping

JSON Pretty-Print

For structured logs, press J to toggle formatting:

Raw:

{"level":"info","msg":"Request completed","status":200,"path":"/api/v4/projects"}

Pretty:

{
  "level": "info",
  "msg": "Request completed",
  "status": 200,
  "path": "/api/v4/projects"
}

Catalog View

Browse and search blueprints with live preview.

┌─[ Environments ]─[ Logs ]─[ Catalog ]─[ Activity ]─────────────────────────┐
│ Search: gitlab______  Tags: [cicd] [education]  Source: [All ▼]            │
├───────────────────────────────┬─────────────────────────────────────────────┤
│ BLUEPRINTS                    │ teabar/gitlab-cicd v1.2.0                   │
│ ▶ teabar/gitlab-cicd          │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│   teabar/k8s-basics           │ Complete CI/CD training environment        │
│   teabar/argocd-demo          │ with GitLab, runners, and participant      │
│   my-org/custom-env           │ workspaces.                                │
│   community/nginx-demo        │                                            │
│                               │ Variables:                                 │
│                               │   participant_count: int (1-50) = 10       │
│                               │   gitlab_version: string = "16.8"          │
│                               │                                            │
│                               │ Tags: cicd, gitlab, education              │
│                               │ Downloads: 1,234  ★ 4.8 (56 reviews)       │
│                               │                                            │
│                               │ [Enter] Create env  [i] Install            │
├───────────────────────────────┴─────────────────────────────────────────────┤
│ ↑↓:navigate Tab:switch-pane Enter:use i:install v:view-yaml /:search       │
└─────────────────────────────────────────────────────────────────────────────┘

Keyboard Shortcuts

KeyAction
EnterCreate environment from blueprint
iInstall blueprint to project
vView full blueprint YAML
TabSwitch list/preview pane
/Search blueprints
tToggle tag filter

Creating Environments

Press Enter on a blueprint to launch the creation wizard:

┌─[ Create Environment ]─────────────────────────────────────────────────────┐
│                                                                             │
│  ┌─ Configuration ───────────────┐  ┌─ Infrastructure Preview ───────────┐  │
│  │                               │  │                                    │  │
│  │ ▼ Blueprint                   │  │   ┌────────────────────────────┐   │  │
│  │   ▶ teabar/gitlab-cicd        │  │   │      Hetzner Cloud         │   │  │
│  │                               │  │   │                            │   │  │
│  │ ▼ General                     │  │   │  ┌────────┐  ┌────────┐   │   │  │
│  │   Name: [march-seminar___]    │  │   │  │Network │──│  DNS   │   │   │  │
│  │   TTL:  [48h ▼]               │  │   │  └───┬────┘  └────────┘   │   │  │
│  │                               │  │   │      │                    │   │  │
│  │ ▼ Variables                   │  │   │  ┌───┴──────────────┐     │   │  │
│  │   participant_count: [10_]    │  │   │  │ Kubernetes       │     │   │  │
│  │   gitlab_version: [16.8 ▼]    │  │   │  └──────────────────┘     │   │  │
│  │   registry_enabled: [✓]       │  │   └────────────────────────────┘   │  │
│  │                               │  │                                    │  │
│  │ [ Cancel ]   [ Create → ]     │  │  Est: $2.34/hr │ 15 resources      │  │
│  └───────────────────────────────┘  └────────────────────────────────────┘  │
│                                                                             │
├─────────────────────────────────────────────────────────────────────────────┤
│ ↑↓:navigate Tab:pane Enter:edit Ctrl+Enter:create Esc:cancel               │
└─────────────────────────────────────────────────────────────────────────────┘

The wizard shows:

  • Left pane - Configuration editor
  • Right pane - Live infrastructure preview

Press Ctrl+Enter to create, or navigate to the “Create” button and press Enter.

Activity View

Monitor participant activity in real-time.

Simple View (Default)

┌─[ Environments ]─[ Logs ]─[ Catalog ]─[ Activity ]─────────────────────────┐
│ Env: march-seminar   Participant: [All ▼]   [●] Live                       │
├─────────────────────────────────────────────────────────────────────────────┤
│ 10:23:45 participant-3  kubectl apply -f deployment.yaml              ✓    │
│ 10:23:42 participant-1  git push origin main                          ✓    │
│ 10:23:38 participant-7  docker build -t app:latest .                  ✓    │
│ 10:23:35 participant-3  kubectl get pods                              ✓    │
│ 10:23:30 participant-2  vim deployment.yaml                           ✓    │
│ 10:22:55 participant-5  kubectl delete pod nginx                      ✗    │
│ 10:22:50 participant-1  git commit -m "fix: update config"            ✓    │
│                                                                             │
├─────────────────────────────────────────────────────────────────────────────┤
│ v:toggle-detail f:filter p:pause x:export Enter:details                    │
└─────────────────────────────────────────────────────────────────────────────┘

Detailed View (Press v)

┌─[ Environments ]─[ Logs ]─[ Catalog ]─[ Activity ]─────────────────────────┐
│ Env: march-seminar   Participant: [All ▼]   [●] Live   [Detailed]          │
├─────────────────────────────────────────────────────────────────────────────┤
│ ┌─ participant-3 ─────────────────────────────────────────────────────────┐│
│ │ 10:23:45  kubectl apply -f deployment.yaml                              ││
│ │           namespace: default  │  duration: 1.2s  │  exit: 0 ✓           ││
│ │           resources: deployment/nginx created                           ││
│ └─────────────────────────────────────────────────────────────────────────┘│
│ ┌─ participant-1 ─────────────────────────────────────────────────────────┐│
│ │ 10:23:42  git push origin main                                          ││
│ │           repo: sample-app  │  branch: main  │  commits: 2              ││
│ │           +45 -12 lines across 3 files                                  ││
│ └─────────────────────────────────────────────────────────────────────────┘│
├─────────────────────────────────────────────────────────────────────────────┤
│ v:toggle-detail f:filter p:pause x:export Enter:details                    │
└─────────────────────────────────────────────────────────────────────────────┘

Keyboard Shortcuts

KeyAction
vToggle simple/detailed view
fFilter by participant
pPause/resume live updates
xExport visible activity
EnterView event details
/Search activity

Event Details

Press Enter on an event to see full details:

┌─ Event Details ────────────────────────────────────────────────────────────┐
│                                                                             │
│ Event ID: evt_abc123                                                        │
│ Participant: participant-3                                                  │
│ Time: 2024-01-15 10:23:45 UTC                                               │
│ Type: kubectl                                                               │
│                                                                             │
│ Command:                                                                    │
│   kubectl apply -f deployment.yaml                                          │
│                                                                             │
│ Output:                                                                     │
│   deployment.apps/nginx configured                                          │
│   service/nginx unchanged                                                   │
│                                                                             │
│ Duration: 1.2s                                                              │
│ Exit Code: 0 (success)                                                      │
│ Namespace: participant-3                                                    │
│                                                                             │
├─────────────────────────────────────────────────────────────────────────────┤
│ Esc:close c:copy-command x:export                                          │
└─────────────────────────────────────────────────────────────────────────────┘

Help Overlay

Press ? in any view to see the help overlay:

┌─[ Keyboard Shortcuts ]─────────────────────────────────────────────────────┐
│                                                                             │
│ GLOBAL                                                                      │
│   Tab / Shift+Tab    Switch tabs                                            │
│   ?                  Toggle this help                                       │
│   q / Ctrl+C         Quit                                                   │
│   /                  Search/filter                                          │
│   Esc                Close overlay / back                                   │
│   R                  Refresh                                                │
│                                                                             │
│ NAVIGATION                                                                  │
│   ↑/k  ↓/j           Move up/down                                          │
│   ←/h  →/l           Collapse/expand or back/enter                         │
│   g / G              Go to top/bottom                                       │
│   Ctrl+U / Ctrl+D    Page up/down                                          │
│                                                                             │
│ ENVIRONMENTS VIEW                                                           │
│   Enter              View details                                           │
│   c                  Create environment                                     │
│   s / S              Start/stop selected                                    │
│   d                  Delete selected                                        │
│   l / a              View logs/activity                                     │
│                                                                             │
│ Press any key to close...                                                   │
└─────────────────────────────────────────────────────────────────────────────┘

Related Pages

ende