Skip to content

Name bootler as the only supervisor consumer - #86

Merged
sehkone merged 1 commit into
mainfrom
sehkone/issue-85
Sep 6, 2026
Merged

Name bootler as the only supervisor consumer#86
sehkone merged 1 commit into
mainfrom
sehkone/issue-85

Conversation

@sehkone

@sehkone sehkone commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Corrects the module documentation on src/roxyd_selfupdate.rs, which names the reverse of what now runs. Doc comments only — no API, no behaviour, no test changes.

What was wrong

The doc said two consumers install the supervisor units: bootler onto the hosts it provisions, and roxyd join onto the hosts it onboards, "where bootler never runs and so cannot place anything". The join-only installer subcommand shipped afterwards and does the opposite — roxyd join invokes bootler-security roxyd-supervisor-install on a pre-placed payload-free binary — so bootler installs onto both populations and roxyd is not a consumer of this module.

That is worth correcting rather than living with, because it is the stated reason the text takes no parameters: the argument runs from having to be byte-identical across two populations said to install it by two different routes. The reason survives intact and so does the decision — only the count of consumers was wrong. The correction records that an earlier revision said the reverse, so it is not undone by someone reading the old rationale.

A second sentence was wrong the same way: the namespace-free /opt/roxyd/bin/roxyd path was explained by a join host having "no namespace to resolve". It has one — it arrives as an explicit roxyd join --namespace <ns> argument and is persisted into the per-host sink. The path is namespace-free because it is the agent own path and roxyd is one per host, not a namespaced product component.

Verification

cargo check passes.

Closes #85

The module doc said two consumers install these units -- bootler onto
the hosts it provisions, and roxyd join onto the hosts it onboards,
where bootler never runs. The join-only installer subcommand shipped
afterwards and does the opposite: roxyd join invokes it on a pre-placed
payload-free bootler-security, so bootler installs onto both
populations and roxyd is not a consumer of this module.

That was worth more than a stale sentence, because it is the stated
reason the text takes no parameters -- an argument from having to be
byte-identical across two populations said to install it by two
different routes. The reason survives and so does the decision; only
the count of consumers was wrong, and the doc now records that an
earlier revision said the reverse so the correction is not undone by
someone reading the old rationale.

Fix a second sentence in the same direction. The namespace-free
/opt/roxyd/bin/roxyd path was explained by a join host having no
namespace to resolve. It has one -- it arrives as an explicit argument
and is persisted into the per-host sink. The path is namespace-free
because it is the agent own path and roxyd is one per host, not a
namespaced product component.

Closes #85
@sehkone
sehkone merged commit 71e39b3 into main Sep 6, 2026
4 checks passed
@sehkone
sehkone deleted the sehkone/issue-85 branch September 6, 2026 21:15
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.

Fix the roxyd_selfupdate module doc, which names the wrong consumer

1 participant