Commit Graph

44 Commits

Author SHA1 Message Date
86db5fb5ba Don't use AppImage in arch package install 2024-12-19 20:57:09 +01:00
279b70124c Implement 'network leave' 2024-12-17 16:50:07 +01:00
53a1dc0cc2 Add tests for network.Loader 2024-12-17 16:05:41 +01:00
ab8dac0789 Delete state/runtime dirs of networks which were failed to be joined or created 2024-12-17 14:26:33 +01:00
1340f13f95 Add ErrSecretNotFound and clarify other error-related docs 2024-12-15 21:39:41 +01:00
886f76fe0b Perform full config validation using stored network configs during init and SetConfig 2024-12-14 15:57:07 +01:00
aac7b30cf0 Clean up logging namespaces in daemon a bit 2024-12-13 15:35:15 +01:00
c08b225ee2 Fix bug in nebula TUN device naming, causing it to force nebula to reload too much 2024-12-12 22:02:00 +01:00
d2c16573ff Fix race-condition when CreateHost is called at the same time that reloadHosts runs 2024-12-12 21:26:09 +01:00
e750bc44a5 Check for IPs in use in CreateHost 2024-12-12 20:20:27 +01:00
be7844f658 Move most TODOs into task files, introduce busiless to explore them 2024-12-10 21:36:56 +01:00
df5ece950a Implement GetBootstrap to replace other redundant methods 2024-12-07 20:39:13 +01:00
8e1dd2b2e9 Use atomic.Uint64 type rather than atomic.AddUint64 (see Bugs section of atomic package) 2024-11-19 12:55:56 +01:00
9545f77cce Auto-configure device tunnel name, remove from daemon.yml 2024-11-19 12:50:58 +01:00
1d02c1f6a0 Implement 'storage list-allocation(s)' 2024-11-14 20:55:15 +01:00
070524f686 Add network get-config command 2024-11-12 18:18:47 +01:00
095489af2a Parallelize integration tests better 2024-11-12 13:42:35 +01:00
6ec56f2a88 Pass NetworkConfig into Network loaders as an optional argument 2024-11-12 13:34:39 +01:00
72bca72b29 Revert "Add SetConfig to Daemon, though it will always error right now"
This reverts commit 2ec28cde61.
2024-11-10 22:58:09 +01:00
f0cb29b553 Implement network.Loader, will be helpful for testing Daemon 2024-11-10 22:13:06 +01:00
bfa0dc457f Add mock of network interface 2024-11-09 23:17:10 +01:00
5e33eafb80 Fix test removing all allocs 2024-11-09 20:40:39 +01:00
032bdb9e43 Have hosts update garage cluster layout to remove other nodes if necessary 2024-11-08 22:57:31 +01:00
53a06af9ba Use the term 'role' or 'node' rather than 'peer' in the context of garage 2024-11-08 17:46:44 +01:00
04978fa9db Block for bucket list to sync across garage instances during init 2024-11-05 21:25:04 +01:00
8e264cf028 Rework how Network background jobs are managed a bit 2024-11-05 11:59:45 +01:00
2cdec586b2 Implement removal of nodes from the garage layout 2024-10-31 13:04:19 +01:00
8dab458291 Use Children's Reload method as part of SetConfig 2024-10-31 10:16:06 +01:00
7274815cfd Manage child processes individually, not via Pmux. Also route child logs through mlog 2024-10-29 17:49:24 +01:00
b7c097ef63 Refactor children process reloading, add garage reloading 2024-10-27 14:44:53 +01:00
433328524d Re-organize some reload logic 2024-10-24 22:14:13 +02:00
88ffa97c0f Small changes to how process reloading works 2024-10-24 21:19:58 +02:00
5c41cedea3 Implement SetConfig, but in a stupid way 2024-10-24 19:52:08 +02:00
63cefd403e Use a test logger 2024-10-23 20:38:39 +02:00
bbae88ab4b Add GetConfig method to Network 2024-10-23 20:18:11 +02:00
f639d460cf Implement basic test for network.Join 2024-10-14 12:12:43 +02:00
cb6c11acef Test network.Load 2024-10-07 22:41:46 +02:00
7f3cbf628f Cleanup idle HTTP connections to make shutdown smoother 2024-10-07 22:17:06 +02:00
f146b77187 Generalize create network code in network package integration tests 2024-10-06 19:38:35 +02:00
010c53e5c7 Some general cleanup 2024-10-06 17:15:40 +02:00
71bc182ab4 Implement initial go test for network.Create 2024-10-05 23:03:26 +02:00
df4eae8a5c Support configuring more than one network 2024-09-10 22:51:33 +02:00
6d99fb5368 Remove randStr private utility function 2024-09-09 21:38:10 +02:00
8c3e6a2845 Separate Daemon and Network logic into separate packages
In a world where the daemon can manage more than one network, the Daemon
is really responsible only for knowing which networks are currently
joined, creating/joining/leaving networks, and routing incoming RPC
requests to the correct network handler as needed.

The new network package, with its Network interface, inherits most of
the logic that Daemon used to have, leaving Daemon only the parts needed
for the functionality just described. There's a lot of cleanup done here
in order to really nail down the separation of concerns between the two,
especially around directory creation.
2024-09-09 16:34:00 +02:00