diff --git a/src/google/adk/cli/cli_deploy.py b/src/google/adk/cli/cli_deploy.py index 33573c8..22b806d 100644 --- a/src/google/adk/cli/cli_deploy.py +++ b/src/google/adk/cli/cli_deploy.py @@ -54,7 +54,7 @@ COPY "agents/{app_name}/" "/app/agents/{app_name}/" EXPOSE {port} -CMD adk {command} --port={port} {trace_to_cloud_option} "/app/agents" +CMD adk {command} --port={port} {session_db_option} {trace_to_cloud_option} "/app/agents" """ @@ -85,6 +85,7 @@ def to_cloud_run( trace_to_cloud: bool, with_ui: bool, verbosity: str, + session_db_url: str, ): """Deploys an agent to Google Cloud Run. @@ -112,6 +113,7 @@ def to_cloud_run( trace_to_cloud: Whether to enable Cloud Trace. with_ui: Whether to deploy with UI. verbosity: The verbosity level of the CLI. + session_db_url: The database URL to connect the session. """ app_name = app_name or os.path.basename(agent_folder) @@ -144,6 +146,9 @@ def to_cloud_run( port=port, command='web' if with_ui else 'api_server', install_agent_deps=install_agent_deps, + session_db_option=f'--session_db_url={session_db_url}' + if session_db_url + else '', trace_to_cloud_option='--trace_to_cloud' if trace_to_cloud else '', ) dockerfile_path = os.path.join(temp_folder, 'Dockerfile') diff --git a/src/google/adk/cli/cli_tools_click.py b/src/google/adk/cli/cli_tools_click.py index 2583dc7..425062b 100644 --- a/src/google/adk/cli/cli_tools_click.py +++ b/src/google/adk/cli/cli_tools_click.py @@ -245,12 +245,13 @@ def cli_eval( @click.option( "--session_db_url", help=( - "Optional. The database URL to store the session.\n\n - Use" - " 'agentengine://' to connect to Vertex" - " managed session service.\n\n - Use 'sqlite://'" - " to connect to a SQLite DB.\n\n - See" - " https://docs.sqlalchemy.org/en/20/core/engines.html#backend-specific-urls" - " for more details on supported DB URLs." + """Optional. The database URL to store the session. + + - Use 'agentengine://' to connect to Agent Engine sessions. + + - Use 'sqlite://' to connect to a SQLite DB. + + - See https://docs.sqlalchemy.org/en/20/core/engines.html#backend-specific-urls for more details on supported DB URLs.""" ), ) @click.option( @@ -366,12 +367,13 @@ def cli_web( @click.option( "--session_db_url", help=( - "Optional. The database URL to store the session.\n\n - Use" - " 'agentengine://' to connect to Vertex" - " managed session service.\n\n - Use 'sqlite://'" - " to connect to a SQLite DB.\n\n - See" - " https://docs.sqlalchemy.org/en/20/core/engines.html#backend-specific-urls" - " for more details on supported DB URLs." + """Optional. The database URL to store the session. + + - Use 'agentengine://' to connect to Agent Engine sessions. + + - Use 'sqlite://' to connect to a SQLite DB. + + - See https://docs.sqlalchemy.org/en/20/core/engines.html#backend-specific-urls for more details on supported DB URLs.""" ), ) @click.option( @@ -541,6 +543,18 @@ def cli_api_server( default="WARNING", help="Optional. Override the default verbosity level.", ) +@click.option( + "--session_db_url", + help=( + """Optional. The database URL to store the session. + + - Use 'agentengine://' to connect to Agent Engine sessions. + + - Use 'sqlite://' to connect to a SQLite DB. + + - See https://docs.sqlalchemy.org/en/20/core/engines.html#backend-specific-urls for more details on supported DB URLs.""" + ), +) @click.argument( "agent", type=click.Path( @@ -558,6 +572,7 @@ def cli_deploy_cloud_run( trace_to_cloud: bool, with_ui: bool, verbosity: str, + session_db_url: str, ): """Deploys an agent to Cloud Run. @@ -579,6 +594,7 @@ def cli_deploy_cloud_run( trace_to_cloud=trace_to_cloud, with_ui=with_ui, verbosity=verbosity, + session_db_url=session_db_url, ) except Exception as e: click.secho(f"Deploy failed: {e}", fg="red", err=True)