-
Notifications
You must be signed in to change notification settings - Fork 120
extensions: instance console access #560
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 9 commits
f095fb3
7eb478f
ed0f119
19124f3
56997a5
1fd5cec
6ce89d1
e7785a3
4ac6476
74ee978
2e80163
36bef4b
a033fd6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -120,7 +120,53 @@ Action Lifecycle | |
| 1. A CloudStack action (e.g., deploy VM) triggers a corresponding extension action. | ||
| 2. CloudStack invokes the extension’s executable with appropriate parameters. | ||
| 3. The extension processes the input and responds within the timeout. | ||
| 4. CloudStack continues orchestration based on the result. | ||
| 4. CloudStack continues action workflow based on the result. | ||
|
|
||
| Console Access for Instances with Orchestrator Extensions | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| Orchestrator extensions can provide console access for instances either through **VNC** or a **direct URL**. | ||
|
||
| To enable this, the extension must implement the ``getconsole`` action and return output in one of the following JSON formats: | ||
|
|
||
| VNC-based console: | ||
|
|
||
| .. code-block:: json | ||
|
|
||
| { | ||
| "status": "success", | ||
| ... | ||
| "console": { | ||
| "host": "pve-node1.internal", | ||
| "port": "5901", | ||
| "password": "PVEVNC:6329C6AA::ZPcs5MT....d9", | ||
| "passwordonetimeuseonly": true | ||
| "protocol": "vnc" | ||
| } | ||
| } | ||
|
|
||
| ``passwordonetimeuseonly`` is optional. It can be set to ``true`` if the system returns a one-time-use VNC ticket. | ||
|
|
||
| For VNC-based access, the returned details are forwarded to the Console Proxy VM (CPVM) in the same zone as the instance. The specified **host** and **port** must be reachable from the CPVM. | ||
|
|
||
| Direct URL-based console: | ||
|
|
||
| .. code-block:: json | ||
|
|
||
| { | ||
| "status": "success", | ||
| ... | ||
| "console": { | ||
| "url": "CONSOLE_URL", | ||
| "protocol": "direct" | ||
| } | ||
| } | ||
|
|
||
|
|
||
| .. note:: | ||
| For direct URL–based console access, CloudStack does not report the acquired or client IP address. | ||
| In this mode, security and access control must be handled by the server providing the console. | ||
|
|
||
| Protocol value for direct URL–based console access can be any of the following value - link, direct, url. | ||
|
||
|
|
||
| Custom Actions | ||
| ^^^^^^^^^^^^^^ | ||
|
|
@@ -183,4 +229,4 @@ For a clearer understanding of how to implement an extension, developers can ref | |
|
|
||
| It serves as a template with minimal required action handlers, making it a useful starting point for building new extensions. | ||
|
|
||
| Additionally, CloudStack includes built-in extensions for Proxmox and Hyper-V that demonstrate how to implement extensions in different languages - Bash and Python. | ||
| Additionally, CloudStack includes in-built extensions for Proxmox and Hyper-V that demonstrate how to implement extensions in different languages - Bash and Python. | ||
Uh oh!
There was an error while loading. Please reload this page.