279b70124c
Implement 'network leave'
2024-12-17 16:50:07 +01:00
3f9863c39e
Don't allow joining more than one network when deprecated config format is used
2024-12-17 13:40:31 +01:00
3111d2ca74
Allow creating a network without configuring it in daemon.yml
2024-12-17 11:33:19 +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
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
6c8d37a054
Spruce up errors a bit
2024-11-18 22:25:49 +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
2ec28cde61
Add SetConfig to Daemon, though it will always error right now
2024-11-09 23:14:20 +01:00
5c41cedea3
Implement SetConfig, but in a stupid way
2024-10-24 19:52:08 +02:00
bbae88ab4b
Add GetConfig method to Network
2024-10-23 20:18:11 +02:00
010c53e5c7
Some general cleanup
2024-10-06 17:15:40 +02:00
64fdba0a48
Implement network(s) list sub-command
2024-09-24 11:03:18 +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
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
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
ca62a37692
Fix rendering of text flag defaults
2024-07-22 10:42:25 +02:00
af69f1cfba
Fix panic when starting up daemon with existing bootstrap
2024-07-21 17:20:48 +02:00
1ea16d80e4
Require host in garage for nebula create-cert command
2024-07-21 17:12:35 +02:00
ee30199c4c
Automatically choose IP for new hosts
2024-07-21 17:10:28 +02:00
1411370b0e
Write new host to garage as part of CreateHost
2024-07-20 12:36:21 +02:00
c94f8e3475
Move creation of children into daemon initialize method
2024-07-20 11:14:59 +02:00
7aa11ebe29
Only restart sub-processes which need restarting on bootstrap changes
2024-07-20 10:42:26 +02:00
5de93e3711
Add back the ability to specify IP for nebula create-cert
2024-07-14 14:43:17 +02:00
67d17efde0
Allow including CA signing key with JoiningBootstrap, and update docs
2024-07-14 13:33:29 +02:00
d2710db8f1
State CA signing key in secrets store, eliminate admin bundle
2024-07-14 13:11:18 +02:00
9d5c8ea4db
Use secrets store for global garage bucket creds
2024-07-14 12:19:39 +02:00
86abdb6ae1
Propagate garage RPC secret with created host bootstrap
2024-07-14 11:58:39 +02:00
56f796e3fb
Implement basic secrets architecture, use it for garage RPC secret
2024-07-13 17:42:41 +02:00
b5059be7fa
Move create-bootstrap logic into daemon, rename to hosts create
2024-07-13 16:31:52 +02:00
cb8fef38c4
Move create-nebula-cert into nebula create-cert, move most logic into daemon
2024-07-13 16:08:13 +02:00
cc121f0752
Move RemoveHost into daemon
2024-07-12 17:05:39 +02:00
778db848c6
Fix daemon EnvVar dirs not being created on startup
2024-07-12 16:35:32 +02:00
7ca8ff3467
Fetch nebula CAPublicCredentials from daemon
2024-07-12 16:11:42 +02:00
30c8ca332a
Fetch GarageClientParams from daemon
2024-07-12 16:03:37 +02:00
736b23429c
Do proper type-based validation or hostnames and ipnets
2024-07-12 15:31:43 +02:00
1ee396c976
Use RPC for create-bootstrap
2024-07-09 15:14:29 +02:00
279c79a9f1
Replace admin create-network
with network create
over RPC
2024-07-09 11:43:17 +02:00
f9d033b89f
Implement Daemon.CreateNetwork, but it's not yet used or tested
2024-07-07 20:01:10 +02:00
7d8b274445
Implement JoinNetwork RPC method, and accompanying sub-command
2024-07-07 12:44:49 +02:00
81368821b7
Refactor Daemon into Children and DaemonRestarter into Daemon
2024-07-06 15:36:48 +02:00
05e91cd657
Move daemon restarting logic into daemon package
2024-06-24 18:55:36 +02:00