Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
44ee17b
feat: add CLI shell and exec commands for deployment pod terminal access
V2arK Mar 12, 2026
c62f890
fix: use urlparse for scheme replacement to satisfy CodeQL
V2arK Mar 12, 2026
095bd1e
fix: apply black formatting and fix CodeQL url.startswith alert
V2arK Mar 12, 2026
d03f493
style: condense multiline expressions for readability
V2arK Mar 12, 2026
3dadb75
fix: resolve pylint warnings in shell.py and test_shell.py
V2arK Mar 12, 2026
8a93733
fix: skip PyTorch-dependent tests in sanity mode
V2arK Mar 12, 2026
0a4c1bb
fix: break out of exec loop after end marker to prevent hanging
V2arK Mar 12, 2026
7259bd4
fix: re-enable OPOST after setraw to fix terminal rendering
V2arK Mar 12, 2026
ab51beb
fix: replace pytest-asyncio with asyncio.run in tests for CI compat
V2arK Mar 12, 2026
8770660
fix: match Web UI protocol - remove rows/cols from stdin messages, re…
V2arK Mar 12, 2026
b79a30a
fix: send delayed resize to fix prompt rendering after shell startup
V2arK Mar 12, 2026
0b03a53
fix: await cancelled tasks for cleanup, reduce WS close_timeout to 2s
V2arK Mar 12, 2026
54445b8
fix: toggle PTY width to force SIGWINCH and prompt redraw on connect
V2arK Mar 12, 2026
0a0636c
fix: include rows/cols in stdin messages and send Ctrl+L after resize…
V2arK Mar 12, 2026
31d41ae
fix: use stty to set PTY dimensions from inside shell instead of resi…
V2arK Mar 12, 2026
ec8286b
fix: re-enable OPOST after setraw to convert bare \n to \r\n like xte…
V2arK Mar 12, 2026
5d94f14
fix: convert \n to \r\n in output and use stty to fix PTY dimensions …
V2arK Mar 12, 2026
559460f
feat: use pyte terminal emulator for interactive shell rendering
V2arK Mar 12, 2026
ff0e893
fix: swap rows/cols unpacking from shutil.get_terminal_size
V2arK Mar 12, 2026
c6d42ed
fix: use alternate screen buffer to prevent scrollback in Warp terminal
V2arK Mar 12, 2026
ba0e9d5
fix: handle WebSocket ConnectionClosed to prevent hang on shell exit
V2arK Mar 12, 2026
f29df94
refactor: use pyte for exec ANSI stripping and add ConnectionClosed h…
V2arK Mar 12, 2026
db40469
fix: treat ArgoCD Code message as reconnect signal, not shell exit code
V2arK Mar 12, 2026
f0b37b8
fix: stop reconnecting when shell has genuinely exited
V2arK Mar 12, 2026
4265839
chore: add debug file logging to shell and exec for exit hang diagnosis
V2arK Mar 13, 2026
27977af
fix: detect shell exit via idle timeout instead of Code message
V2arK Mar 13, 2026
1857f89
fix: exit immediately on exit echo, ignore echo exit with trailing pr…
V2arK Mar 13, 2026
76fd598
fix: skip websocket close handshake wait after session ends
V2arK Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions centml/cli/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from centml.cli.login import login, logout
from centml.cli.cluster import ls, get, delete, pause, resume
from centml.cli.shell import shell, exec_cmd


@click.group()
Expand Down Expand Up @@ -47,6 +48,8 @@ def ccluster():
ccluster.add_command(delete)
ccluster.add_command(pause)
ccluster.add_command(resume)
ccluster.add_command(shell)
ccluster.add_command(exec_cmd, name="exec")


cli.add_command(ccluster, name="cluster")
Loading
Loading