🤖 Filed as cleanup during the log-service-subprocess PR review.
The log server now runs on its own port (see commit bdcc036f8, "iris: host log server on its own port in all modes") and advertises its address via the /system/log-server endpoint. The dashboard currently proxies FetchLogs for backward compatibility:
lib/iris/src/iris/cluster/controller/dashboard.py:266-283 — mounts LogServiceWSGIApplication on the controller's port and aliases /iris.cluster.ControllerService/FetchLogs → /iris.logging.LogService/FetchLogs for old clients.
Task
- Update the iris client (CLI + dashboard JS) to resolve the log server address from the controller's
/system/log-server system endpoint and call FetchLogs against it directly.
- Remove the
LogServiceWSGIApplication mount and the backward-compat /iris.cluster.ControllerService/FetchLogs alias from dashboard.py.
- Drop the corresponding tests in
lib/iris/tests/cluster/controller/test_dashboard.py:848-867.
- Once this lands,
RemoteLogService can be deleted entirely (it only exists to back the dashboard's proxy mount) — the controller's own internal fetch_logs calls can use LogServiceClientSync directly.
Notes
- Verify auth still works end-to-end: the log server's auth interceptors are set up in
lib/iris/src/iris/log_server/main.py.
- The iris CLI paths that currently call
ControllerService/FetchLogs will need to be audited — grep ControllerService/FetchLogs or the client-side wrapper.
🤖 Filed as cleanup during the log-service-subprocess PR review.
The log server now runs on its own port (see commit
bdcc036f8, "iris: host log server on its own port in all modes") and advertises its address via the/system/log-serverendpoint. The dashboard currently proxiesFetchLogsfor backward compatibility:lib/iris/src/iris/cluster/controller/dashboard.py:266-283— mountsLogServiceWSGIApplicationon the controller's port and aliases/iris.cluster.ControllerService/FetchLogs→/iris.logging.LogService/FetchLogsfor old clients.Task
/system/log-serversystem endpoint and callFetchLogsagainst it directly.LogServiceWSGIApplicationmount and the backward-compat/iris.cluster.ControllerService/FetchLogsalias fromdashboard.py.lib/iris/tests/cluster/controller/test_dashboard.py:848-867.RemoteLogServicecan be deleted entirely (it only exists to back the dashboard's proxy mount) — the controller's own internalfetch_logscalls can useLogServiceClientSyncdirectly.Notes
lib/iris/src/iris/log_server/main.py.ControllerService/FetchLogswill need to be audited — grepControllerService/FetchLogsor the client-side wrapper.