7274815cfd
Manage child processes individually, not via Pmux. Also route child logs through mlog
2024-10-29 17:49:24 +01: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
df4eae8a5c
Support configuring more than one network
2024-09-10 22:51:33 +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
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
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
5138ed7c6a
Attempt to delete socket file before listening on the path
2024-09-04 19:44:58 +02:00
4f6a89ced0
Roadmap has been moved to micropelago.net
2024-09-01 12:20:37 +02:00
39e12f6ebd
disallow -h and --help as flags in sub-commands
2024-07-22 16:37:22 +02:00
d31be8455b
Pluralize 'host(s)' subcommands
2024-07-22 15:52:51 +02:00
ca62a37692
Fix rendering of text flag defaults
2024-07-22 10:42:25 +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
c94f8e3475
Move creation of children into daemon initialize method
2024-07-20 11:14:59 +02:00
e657061482
Set permission bits on unix socket, so it's group read/writable
2024-07-16 17:30:36 +02:00
5de93e3711
Add back the ability to specify IP for nebula create-cert
2024-07-14 14:43:17 +02:00
0f42d9367c
Fix nebula create-cert error message
2024-07-14 14:28:01 +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
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
c5e919dc86
Remove runtime dir locking code
2024-07-12 16:13:44 +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
179059fd3d
Rename ISLE_SOCKET_PATH and refactor how it's loaded a bit
2024-07-06 14:26:06 +02:00
05e91cd657
Move daemon restarting logic into daemon package
2024-06-24 18:55:36 +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
a8893e4fc6
Move daemon sub-process logic into daemon package
2024-06-17 21:06:57 +02:00
aa1a8ea806
Implement archlinux pkg build as part of release
2024-06-17 17:20:34 +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