cloudstack/services/console-proxy/server/src/main/java/com/cloud/consoleproxy
Abhishek Kumar 928972f767
extension/proxmox: add console access for instances (#11601)
This PR introduces console access support for instances deployed using Orchestrator Extensions, available via either VNC or a direct URL.

- CloudStack queries the extension using the getconsole action.
- For VNC-based access, the extension must return host/port/ticket details. CloudStack then forwards these to the Console Proxy VM (CPVM) in the instance’s zone. It is assumed that the CPVM can reach the specified host and port.
- For direct URL access, the extension returns a console URL with the protocol set to `direct`. The URL is then provided directly to the user.
- The built-in Proxmox Orchestrator Extension now supports console access via VNC. The extension calls the Proxmox API to fetch console details and returns them in the required format.

Also, adds changes to send caller details to the extension payload.
```
# cat /var/lib/cloudstack/management/extensions/Proxmox/02b650f6-bb98-49cb-8cac-82b7a78f43a2.json | jq
{
  "caller": {
    "roleid": "6b86674b-7e61-11f0-ba77-1e00c8000158",
    "rolename": "Root Admin",
    "name": "admin",
    "roletype": "Admin",
    "id": "93567ed9-7e61-11f0-ba77-1e00c8000158",
    "type": "ADMIN"
  },
  "virtualmachineid": "126f4562-1f0f-4313-875e-6150cabeb72f",
  ...
```

Documentation PR: https://github.com/apache/cloudstack-documentation/pull/560

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-09-27 08:54:27 +05:30
..
rdp Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
util Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
vnc extension/proxmox: add console access for instances (#11601) 2025-09-27 08:54:27 +05:30
websocket Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
AjaxFIFOImageCache.java Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
AuthenticationException.java Sync precommit config from main (#7732) 2023-07-07 11:18:16 +02:00
ConsoleProxy.java extension/proxmox: add console access for instances (#11601) 2025-09-27 08:54:27 +05:30
ConsoleProxyAjaxHandler.java Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
ConsoleProxyAjaxImageHandler.java Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
ConsoleProxyAuthenticationResult.java CLOUDSTACK-10105: Use maven standard project structure in all projects (#2283) 2018-01-20 03:19:27 +05:30
ConsoleProxyBaseServerFactoryImpl.java Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
ConsoleProxyClient.java console: Console access enhancements (#6577) 2022-09-14 12:39:59 +05:30
ConsoleProxyClientBase.java Normalize loggers and upgrade log4j 1.2 to log4j 2.19 (#7131) 2024-02-08 09:55:41 -03:00
ConsoleProxyClientListener.java CLOUDSTACK-10105: Use maven standard project structure in all projects (#2283) 2018-01-20 03:19:27 +05:30
ConsoleProxyClientParam.java extension/proxmox: add console access for instances (#11601) 2025-09-27 08:54:27 +05:30
ConsoleProxyClientStatsCollector.java Add console session cleanup task (#7132) 2023-02-01 16:53:54 +01:00
ConsoleProxyCmdHandler.java Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
ConsoleProxyGCThread.java Normalize loggers and upgrade log4j 1.2 to log4j 2.19 (#7131) 2024-02-08 09:55:41 -03:00
ConsoleProxyHttpHandlerHelper.java extension/proxmox: add console access for instances (#11601) 2025-09-27 08:54:27 +05:30
ConsoleProxyMonitor.java Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
ConsoleProxyNoVNCHandler.java extension/proxmox: add console access for instances (#11601) 2025-09-27 08:54:27 +05:30
ConsoleProxyNoVNCServer.java Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
ConsoleProxyNoVncClient.java extension/proxmox: add console access for instances (#11601) 2025-09-27 08:54:27 +05:30
ConsoleProxyPasswordBasedEncryptor.java Normalize loggers and upgrade log4j 1.2 to log4j 2.19 (#7131) 2024-02-08 09:55:41 -03:00
ConsoleProxyRdpClient.java Normalize loggers and upgrade log4j 1.2 to log4j 2.19 (#7131) 2024-02-08 09:55:41 -03:00
ConsoleProxyResourceHandler.java Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
ConsoleProxySecureServerFactoryImpl.java Normalize loggers and upgrade log4j 1.2 to log4j 2.19 (#7131) 2024-02-08 09:55:41 -03:00
ConsoleProxyServerFactory.java CLOUDSTACK-10105: Use maven standard project structure in all projects (#2283) 2018-01-20 03:19:27 +05:30
ConsoleProxyThumbnailHandler.java Add logs to CPVM connection process (#8924) 2024-09-09 15:39:42 -03:00
ConsoleProxyVncClient.java Normalize loggers and upgrade log4j 1.2 to log4j 2.19 (#7131) 2024-02-08 09:55:41 -03:00
InputEventType.java CLOUDSTACK-10105: Use maven standard project structure in all projects (#2283) 2018-01-20 03:19:27 +05:30