updates to the about page.
This commit is contained in:
parent
1805542a2a
commit
f863e57315
@ -39,20 +39,22 @@ templ About() {
|
|||||||
client and agent is established as follows:
|
client and agent is established as follows:
|
||||||
<ul>
|
<ul>
|
||||||
<li>(1): the agent, started by the continuous integration job, connects to converge server through a websocket, this establishes a connection that
|
<li>(1): the agent, started by the continuous integration job, connects to converge server through a websocket, this establishes a connection that
|
||||||
is similar to a TCP connection to converge server. In connecting, the agent specifies a
|
is similar to a TCP connection. In connecting, the agent specifies a
|
||||||
rendez-vous id. After connecting, the agenta and ocnverge server using multiplexing of connections
|
rendez-vous id. After connecting, the agenta and Converge server perform multiplexing of connections
|
||||||
over a single connection, allowing the agent to run an embedded SSH server and listen for incoming
|
over this single connection. This allows the agent to run an embedded SSH server and listen for incoming
|
||||||
connections, just like normally is done with a TCP listener. </li>
|
connections, just like normally is done with a TCP listener. </li>
|
||||||
<li>(2): the client connects to converge server through SSH and also specifies the same rendez-vous id.
|
<li>(2): the client connects to converge server through SSH and also specifies the same rendez-vous id.
|
||||||
The connection from client to converge server is done through a helper program <code>wsproxy</code>
|
Since SSH by itself cannot connect over websockets, a helper program <code>wsproxy</code> is used as
|
||||||
that is used as a proxy command for SSH allowing SSH to connect to the websocket. Using wsproxy, the
|
a proxy command for SSH. Using <code>wsproxy</code>, the rendez-vous id is passed to the server as part
|
||||||
rendez-vous id is passed to the server. </li>
|
of the websocket URL. </li>
|
||||||
<li>(3): converge server connects the two connections after matching them based on the rendez-vous id.
|
<li>(3): converge server connects the two connections after matching them based on the rendez-vous id.
|
||||||
The role of converge server is imply in forwarding data. </li>
|
Now when a connection is setup from a client, it can connect to the appropriate agent, identifie dby
|
||||||
|
rendez-vous id and setup a bi-directional connection. After this, Converge simply copies data between
|
||||||
|
client and agent. </li>
|
||||||
<li>(4): the agent runs an embedded SSH server and incoming connections to the agent are handed over to
|
<li>(4): the agent runs an embedded SSH server and incoming connections to the agent are handed over to
|
||||||
that server. That server in turn spawns a shell (bash, cmd.exe, powershell.exe) and connects it to the
|
that server. That server in turn spawns a shell (bash, cmd.exe, powershell.exe) and connects it to the
|
||||||
SSH session. At that momenmt an end-to-end SSH session is established and the user can perform interactive
|
remote SSH session. At that momenmt an end-to-end SSH session is established and the user can perform interactive
|
||||||
commands. </li>
|
commands. Here any shell program can be used such as bash, command prompt, or powershell. </li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>There are a few special situations:
|
<p>There are a few special situations:
|
||||||
@ -128,14 +130,14 @@ templ About() {
|
|||||||
<h2>remote shell usage</h2>
|
<h2>remote shell usage</h2>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The agent supports a --shells command-line option by which a comma-separated
|
The agent supports a <code>--shells</code> command-line option by which a comma-separated
|
||||||
list of shells can be prepended to the default search path for shells, e.g.
|
list of shells can be prepended to the default search path for shells, e.g.
|
||||||
<code>--shells zsh,csh,sh</code> (linux) or <code>cmd,powershell</code> for
|
<code>--shells zsh,csh,sh</code> (linux) or <code>cmd,powershell</code> for
|
||||||
windows.
|
windows.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The agent sets an <coder>agentdir</coder> environment variable that points to
|
The agent sets an <code>agentdir</code> environment variable that points to
|
||||||
the directory where the agent is running.
|
the directory where the agent is running.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@ -171,7 +173,7 @@ templ About() {
|
|||||||
Converve server addresses these issues in the following ways:
|
Converve server addresses these issues in the following ways:
|
||||||
<ul>
|
<ul>
|
||||||
<li>Use the websocket protocol both for agents and for clients, providing a fixed port and
|
<li>Use the websocket protocol both for agents and for clients, providing a fixed port and
|
||||||
a supported protocol for kubernetes deploymment. Websockets are also supported by
|
a supported protocol for kubernetes deployment. Websockets are also supported by
|
||||||
kubernetes ingress controllers so this makes it easy to deploy on kubernetes.
|
kubernetes ingress controllers so this makes it easy to deploy on kubernetes.
|
||||||
To make this work with SSH which does not natively support websockets, a proxycommand
|
To make this work with SSH which does not natively support websockets, a proxycommand
|
||||||
<code>wsproxy</code> is provided that allows SSH to connect using websockets.
|
<code>wsproxy</code> is provided that allows SSH to connect using websockets.
|
||||||
|
Loading…
Reference in New Issue
Block a user