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:
|
||||
<ul>
|
||||
<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
|
||||
rendez-vous id. After connecting, the agenta and ocnverge server using multiplexing of connections
|
||||
over a single connection, allowing the agent to run an embedded SSH server and listen for incoming
|
||||
is similar to a TCP connection. In connecting, the agent specifies a
|
||||
rendez-vous id. After connecting, the agenta and Converge server perform multiplexing of connections
|
||||
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>
|
||||
<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>
|
||||
that is used as a proxy command for SSH allowing SSH to connect to the websocket. Using wsproxy, the
|
||||
rendez-vous id is passed to the server. </li>
|
||||
Since SSH by itself cannot connect over websockets, a helper program <code>wsproxy</code> is used as
|
||||
a proxy command for SSH. Using <code>wsproxy</code>, the rendez-vous id is passed to the server as part
|
||||
of the websocket URL. </li>
|
||||
<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
|
||||
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
|
||||
commands. </li>
|
||||
remote SSH session. At that momenmt an end-to-end SSH session is established and the user can perform interactive
|
||||
commands. Here any shell program can be used such as bash, command prompt, or powershell. </li>
|
||||
</ul>
|
||||
|
||||
<p>There are a few special situations:
|
||||
@ -128,14 +130,14 @@ templ About() {
|
||||
<h2>remote shell usage</h2>
|
||||
|
||||
<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.
|
||||
<code>--shells zsh,csh,sh</code> (linux) or <code>cmd,powershell</code> for
|
||||
windows.
|
||||
</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.
|
||||
</p>
|
||||
|
||||
@ -171,7 +173,7 @@ templ About() {
|
||||
Converve server addresses these issues in the following ways:
|
||||
<ul>
|
||||
<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.
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user