Skip to content

docs: document wyrelogd config keyfile and wyctl boundary#322

Merged
justinjoy merged 1 commit into
mainfrom
feature/docs-wyrelogd-config-keyfile
May 14, 2026
Merged

docs: document wyrelogd config keyfile and wyctl boundary#322
justinjoy merged 1 commit into
mainfrom
feature/docs-wyrelogd-config-keyfile

Conversation

@justinjoy

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #321 (now merged). The wyctl GSettings docs landed there, but the existing wyrelogd --config PATH (GLib keyfile / INI) support was still undocumented in the operator runbook — operators had to read wyrelog/daemon/options.c to discover the supported [daemon] section keys.

Adds a new "wyrelogd Configuration File" section to docs/operator-runbook.md covering:

  • Canonical [daemon] section layout with all 14 supported keys.
  • Type + equivalent CLI flag + purpose for each key.
  • CLI > config-file precedence rule (no second-level merging).
  • wyrelogd.env (systemd EnvironmentFile=) vs wyrelogd.conf (daemon config) distinction.
  • systemd ExecStart wiring sketch.
  • Explicit explanation of why the daemon does NOT use GSettings: no session bus on system services, deployment concern wants config-management tooling control over /etc, and the dconf store is operator-writable in a way that breaks the threat model.

Adds a cross-reference in the wyctl Configuration section noting the wyctl/wyrelogd separation is intentional (each surface answers a different operator question).

Docs-only diff (+114 lines, 0 source/test changes).

Test plan

  • meson test -C builddir wyctl-token-file wyctl-config wyctl-gschema wyctl-basic --no-rebuild — 4/4 OK (sanity check that the docs-only change doesn't break anything).
  • Cross-checked every documented key against load_config_defaults() at wyrelog/daemon/options.c:145 — 14 keys match (12 strings via keyfile_take_* + 2 booleans via g_key_file_get_boolean).

wyrelogd has supported --config PATH (GLib keyfile / INI format) since
the daemon's option parser landed, but the operator runbook only ever
mentioned /etc/wyrelog/wyrelogd.env (the systemd EnvironmentFile). The
14-key [daemon] section that load_config_defaults() in
wyrelog/daemon/options.c actually reads was operator-discoverable only
by reading source.

Adds a new "wyrelogd Configuration File" section that:

  * shows the canonical [daemon] section layout,
  * tabulates every supported key with its type, equivalent CLI flag,
    and operator-facing purpose,
  * clarifies the CLI > config-file precedence rule (no second-level
    merging),
  * separates wyrelogd.env (systemd-level environment) from
    wyrelogd.conf (daemon-level config) so operators stop confusing
    the two,
  * sketches the systemd ExecStart wiring,
  * explains why the daemon deliberately does NOT use GSettings:
    no session bus on system services, daemon config is a deployment
    concern, and the dconf store is operator-writable in a way that
    breaks the threat model.

Adds a cross-reference note in the wyctl Configuration section so
operators know the same value (e.g. tenant) appearing in two places
is intentional: the daemon config decides which tenants the daemon
services, the wyctl defaults decide which tenant the CLI on this
workstation routes to.

Docs-only commit; no source or test changes. meson test wyctl-* — 4/4 OK.
@justinjoy justinjoy merged commit 718be5d into main May 14, 2026
3 checks passed
@justinjoy justinjoy deleted the feature/docs-wyrelogd-config-keyfile branch May 14, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant