Harden daemon service installation
This commit is contained in:
parent
443602a30b
commit
678865bfdc
6 changed files with 784 additions and 46 deletions
17
README.md
17
README.md
|
|
@ -25,7 +25,8 @@ Keep the daemon running. In a second shell, reuse the home it printed:
|
|||
|
||||
Ctrl-C stops the daemon and removes its temporary state. For a persistent
|
||||
background node, run `geth daemon install`; this initializes local state,
|
||||
installs a service for the current user, and starts it immediately. Before
|
||||
installs a service for the current user, starts it, and waits for the daemon to
|
||||
answer on local control. Before
|
||||
enrolling other machines, use `geth guide owner-setup`; it records an
|
||||
OpenSSH admin public key as the trust anchor and signs the initial keychain
|
||||
statements without copying the private key into geth state.
|
||||
|
|
@ -92,6 +93,7 @@ The daemon can also install itself as a user service:
|
|||
```sh
|
||||
geth daemon install
|
||||
geth daemon status
|
||||
geth daemon logs
|
||||
geth daemon uninstall
|
||||
```
|
||||
|
||||
|
|
@ -100,6 +102,16 @@ agents on macOS, and per-user scheduled tasks on Windows. These are user-level
|
|||
services, not system services. The longer `geth daemon service ...` family is
|
||||
retained for compatibility and advanced options.
|
||||
|
||||
`daemon install` canonicalizes and validates the executable recorded in the
|
||||
service definition. When invoked from a Cargo `target` directory or another
|
||||
temporary location, it atomically copies the binary into
|
||||
`<geth-home>/bin/geth` first so cleanup cannot leave a broken service. Use
|
||||
`--allow-transient-binary` only for deliberate development setups. Installation
|
||||
waits up to 30 seconds for local daemon readiness by default; use `--no-wait` or
|
||||
`--timeout-ms` when automation needs different behavior. `geth daemon logs`
|
||||
shows the systemd user journal or the selected home's launchd/Windows log files;
|
||||
add `--follow` to stream new entries.
|
||||
|
||||
## Transport And SSH
|
||||
|
||||
All remote node-to-node geth communication is designed to happen over Iroh only.
|
||||
|
|
@ -139,8 +151,9 @@ The bootstrap implementation provides:
|
|||
- `geth init`
|
||||
- `geth init --admin-key <public-key> --signing-key <private-key> --node-name <name>`
|
||||
- `geth daemon run [--ephemeral]`
|
||||
- `geth daemon install|start|stop|status|uninstall`
|
||||
- `geth daemon install|start|stop|status|logs|uninstall`
|
||||
- `geth daemon service install|uninstall|start|stop|status|print`
|
||||
- `geth config path|show|validate|set`
|
||||
- `geth status`
|
||||
- `geth wait daemon|peer|sync --timeout-ms <ms>`
|
||||
- `geth doctor`
|
||||
|
|
|
|||
Loading…
Reference in a new issue