From 5279540bb4f1c5afdc61812ca0f26ad431e4bfa4 Mon Sep 17 00:00:00 2001 From: rovle Date: Thu, 5 Mar 2026 11:12:50 -0800 Subject: [PATCH] fix(daytona): add missing config mappings in gateway, CLI defaults, and config display Signed-off-by: rovle --- cli.py | 1 + gateway/run.py | 1 + hermes_cli/config.py | 7 ++++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cli.py b/cli.py index 7eebd035..836b0bb7 100755 --- a/cli.py +++ b/cli.py @@ -157,6 +157,7 @@ def load_cli_config() -> Dict[str, Any]: "docker_image": "python:3.11", "singularity_image": "docker://python:3.11", "modal_image": "python:3.11", + "daytona_image": "nikolaik/python-nodejs:python3.11-nodejs20", }, "browser": { "inactivity_timeout": 120, # Auto-cleanup inactive browser sessions after 2 min diff --git a/gateway/run.py b/gateway/run.py index 2ed9ed8c..c37e5d6c 100644 --- a/gateway/run.py +++ b/gateway/run.py @@ -66,6 +66,7 @@ if _config_path.exists(): "docker_image": "TERMINAL_DOCKER_IMAGE", "singularity_image": "TERMINAL_SINGULARITY_IMAGE", "modal_image": "TERMINAL_MODAL_IMAGE", + "daytona_image": "TERMINAL_DAYTONA_IMAGE", "ssh_host": "TERMINAL_SSH_HOST", "ssh_user": "TERMINAL_SSH_USER", "ssh_port": "TERMINAL_SSH_PORT", diff --git a/hermes_cli/config.py b/hermes_cli/config.py index e6cabae3..74df0058 100644 --- a/hermes_cli/config.py +++ b/hermes_cli/config.py @@ -71,7 +71,8 @@ DEFAULT_CONFIG = { "docker_image": "nikolaik/python-nodejs:python3.11-nodejs20", "singularity_image": "docker://nikolaik/python-nodejs:python3.11-nodejs20", "modal_image": "nikolaik/python-nodejs:python3.11-nodejs20", - # Container resource limits (docker, singularity, modal — ignored for local/ssh) + "daytona_image": "nikolaik/python-nodejs:python3.11-nodejs20", + # Container resource limits (docker, singularity, modal, daytona — ignored for local/ssh) "container_cpu": 1, "container_memory": 5120, # MB (default 5GB) "container_disk": 51200, # MB (default 50GB) @@ -753,6 +754,10 @@ def show_config(): print(f" Modal image: {terminal.get('modal_image', 'python:3.11')}") modal_token = get_env_value('MODAL_TOKEN_ID') print(f" Modal token: {'configured' if modal_token else '(not set)'}") + elif terminal.get('backend') == 'daytona': + print(f" Daytona image: {terminal.get('daytona_image', 'nikolaik/python-nodejs:python3.11-nodejs20')}") + daytona_key = get_env_value('DAYTONA_API_KEY') + print(f" API key: {'configured' if daytona_key else '(not set)'}") elif terminal.get('backend') == 'ssh': ssh_host = get_env_value('TERMINAL_SSH_HOST') ssh_user = get_env_value('TERMINAL_SSH_USER')