geth/docs/adr/0001-single-binary-cli-and-daemon.md

24 lines
788 B
Markdown
Raw Normal View History

2026-05-15 15:08:20 +02:00
# ADR 0001: Single Binary CLI And Daemon
## Status
Accepted.
## Decision
The project ships one executable: `geth`. It has daemon mode with
`geth daemon run` and control mode through commands such as `geth status`.
Control commands use a local Unix socket. There are no separate `gethd` or
`gethctl` binaries.
The same binary also owns daemon service installation through `geth daemon
service ...`. Service installation targets user service managers: systemd user
units on Linux, launchd user agents on macOS, and per-user scheduled tasks on
Windows.
2026-05-15 15:08:20 +02:00
## Consequences
Packaging and user mental model stay simple. The daemon remains the owner of
identity, Iroh endpoint state, resources, and synchronized data structures.
The bootstrap avoids privileged system service installation.