Skip to content

docs(cookbook): config.toml [tools]/[jails], cookbook, and doc highlighting#32

Draft
markovejnovic wants to merge 18 commits into
mainfrom
docs/cookbook-and-config
Draft

docs(cookbook): config.toml [tools]/[jails], cookbook, and doc highlighting#32
markovejnovic wants to merge 18 commits into
mainfrom
docs/cookbook-and-config

Conversation

@markovejnovic

Copy link
Copy Markdown
Contributor

Splits the documentation + configuration work out of the larger
chore/get-a-vm-running branch into its own PR off main.

What's here

  • docs/cookbook — rewritten intro.md/install.md and a new config.md,
    documenting the /etc/hyper/config.toml [tools] and [jails] tables, the
    [tools] node-tool paths (skopeo/mke2fs/umoci/suidhelper), the
    User Configuration (dedicated unprivileged user) and cgroup setup.
  • doc highlightingmix.exs/mix.lock: add makeup_syntect plus a
    docs alias step that aliases bash/sh fences to the shell grammar, so
    cookbook code blocks (toml/bash/sh/python/rust/elixir/markdown) highlight.
  • config/runtime.exs — optional /etc/hyper/config.exs operator override,
    merged last (skipped under :test).
  • lib/hyper/config.ex + umoci.ex — the [tools]/[jails] config reading
    these docs describe.

Caveat

This is a content snapshot off main. It intentionally diverges from main's
behavior — the supporting Rust (config.rs) and test-stub changes live on the
chore/get-a-vm-running branch — so it is not expected to build or test green
on its own
. Draft until rebased onto / merged with that branch.

Stage the documentation and configuration work split out of the larger
get-a-vm-running branch into its own PR off main:

- docs/cookbook: rewritten intro/install + new config.md, documenting the
  /etc/hyper/config.toml [tools] and [jails] tables, the [tools] node-tool
  paths, and the User Configuration / cgroup setup.
- mix.exs/mix.lock: makeup_syntect + a docs alias step that aliases bash/sh
  fences to the shell grammar, so cookbook code blocks highlight.
- config/runtime.exs: optional /etc/hyper/config.exs operator override.
- lib/hyper/config.ex + umoci.ex: the [tools]/[jails] config reading these
  docs describe.

Note: this branch is a content snapshot off main; it intentionally diverges
from main's behavior (the supporting Rust/test changes live on the other
branch), so it is not expected to build/test green on its own.
@codecov

codecov Bot commented Jun 26, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown

Test Results

276 tests  +26   275 ✅ +26   4s ⏱️ -1s
 58 suites + 9     1 💤 ± 0 
  2 files   ± 0     0 ❌ ± 0 

Results for commit b6e00c7. ± Comparison against base commit 3603c45.

♻️ This comment has been updated with latest results.

Creates Hyper.Cfg.Dirs with work_dir/0 (config.toml-only, default
/srv/hyper) and all 8 derived directory accessors. Migrates every
call-site away from Hyper.Config.*; removes now-unused aliases in
img.ex, oci_loader.ex, umoci.ex. Resolves the last undefined-accessor
warning: firecracker_install_dir/0.
Delete the now-redundant Hyper.Config module (all accessors have been
re-homed under Hyper.Cfg.*). Migrate the two test files that still
referenced it, and remove the three dead flat keys (cgroup_parent,
uid_gid_range, layer_dir) from config/config.exs that were never read
via Application.get_env.
Rename and relocate Hyper.Node.Config.Budget to Hyper.Cfg.Budget,
update the runtime.exs app-env key, and fix all aliases/call-sites.
Delete the hardcoded @period_ms/@tau_s module attributes from the four
/proc monitors and replace period/0 + tau/0 with delegations to the new
Hyper.Cfg.Mon module. Operators can now override sampling cadence per
metric via config :hyper, Hyper.Cfg.Mon, cpu: [period_ms: .., tau_s: ..].
- alphabetize aliases in node_state.ex/gc.ex/tools_test.exs (credo --strict)
- mix format the longer Hyper.Cfg.* call-sites (oci_loader.ex, img/server.ex)
- restore anti-thrash rationale comment in layer/server.ex moduledoc
- add Jails.range_from/1 non-integer-list refusal test
- drop unused Hyper.Cfg.Toml.path/0 (YAGNI)
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