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
2ec28cde61
Add SetConfig to Daemon, though it will always error right now
2024-11-09 23:14:20 +01:00
5e33eafb80
Fix test removing all allocs
2024-11-09 20:40:39 +01:00
335867644b
Output command-line results in either yaml or json, based on a flag
2024-11-09 17:40:02 +01:00
06d85ca961
Make log level configurable, remove custom log message handler
2024-11-09 17:11:10 +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
6ac473edcb
Fix garage health check to wait for full replication factor of nodes
2024-10-31 13:13:17 +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
168b65ea1d
Add ./go/tests.sh
2024-10-05 21:12:29 +02:00
31af39ce4c
Embed default daemon.yml directly in entrypoint
2024-09-24 11:27:54 +02:00
64fdba0a48
Implement network(s) list sub-command
2024-09-24 11:03:18 +02:00
de7aac1f25
Refactor command-line parsing, pass --network to most commands
2024-09-23 20:50:45 +02:00
16aca610b4
Add multi-network support to daemon
...
It's still not possible to pick a network from the command-line, so this
is a bit broken, but the daemon component should handle it correctly at
least.
2024-09-23 19:04:14 +02:00
6c036d1183
Check that two different networks aren't trying to use the same nebula port
2024-09-12 08:59:23 +02:00
df4eae8a5c
Support configuring more than one network
2024-09-10 22:51:33 +02:00
c022c97b19
include a migration for multi-network state directories
2024-09-10 21:02:07 +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
86b2ba7bfa
Factor daemon.Children into its own package
2024-09-07 15:46:59 +02:00
a840d0e701
Move common daemon types and values into daecommon
2024-09-07 15:11:04 +02:00
ef86c1bbd1
Make Daemon into a concrete type which implements RPC directly
2024-09-07 14:05:07 +02:00
fed79c6ec7
Update documentation on jsonrpc2.NewDispatchHandler
2024-09-05 19:36:21 +02:00
8d3b17e1cb
Remove extraneous empty struct returns from RPC interface
2024-09-05 17:28:10 +02:00
038a28bb02
Remove remaining extraneous 'Result' RPC-related struct types
2024-09-04 22:46:38 +02:00
06a345ecd1
Embed context directly into subCmdCtx
2024-09-04 22:35:29 +02:00
6c185f6263
Allow variadic number of parameters on RPC calls
2024-09-04 22:25:38 +02:00
53ad8a91b4
Generate RPC client wrapper
2024-09-04 21:24:45 +02:00