From b1dbf9e8aaf97cf69e450a62680e0ad9ea16ce99 Mon Sep 17 00:00:00 2001 From: Erik Brakkee Date: Tue, 13 Aug 2024 00:50:54 +0200 Subject: [PATCH] updated the about page --- pkg/server/templates/about.templ | 42 ++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/pkg/server/templates/about.templ b/pkg/server/templates/about.templ index 1c5761f..9b120a1 100644 --- a/pkg/server/templates/about.templ +++ b/pkg/server/templates/about.templ @@ -75,7 +75,23 @@ templ About() { having to start over again. Using authorized keys is made easy through the usage page, which provides the exact commands to execute based - on the target environmnet. + on the target environmnet. If users are hesitant to use their public key it is also possible + to generate a separate ssh key-pair using ssh-keygen and use that instead. +

+ +

To be able to use Converge, you must already have access to the configuration of a build job. + Having that access means it is possible to execute any command on a build agent. The Converge + agent is started by the build job and does not have any additional rights compared to what you + could script in the continous integration job definition. +

+ +

Converge does not provide any stealth features to hide it. The public sessions page show all + agents and clients including details about the clients and the agents. The idea is that it should + be light-weight and easy to use. There is no reason to hide the fact that someone is debugging + a continuous integration job. Also, all activity is logged,]both using standard kubernetes tooling + such as (fluentbit/filebat, and loki/elasticsearch depending on the environment). Also, Converge + provides a prometheus metrics endpoint which allows user sessions to be tracked over time after + the fact. Thie data is also made accessible using a grafana dashboard.

SSH and SFTP

@@ -90,8 +106,14 @@ templ About() { There is a timeout mechanism in the agent such that jobs do not hang indefinitely waiting for a connection. This mechanism is useful to make sure build agents do not keep build agents occupied for a long time. By default, the agent exits with status 0 when - the first client exits after logging in. The timeout is an inactivity timeout which is reset - every time the user presses a key on the keyboard. + the first client exits after logging in. The timeout is an inactivity timeout. Activity is + detected as follows: +

When the user touches a .hold file, the agent keeps waiting for connections even after the last client logs out, taking into account the timeout. By default the agent @@ -108,10 +130,14 @@ templ About() {

- The agent sets a agentdir environment variable that points to + The agent sets an agentdir environment variable that points to the directory where the agent is running.

+

The user will get notifications from the agent any time something important happens such + as the session being close to timeout. +

+

other tools

Using available existing tools such as @@ -125,12 +151,12 @@ templ About() {