Expand description
The parts every gunnar binary shares, regardless of which half it is.
The command line (cli), the logging ladder (logging), the build
identity (BUILD_REF, ssh_server_id) and the one address the control
plane defaults to (DEFAULT_CONTROL_ADDR) are needed by a pure-server
build, a pure-client build and the all-in-one alike. They lived in
gunnar-cli while it was the only binary crate; they moved here when the
server implementation became its own crate, so that gunnar-cli and
gunnar-server can both depend on this and neither has to depend on the
other.
Nothing here is an implementation of a verb. The Command enum names the
verbs and parses their arguments; dispatching them into gunnar-server’s
server code or gunnar-cli’s client code stays in those crates.
Modules§
- bindspec
- Where a listener binds — an address, or an interface resolved at boot. Where a listener binds, when the address is not known until boot.
- cli
- The
gunnarcommand line, in clap derive. - logging
- The log level, changeable on a running server.
- logqueue
- The console queue: the log lines gunnar writes to stderr go through ONE bounded queue and ONE drainer thread, so no request ever waits for the console to accept a byte.
- logtap
- Every INFO+ line as a value, for the appliance console dashboard.
The log tap: every
INFO+ line gunnar logs, handed to ONE in-process reader as a value — the console dashboard (gunnar_server::dashboard). - monetize_
key - Where the metered appliance’s verifying key comes from — a file, or the key itself, spelled inline on a kernel command line. Where the metered appliance’s verifying key comes from — a file, or the key itself, spelled inline.
Constants§
- AGENT
gunnar/<version>, the string this binary identifies itself with.- BUILD_
REF - The build this binary is, as
build.rsstamped it: the builder’s passed ref (GUNNAR_BUILD_REF, then the Build Thing’sNORDISK_BUILD_REF), elsegit describe --tags --always --dirty=-modified --abbrev=7, elseunknown. - DEFAULT_
CONTROL_ ADDR - Where the control plane listens unless told otherwise.
- RELEASE
- ★ ACCT-2 (2026-10-29): the Gunnar release this build is — the
gunnarcrate’s version, which the release tag (v1.6.0) names. Not a library crate’s own semver: since the R5C crate versions (2026-10-26) gunnar-grpc and gunnar-common were 2.0.0 on a 1.5.1 release (3.0.0 on 1.6.0), andAdmin.Healthanswered that to the console’s header. A test in gunnar-common holds it to the gunnar crate’s version at every bump.
Functions§
- init_
tracing - Install the tracing subscriber once, honouring
RUST_LOG. - ssh_
server_ id - The SSH identification string, carrying the commit this server is.