e31ab7176b
wsproxy mode tested.
2024-09-08 11:16:49 +02:00
f3963288e3
using clientId in the public interface of admin instead of an internal
...
interface agentConnection.
2024-09-08 11:16:49 +02:00
95204a9f5b
modification for testability caused a panic when client tries to connect
...
to unknown agent.
2024-09-08 11:16:49 +02:00
e334554d4a
multiple clients and agents.
2024-09-08 11:16:49 +02:00
1ec7241c95
now asserting succesful client creation after calling connectClient()
...
THis way conenctClient(0 can be used also for cases where client
connection
is not successful.
2024-09-08 11:16:49 +02:00
9bff8db297
connectClient now returns an error when unsuccessful.
2024-09-08 11:16:49 +02:00
d21f9c847f
connectClient() extracted to make it easy to connect a client.
2024-09-08 11:16:49 +02:00
2accbaf3fe
changes for testing agent connect by returning a synchronizer() function
...
that must be called after connect to synchronize data.
2024-09-08 11:16:49 +02:00
e03e7d7b9a
work in progress for testing the matchmaker.
2024-09-08 11:16:49 +02:00
ea0b4282ba
test for ListenForAgentEvents implemented.
2024-09-08 11:16:49 +02:00
00dd0d17c6
hostkey is now sent from the server to the agent so that at a later
...
stage we can make the hostkey conrfigurable at the server level instead
of using a fixed hardcoded key.
2024-09-08 11:16:49 +02:00
3408e2893a
moved all ui stuff to the ui package.
...
The structure of converge server is now much more clear in the package
// structure below pkg/server.
2024-09-08 11:16:49 +02:00
c66be7775f
renamed templates package to ui
2024-09-08 11:16:49 +02:00
3574b64842
Server side sorting for the websessions page. No longer using LinkedMap as a result.
2024-09-08 11:16:49 +02:00
9f12b7bea4
Separated out the metadata about the agents and clients from the agentConnection and clientConnection objects. Now, the state does not need to be copied anymore when sending notifications.
...
The matchmaker uses copy on write every time a new agent or client connects or disconnects.
2024-09-08 11:16:49 +02:00
96c62ab925
concurrency for the expiry time
2024-09-08 11:16:49 +02:00
fc7977f7bb
now using maps of Guid to Agent/Client in the state, working towards the definitive solution.
...
Using LinkedMap that preserves insertion order for the implementation and also added unit tests for that.
2024-09-08 11:16:49 +02:00
556315906d
introdcution of typesafe ids.
2024-09-08 11:16:49 +02:00
2d426f8db3
using unbuffered channels everywhere now. Only change required was to initialize prometeus and the websessions before the matchmaker. This is because at startup the matchmaker wants to write a notification when it starts up but then prometheus and the websessions would not be there to read them.
...
Alternative solution would be to run all initialization code in go routines to make it independent of initialization order but having a defined initialization order is much cleaner.
2024-09-08 11:16:49 +02:00
f83d7b2c83
added a utility function for logging request data.
2024-09-08 11:16:49 +02:00
30a49217e4
Much imporoved websocket connection closure will now detect closing of
...
websockets immediately.
2024-09-08 11:16:49 +02:00
567d9a4031
now a single websocket is opened from the webui to converge.
...
The browser sends a hello message anytime the user switches to the
sessions page, upon which the server sends the current state back.
THis also improves the timeout handling of broken connecions.
2024-09-08 11:16:49 +02:00
a06d8b0ca6
renamed converge package to matchmaker.
2024-09-08 11:16:49 +02:00