Commit Graph

301 Commits

Author SHA1 Message Date
a06d8b0ca6 renamed converge package to matchmaker. 2024-09-08 11:16:49 +02:00
4f06fd71e0 renamed modukle name so that pkgsite will work. 2024-09-08 11:16:49 +02:00
4aa67663ca now also ignoring the .git directory when building. 2024-09-08 11:16:49 +02:00
3d5735a050 now upgraded to go 1.22.5 and mofified coker file to use newer alpine
version with GOTOOLCHAIN=auto setting to automatically download newer
versions.
Also added a .dockerignore file to speed up building images.
2024-09-08 11:16:49 +02:00
f823d4b67b fixed issues with the prometheus code with subtle errors due to the use
of pointers. Now using simple value objects.
2024-09-08 11:16:49 +02:00
813d398ea4 message now indicates what to do when using ssh and when using sftp 2024-09-08 11:16:49 +02:00
061fabfd07 Addes agent address and client address to the client and agent info. 2024-09-08 11:16:49 +02:00
ad72c41347 ClientConnection no longer has public fields. 2024-09-08 11:16:49 +02:00
db1d908d06 a lot of work to get prometheus monitoring better.
Now the duration is updated every second to get more accurate readings. Also, the time series are now cleaned up when they no longer exists. Previously, all time series were deleted and then everything was setup from scratch.
2024-09-08 11:16:49 +02:00
1c92fcb03e much more clean handling of concurrency in the converge server by separating the administration from the matchmaking by putting admin in a separate package. 2024-09-08 11:16:49 +02:00
f82b21b845 activity detection implemented for sftp. 2024-09-08 11:16:49 +02:00
b8715bcbe8 eliminated the stop times. Not a good idea to have this metric because it starts becoming relevant after an agent has stopped and so it has basically unlimited lifetime which is not good. 2024-09-08 11:16:49 +02:00
1be96d8742 Added agent_start_time, agent_stop_time, client_start_time, and client_stop_time metrics. 2024-09-08 11:16:49 +02:00
c2ec1ce117 Added agent uid to the client info so that client and agent can be correlated in prometheus/grafana. 2024-09-08 11:16:49 +02:00
21ffd29ae4 Now showing information superscripts to hint that there are tooltipos available. 2024-09-08 11:16:49 +02:00
c4bc07b0e0 nov showing a message that the rendez-vous id is generated. 2024-09-08 11:16:49 +02:00
8e131c44a3 Now also logging the user's shell. 2024-09-08 11:16:49 +02:00
82a21ad4f6 One additional logging so that the user's environment info is also known. 2024-09-08 11:16:49 +02:00
5b7d51f210 Code is more robust and should now never try to send a notification to a web client that can block, using a context with cancellation. 2024-09-08 11:16:49 +02:00
0bb9812b59 added tooltips. 2024-09-08 11:16:49 +02:00
0c18689afd Generalized persistence of forms in separate js file.
Some minor improvements to the usage instructions.
2024-09-08 11:16:49 +02:00
4a3448dcc3 wsproxy now giving a more friendly error message when there is a protocol mismatch describing what the user should do. 2024-09-08 11:16:49 +02:00
128be0ebb5 Added client environment info to the prometheus metrics as labels. 2024-09-08 11:16:49 +02:00
2fe2be0b9a with the previous fix connection loss was not detected anymore, now using the ping method based on writing data which is more robust but may take a bit longer for connection loss to be detected. 2024-09-08 11:16:49 +02:00
29ddb6ce00 the read call to check for connectivity was doing more harm than good. Removed it. In the end there were situations where the read was blocking indefinitely, finally leading to a deadlock situation. 2024-09-08 11:16:49 +02:00
f3d0074f17 added environment info from the client. 2024-09-08 11:16:49 +02:00
Erik Brakkee
8b4bcde9c9 prometheus scraping endpoint now on a separate port 2024-09-08 11:16:49 +02:00
Erik Brakkee
b4b962d859 remove some console logs in the javascript
prometheus now listening on separate port
fixed powershell command for setting up authorized keys.
2024-09-08 11:16:49 +02:00
85841bcb0f read of 0 bytes to detect connection loss. 2024-09-08 11:16:49 +02:00
52ca0f3ecc consistent lower case on the usage page 2024-09-08 11:16:49 +02:00
564a8792f9 an attempt to avoid flickering of the image (not 100% successful) 2024-09-08 11:16:49 +02:00
b0aaec03fe Added a banner and logo. 2024-09-08 11:16:49 +02:00
f62b81cbfb cumulative counters implemented. 2024-09-08 11:16:49 +02:00
4746279353 prometheus monitoring now setup. 2024-09-08 11:16:49 +02:00
97d34424ca prometheus monitoring now more complete. Including a guid to uniquely identify agents and clients. 2024-09-08 11:16:49 +02:00
Erik Brakkee
135fd081d8 prometheus support step 1
updates to documentation.
2024-09-08 11:16:49 +02:00
2366b78e95 ClientId is now a string instead of an int. 2024-09-08 11:16:49 +02:00
ae60b77eec public id is now shown on the sessions page since authorized keys are
used which is safer.
2024-09-08 11:16:49 +02:00
cd953c5edf eliminated the username. 2024-09-08 11:16:49 +02:00
d134f1e944 better messages when the user modifies the .authorized_keys file from
within the session.
2024-09-08 11:16:49 +02:00
Erik Brakkee
d109c72f66 removed password based access
authorized keys can now be modified within the session.
keep last set of keys when no valid keys were found and keys are changed during the session .
2024-09-08 11:16:49 +02:00
8d554a5ce1 getting the bootstrap icons (not checking them in).
Split up instructions for working with agents.
2024-09-08 11:16:49 +02:00
1b1f8f2167 A lot of work in getting cut and paste from the UI to
work properly.

Wrote two web components. One for cut and paste in general, and another for code samples.
2024-09-08 11:16:49 +02:00
51be117200 Simple validation of the id and the authorized keys. 2024-09-08 11:16:49 +02:00
2cf73feef5 More clean handling of the contextpath.
Now using long option names for the options of converge to be consistent with the other components.
2024-09-08 11:16:49 +02:00
75e1bd77ba Alternative contextpath is now supported.
This will simplify hosting in cases where you have no control over DNS but only over one domain.
2024-09-08 11:16:49 +02:00
9456665a6f Preparation for alternative context path.
The contextpath parameter in converge.go is
temporary and should be removed later. What is needed is autodetectio of the context path for the usage page and passing on the context for rendering.
2024-09-08 11:16:49 +02:00
2df296d3c3 fixed issue in usage page where local shell was not used at all. 2024-09-08 11:16:49 +02:00
b41317c598 Lots of work on making easier interactive documentation, especially to make working with SSH public keys really easy.
Next step is to do more validation in the UI.
Specifically:
* validate authorized keys
* detection of accidental use of a private key

Then, password based access can be disabled.
2024-09-08 11:16:49 +02:00
49db7578a7 large parts of the usage is now dynamic.
Still need to generate instructions for authorized keys. A lot of troubleshooting for the form to cookie persistence.
2024-09-08 11:16:49 +02:00