Skip to content

w743: the ops worker may run fffctl units and units --check (read only) - #243

Merged
bryding merged 3 commits into
mainfrom
w743-ops-units
Oct 9, 2026
Merged

bryding merged 3 commits into
mainfrom
w743-ops-units

Conversation

@bryding

@bryding bryding commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Request: w743

lothsahn: "Please make it so you can run sudo fffctl units --check"

What

  • deploy/vm/guest/fff-ops-priv: new units subcommand, exactly units and units --check (→ fffctl units [--check] as root, exit status passed through). Any other word or extra token exits 2 before fffctl runs. No watchdog, restart, pause or reset.
  • server/opsWorker.ts: units added to OPS_FFFCTL (the shell guard refused fffctl units as "a person's": that was the refusal the worker saw) and to the worker's prompt. The worker types fffctl units --check; its guard still refuses sudo.
  • deploy/vm/test/fff-ops.test.sh: allowed forms, exit-1 passthrough, and 19 refused forms (units --fix, units --check extra, watchdog run/pause/resume/reset, restart…). server/opsWorker.test.ts: guard cases.
  • docs/ops-worker.md: new row in the "It may" table and the deploy note.

Evidence

  • Measured: node --test server/opsWorker.test.ts 13/13 pass, tsc -p . clean. The new fff-ops.test.sh block ran green on macOS against a root-check-free copy of the guard (the full script needs root/Linux; CI runs it as root).
  • Not covered here: the real fffctl units on the VM (read-only, unchanged).

Deploy

Scripts + server only; sudoers unchanged (still one root file, fff-ops-priv). A portal deploy (fffctl update) carries it; the host install.sh --guest-only is not needed. Merging before or after the vault cut-over does not matter for that install.

bryding and others added 3 commits October 8, 2026 23:50
…ead only) through fff-ops-priv

Request: w743

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ord has its own check)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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