Commit Graph

24 Commits

Author SHA1 Message Date
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
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
ca62a37692 Fix rendering of text flag defaults 2024-07-22 10:42:25 +02:00
1411370b0e Write new host to garage as part of CreateHost 2024-07-20 12:36:21 +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
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
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
7d8b274445 Implement JoinNetwork RPC method, and accompanying sub-command 2024-07-07 12:44:49 +02:00
c808fa81b9 Move some environment variables into daemon package 2024-06-24 14:45:57 +02:00
c3609252a5 Implement RPC socket and use it to list hosts 2024-06-23 14:37:10 +02:00
47e53dffb7 Switch to using latest mediocre-go-lib 2024-06-22 17:49:56 +02:00
4e5d3b28ab Move some Bootstrap methods onto Daemon 2024-06-17 22:15:28 +02:00
8a1c8d2ed6 Use XDG_STATE_HOME rather than XDG_DATA_HOME for storing bootstrap 2024-06-17 17:20:26 +02:00
c645a8c767 Refactor how signing/encryption keys are typed and (un)marshaled 2024-06-15 23:02:24 +02:00
842c169169 Separate garage server logic into its own package 2024-06-12 10:18:33 +02:00
68f417b5ba Upgrade garage to v1.0.0
This required switching all garage admin API calls to the new v1
versions, and redoing how the global bucket key is created so it is
created via the "create key" API call.
2024-06-11 16:57:31 +02:00
2768be00d8 Refactor how host data is signed, now it's simpler and probably more secure 2024-06-10 22:33:26 +02:00
f13a08abfb Use JSON instead of YAML for files which aren't intended for human editing 2024-06-10 18:56:36 +02:00
Brian Picciano
661e2b28cb Move go code into 'go' tld, to make organization clearer 2023-08-25 15:19:31 +02:00