Claus Ibsen created CAMEL-23569:
-----------------------------------

             Summary: camel-tui: Add support for camel-test-infra services
                 Key: CAMEL-23569
                 URL: https://issues.apache.org/jira/browse/CAMEL-23569
             Project: Camel
          Issue Type: Improvement
          Components: camel-jbang
            Reporter: Claus Ibsen


Add camel-test-infra service management to the TUI monitor (camel monitor 
command).

Currently the TUI only shows running Camel integrations and their routes. The 
CLI already has full infra service lifecycle support via "camel infra 
run/stop/ps/get/log" commands, but the TUI has no awareness of running infra 
services.

Proposed features:

*Overview page - Infra services table*
- Discover running infra services by scanning ~/.camel/ for infra-*.json files
- Show them in a separate table below the integrations table with columns: PID, 
SERVICE, STATUS, PORT, HOST
- Separate table state and navigation (infrastructure services have a 
fundamentally different schema than integrations)

*Info panel - Connection details*
- When an infra service is selected, show its connection metadata (hostname, 
port, username, connection URL, etc.) in the info panel
- The data is already available in the infra-{service}-{pid}.json files written 
by "camel infra run"

*Infra service logs*
- When an infra service is selected and the Log tab is opened, show its 
container logs from infra-{service}-{pid}.log
- Reuse the existing incremental log reading infrastructure

*Start/stop/kill infra services*
- Stop: delete the infra JSON file (triggers graceful shutdown in the InfraRun 
process)
- Kill: ProcessHandle.destroyForcibly() for force kill
- Start: spawn a background process via ProcessBuilder ("camel infra run 
{service} --background")
- Support custom port via --port option when starting

*Stop/kill running integrations*
- Currently the overview tab only supports stopping/starting all routes for an 
integration (p key)
- Add the ability to stop (SIGTERM) or kill (SIGKILL) the entire integration 
process
- This is separate from route lifecycle management



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to