updated docs for new proxycommand.

This commit is contained in:
Erik Brakkee 2024-07-21 19:00:01 +02:00
parent 0508ce0daf
commit 21f50a4005
3 changed files with 28 additions and 11 deletions

View File

@ -2,7 +2,7 @@ FROM alpine:3.20.0 as builder
RUN apk update && apk add go RUN apk update && apk add go
RUN mkdir -p /opt/converge/bin RUN mkdir -p /opt/converge/bin
COPY . /opt/converge/ COPY cmd pkg static go.mod go.sum /opt/converge/
WORKDIR /opt/converge WORKDIR /opt/converge
RUN go mod download RUN go mod download
COPY . /opt/converge/ COPY . /opt/converge/
@ -11,7 +11,7 @@ RUN go build -ldflags "-linkmode 'external' -extldflags '-static'" -o bin ./cmd/
FROM scratch FROM scratch
COPY --from=builder /opt/converge/bin/converge /opt/converge/bin/ COPY --from=builder /opt/converge/bin/converge /opt/converge/bin/
COPY --from=builder /opt/converge/bin/agent /opt/converge/bin/tcptows /opt/converge/bin/convergeproxy /opt/converge/docs/ COPY --from=builder /opt/converge/bin/agent /opt/converge/bin/tcptows /opt/converge/bin/wsproxy /opt/converge/docs/
COPY --from=builder /opt/converge/static/ /opt/converge/docs/ COPY --from=builder /opt/converge/static/ /opt/converge/docs/
ENTRYPOINT ["/opt/converge/bin/converge", "/opt/converge/docs" ] ENTRYPOINT ["/opt/converge/bin/converge", "/opt/converge/docs" ]

View File

@ -22,16 +22,10 @@
In a continous integration job, download the agent, chmod it and run it. In a continous integration job, download the agent, chmod it and run it.
</p> </p>
<pre> <pre>
# for HTTP hosted server
curl http://HOSTPORT/docs/agent > agent
./agent ws://HOST:PORT/agent/ID
chmod 755 agent
# for HTTPS hosted server
curl https://HOSTPORT/docs/agent > agent curl https://HOSTPORT/docs/agent > agent
./agent wss://HOST:PORT/agent/ID ./agent wss://HOST:PORT/agent/ID
chmod 755 agent chmod 755 agent
</pre> </pre>
<p> <p>
Above, HOST:PORT is the hostname:port of the converge server and ID is a unique id Above, HOST:PORT is the hostname:port of the converge server and ID is a unique id
for the job. This should not conflict with other ids. for the job. This should not conflict with other ids.
@ -40,6 +34,29 @@
to establish a connection to the CI job through converge. to establish a connection to the CI job through converge.
</p> </p>
<h2>Local clients: using ssh proxy command </h2>
<pre>
curl https://HOST:PORT/docs/wsproxy > wsproxy
chmod 755 wsproxy
</pre>
<p>This is a command that can be used as a proxy command for SSH which performs the connection to the remote
server.</p>
<p>
Next step is to run a local SSH of SFTP client:
</p>
<pre>
ssh -oProxyCommand="wsproxy https://HOST:PORT/client/ID" -p 10000 abc@localhost
sftp -oProxyCommand="wsproxy https://HOST:PORT/client/ID" -oPort 10000 abc@localhost
</pre>
<p>
<code>abc</code> is a fixed user defined by converge. It has a very exciting password.
</p>
<h2>Local clients: with a local TCP forwarding proxy</h2> <h2>Local clients: with a local TCP forwarding proxy</h2>
This option is less convenient than the proxy command because it requires two separate This option is less convenient than the proxy command because it requires two separate
@ -62,7 +79,7 @@
curl https://HOST:PORT/docs/tcptows > tcptows curl https://HOST:PORT/docs/tcptows > tcptows
chmod 755 tcptows chmod 755 tcptows
./tcptows 10000 wss://HOST:PORT/client/ID ./tcptows 10000 wss://HOST:PORT/client/ID
</pre> </pre>
<p> <p>
This runs a local client that allows SSH to port 10000 and connects to converge using This runs a local client that allows SSH to port 10000 and connects to converge using
@ -89,7 +106,7 @@
<li><a href="/docs/tcptows">tcptows</a>: TCP to WS tunnel for allowing regular <li><a href="/docs/tcptows">tcptows</a>: TCP to WS tunnel for allowing regular
SSH and SFTP clients to connect to converge. SSH and SFTP clients to connect to converge.
</li> </li>
<li><a href="/docs/convergeproxy">convergeproxy</a>: SSH proxy command that can be directly used by ssh <li><a href="/docs/wsproxy">wsproxy</a>: SSH proxy command that can be directly used by ssh
</li> </li>
</ul> </ul>