Skip to content

docs: move the standalone runbook to its own home, sharpen the README to the shared contract#36

Merged
jcardozo-eth merged 7 commits into
mainfrom
docs/readme-standalone-runbook-split
Jul 24, 2026
Merged

docs: move the standalone runbook to its own home, sharpen the README to the shared contract#36
jcardozo-eth merged 7 commits into
mainfrom
docs/readme-standalone-runbook-split

Conversation

@jcardozo-eth

Copy link
Copy Markdown
Member

Closes #16.

The README was serving two readers at once: the fleet consumer, who needs the configuration contract and nothing about host bring-up, and the standalone operator, who needs a full runbook. This PR gives each their own document: the README keeps the contract shared by every consumer and now leads with the fleet path, while the standalone bring-up and operations move to a new published runbook, docs/standalone.md.

before after
README.md 1119 lines, 32 references 833 lines, 27 references
docs/standalone.md 382 lines, 9 references

Moved to the runbook: installation, the apply script and manual applies, systemd automation with the liveness healthcheck, the self-update loop (prerequisites, the supervision it layers onto the healthcheck, rolling back), and the host-local secret store (the file, the rationale for a file over environment variables, the editing procedure). The runbook carries its own reference list; the README's remaining references are renumbered contiguously.

Changed in the README beyond the move:

  • The Quick start is rewritten for the fleet path (Puppetfile pin plus dependencies, the Hiera data layer, tokens through the server-side secrets machinery, verification), ending with a pointer to the runbook.
  • A short "Standalone deployment" section after the Operating model states that the whole contract applies unchanged to standalone hosts and points at the runbook.
  • The Operating-model bullet spells out the layering: the self-update loop is an optional layer on a standalone host, a standalone host without it applies manually, and a fleet host uses neither.
  • The "Host-specific values" section is dissolved into the runner_account and standalone contract sections (it predated the grouped parameter surface).
  • packages.sources now states explicitly that the sources switch and the install list are independent layers, and names the two supported shapes on a host whose content platform (orcharhino, Foreman/Katello) serves the packages.

Examples: examples/README.md is reframed the same way, fleet adoption first (the data/ layer and the token key shape) and the skeleton second as the standalone complement. The example host data marks its standalone block as standalone-only and now uses the module-default control-repository path.

No behavior change: one new shipped file, prose, and one spec assertion following the example data. Verified: just check green on every commit; both reference lists contiguous with every citation resolving; all cross-file links checked against live headings.

Move the standalone runbook into its own published document: when to
use standalone, quick start, installation, applying the configuration,
systemd automation with the liveness healthcheck, and the self-update
loop (prerequisites, supervision, rolling back), with the document's
own reference list. The README keeps the shared contract; its slimming
and the pointer section follow separately.
Dissolve the Host-specific values section, a leftover from the flat
parameter surface: the uid facts (host data, no default, compile-time
guard and the concerns that need it) move into the runner_account
contract text, and the control-repository-path facts (host data,
default, runtime catch by the self-update fetch and the healthcheck
staleness assertion) into the standalone contract text.
Make explicit that packages.sources.manage and packages.install are
independent layers, and name the two supported shapes on a host whose
content platform (orcharhino, Foreman/Katello) serves the packages:
platform-owned sources with module-installed packages, or
platform-owned packages outright.
Move the remaining standalone material out of the README: the
installation, apply-script, systemd-automation, self-update and
rollback sections now live only in docs/standalone.md, and the
host-local secret store (the file, the rationale, the editing
procedure) moves there too. The Quick start is rewritten for the
fleet path, a Standalone deployment pointer section follows the
Operating model, the Operating-model bullet spells out the
standalone/self-update layering, and the reference list is
renumbered contiguously after the move.
The example host data now sets control_repository_path to the module
default /opt/gitlab-runner-infra instead of a divergent /opt path; the
spec asserting the example threads into the apply script follows.
examples/README.md now leads with fleet adoption (Puppetfile lines,
the data/ layer, server-side tokens) and keeps the skeleton as the
standalone complement, pointing at docs/standalone.md; the example
host data gains a standalone-only banner on the standalone block and
its comments point at the runbook.
@jcardozo-eth
jcardozo-eth merged commit 42fd84e into main Jul 24, 2026
3 checks passed
@jcardozo-eth
jcardozo-eth deleted the docs/readme-standalone-runbook-split branch July 24, 2026 09:11
@jcardozo-eth jcardozo-eth added this to the 2.0.0 milestone Jul 24, 2026
@jcardozo-eth jcardozo-eth added the documentation Improvements or additions to documentation label Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move the standalone runbook into its own document

1 participant