1
0
forked from extern/smegmesh
Commit Graph

154 Commits

Author SHA1 Message Date
Tim Beatham
388153e706 Stubbing out WireGuard components
Stubbing our WireGuard components so that I can use docker/podman
network_mode=host. This is much more efficient than the docker/podman
userspace network.
2023-11-20 11:28:12 +00:00
Tim Beatham
36c264b38e 25-ability-aliases
Fixed unit tests failing
2023-11-17 22:18:53 +00:00
Tim Beatham
68db795f47 Ability to specify aliases
Ability to specify aliases that automatically append to /etc/hosts
2023-11-17 22:13:51 +00:00
Tim Beatham
f6160fe138 Adding aliases that automatically gets added 2023-11-17 19:13:20 +00:00
Tim Beatham
5f176e731f Developed a rest API 2023-11-13 10:44:14 +00:00
Tim Beatham
1a864b7c80 Removed interface manipulation via os.Exec into
rtnetlink calls
2023-11-07 19:48:53 +00:00
Tim Beatham
acbeb689b5 Prune nodes if they exceed their timeout time 2023-11-06 13:37:28 +00:00
Tim Beatham
bc6cd4fdd5 Modified syncer 2023-11-06 10:05:23 +00:00
Tim Beatham
c88012cf71 Added health system to count how many times a node
fails to conenct.
2023-11-06 09:54:06 +00:00
Tim Beatham
ef614f5961 Add cert dependencies 2023-11-05 18:06:24 +00:00
Tim Beatham
9454d62417 Adding stubs and writing tests 2023-11-05 18:03:58 +00:00
Tim Beatham
bb07d35dcb Unit testing the automerge library and lib functions 2023-11-05 12:13:40 +00:00
Tim Beatham
d17dce3b1e Added clustering and clean up 2023-11-03 15:26:09 +00:00
Tim Beatham
843caddf6b Implemented clustering betweeen nodes 2023-11-03 15:24:18 +00:00
Tim Beatham
8d8a13d6ff Build error forgot to add query.go 2023-11-01 13:17:58 +00:00
Tim Beatham
d462d95d6d Ability for each node to set their description describing what
service they provide.
2023-11-01 11:58:10 +00:00
Tim Beatham
e63edea763 Fixing an issue where packets are dropped each time
we change wg configuration
2023-11-01 10:39:46 +00:00
Tim Beatham
aa3d40f82c Added JMESpath to query the state of specific
meshes.
2023-10-31 10:34:09 +00:00
Tim Beatham
e56780fdd4 Added ability to query the JSON data store 2023-10-30 19:02:28 +00:00
Tim Beatham
579426e32d Tidied up code, made changes for benchmarking. 2023-10-30 16:49:02 +00:00
Tim Beatham
472718c9a3 Standardising filenames, interfacing out
for tests and modifying network device
manipulation
2023-10-28 16:38:25 +01:00
Tim Beatham
5757d81a81 Advertising routes into the mesh 2023-10-27 17:49:18 +01:00
Tim Beatham
4c6bbcffcd Interfacing out components for unit testing 2023-10-26 16:53:12 +01:00
Tim Beatham
f1cfd52a91 Cleaning up reposistory 2023-10-25 18:36:13 +01:00
Tim Beatham
c205be6748 Implemented the forwarding of packets between meshes 2023-10-25 18:34:38 +01:00
Tim Beatham
180f5e226c Ability to be in multiple meshes and refactored consensus 2023-10-24 16:00:46 +01:00
Tim Beatham
8e89281484 Tested with large number of nodes 2023-10-24 00:12:38 +01:00
Tim Beatham
ef2b57047d Bidirectional syncing 2023-10-23 18:13:08 +01:00
Tim Beatham
360f9d3c54 Few refactorings of managing the mesh and a graph
visualisation tool for seeing the state of a mesh.
2023-10-22 13:34:49 +01:00
Tim Beatham
c4dc984fc7 Added ability to detect if a node should be removed from the mesh. 2023-10-21 18:08:45 +01:00
Tim Beatham
976dbf2613 Automatically remove nodes from the mesh after a
certain threshold.
2023-10-20 17:35:02 +01:00
Tim Beatham
c200544cee Timer in go that syncs with random nodes in the mesh every
given time interval.
2023-10-20 12:41:06 +01:00
Tim Beatham
ec87afc235 Added sync 2023-10-10 20:14:40 +01:00
Tim Beatham
e729c5b181 CRDTs fully incorporated 2023-10-06 18:25:38 +01:00
Tim Beatham
47e260e310 Incorporated automerge 2023-10-06 11:52:51 +01:00
Tim Beatham
81e2d16316 Implementing CRDTs 2023-10-06 10:12:46 +01:00
Tim Beatham
923ca716ec Automerge changes 2023-10-05 17:48:54 +01:00
Tim Beatham
f191c4ff44 Added package changes 2023-10-04 17:17:53 +01:00
Tim Beatham
a069b89a9a Refactored client and server and interfaced out dependencies 2023-10-02 16:03:41 +01:00
Tim Beatham
52e5e3d33c JWT Authentication endpoint 2023-10-01 20:14:09 +01:00
Tim Beatham
94afd68460 Implemented JWT authentication 2023-10-01 19:01:35 +01:00
Tim Beatham
c819bec63d Interfaced problem out 2023-09-29 15:00:20 +01:00
Tim Beatham
a0c20e4d11 IPV6 SLAAC 2023-09-28 16:55:37 +01:00
Tim Beatham
ea2a073875 Added ability to set interface as up 2023-09-21 18:43:29 +01:00
Tim Beatham
6725a193aa Got it working with peer-to-peer network. Does not mark nodes as stale 2023-09-21 13:50:59 +01:00
Tim Beatham
d9dc0ba6b3 Added the gRPC proto file 2023-09-21 11:14:57 +01:00
Tim Beatham
91212e60cf Simple direct peer-to-peer communication 2023-09-20 19:05:29 +01:00
Tim Beatham
cfdf377567 Pseudo-random address allocation 2023-09-20 14:34:34 +01:00
Tim Beatham
dcf851a02e Ability to add peer to config 2023-09-19 23:50:44 +01:00
Tim Beatham
6e9ca4f31f Migrated to using grpc for handling rpc calls 2023-09-19 18:29:35 +01:00
Tim Beatham
86756903c7 Created join-mesh, list-meshes command 2023-09-19 13:45:49 +01:00
Tim Beatham
b679b7fb6e Added IPC handler to wgmesh 2023-09-18 17:00:43 +01:00
Tim Beatham
01238aca59 Incorporated gin server.
Each node communicates in the mesh
2023-09-18 15:52:28 +01:00
Tim Beatham
fa16480521 Commit 2023-09-18 12:59:28 +01:00