Skip to content

Docs overhault for 1.18 - #448

Merged
SchoolGuy merged 16 commits into
masterfrom
docs/1-18-overhaul
Aug 23, 2026
Merged

Docs overhault for 1.18#448
SchoolGuy merged 16 commits into
masterfrom
docs/1-18-overhaul

Conversation

@SchoolGuy

Copy link
Copy Markdown
Collaborator

This PR is overhauling the documentation for Orthos 2 1.18. It also includes a bug fix and test domain normalisations.

SchoolGuy and others added 16 commits August 22, 2026 15:28
Replace test.de, example.org/.com/.de, and foo.bar-style placeholder
domains across docs, fixtures, docker configs, and test files with the
project's established orthos2.test convention, so tests and example
data are cohesive. Multi-value domain-ending lists and multi-label
parsing test inputs preserve their distinct/nested structure using
orthos2.test subdomains; matching assertions were updated alongside
their inputs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- server_configuration.rst: replace a broken pseudo-Markdown link with
  a proper :ref: role, and update stale gitlab.suse.de URLs to the
  project's current github.com/openSUSE/orthos2 home.
- groups_and_users.rst: replace a leftover "blalbla" placeholder with
  the correct "Staff status" wording used elsewhere in the same file.
- netbox_comparison_page.rst: fix copy-pasted alt text that mislabeled
  both NetBox Comparison screenshots as "Enclosure List View".
- general.rst: remove a dangling reference to a "Developer's Guide"
  that doesn't exist in the doc tree.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The SCC credentials code-block was missing a blank line after its
directive marker and had inconsistent content indentation, which made
docutils parse the block body as 26 directive arguments instead of
literal content (only 1 argument, the language, is allowed).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Replace the single stale login screenshot with two current ones,
covering the default OIDC login (Authentik) and the local-only
built-in login form reached via ?builtin=true, and document both
paths so power users know how to reach their local-only accounts.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Replace the stale top-menu-era screenshots and description with the
current sidebar navigation:
- landing page screenshots split into regular-user and administrator
  variants (02_landingpage_user.png / 02_landingpage_admin.png)
- sidebar navigation screenshot (03_top_menu_overviews.png) now shows
  the full expanded sidebar including the Administration submenu,
  floated beside the text via :align: right
- quick filters screenshot updated to the current filter bar
  (04_arch_quickfilter.png), dropping the no-longer-existing "All
  Machine Groups" filter from the description
- fixed a copy-paste bug where "Free Machines" had the same
  description text as "All Machines"

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Replace the stale machine page screenshots and description with
current content, split into regular-user and administrator variants:

- overview screenshots (05) now show the Device Type/Manufacturer
  table and current sidebar
- tab bar crop (06) reflects the current tabs (Serial Console, Remote
  Power, Ansible Results added; "Installation" -> "Installations")
- machine actions (09) now documents three states: unreserved regular
  user, regular user after reserving (rescan/power actions become
  available, Fetch NetBox/Setup Machine visible but disabled), and
  administrator (all actions enabled, plus Edit Machine/Regenerate
  MOTD/Regenerate Cobbler Record)
- retired the now-redundant standalone release/extend crop in favor of
  the reserved-user actions screenshot, and dropped the "Rescan
  Network Interfaces" and "Queue SOL Deactivation" bullets that are no
  longer visible in the current UI

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Replace the stale overview and add-VM screenshots, fix the
"gast" -> "guest" filename typo, and rewrite the description to
accurately reflect the current Virtual Machines list (VM host + guest
cloud icons) and the Add Virtual Machine form fields, replacing a
broken/incomplete sentence in the old text.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Replace the stale top-menu-era screenshot with a tight crop of just
the form, and refer to "Add Machine" as a button (shown above the
machine table) rather than a nav tab, matching the current sidebar UI.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Update the enclosure list and add-enclosure screenshots to match the
current UI. The page's description text was already accurate, so no
content changes were needed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Update the list and detail view screenshots to match the current UI,
and document the new quick filter (object type, date range, object
name search) added to the comparison list page.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Add 19 new userguide pages with screenshots, covering every sidebar
entry that had no documentation yet: Advanced Search, Manufacturers,
Device Types, Statistics (user-facing), and Administrative Machines,
Remote Power Devices, Ansible Results, Serial Console Types, Systems,
Remote Power Types, Architectures, Server Configuration, Single Tasks,
Daily Tasks, Domains, Users, Tokens, Groups, OIDC Diagnostics
(superuser-only). Redact the real API token value in the Tokens
screenshot before publishing it.

Also fix landing_page.rst's incorrect claim that the sidebar's
"Administration" entry opens the Django admin backend — it's actually
a collapsible menu section revealing the pages above, now cross-linked
via :doc: to each new page.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The CLI was removed from Orthos 2, so the architecture diagram no
longer needs a screenshot to depict it. Replace the PNG with an ASCII
diagram showing Database, Orthos Server and Orthos Web (dropping the
CLI box and its "machine border" annotation), which also avoids
needing a fresh screenshot whenever the architecture text changes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
NetboxOrthosComparisionRunListView.get_queryset() filtered on
object_type/date_from/date_to but never read the "query" GET param
that the page's own search box submits, so searching silently did
nothing. Filter across every object type's name/FQDN field instead.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Address findings from a full adminguide audit against current code:

- Remove machine_groups.rst: the MachineGroup model was deleted by
  migration 0060_remove_machinegroup.py; the whole page documented a
  feature that no longer exists.
- groups_and_users.rst: remove references to a separate "admin
  dashboard"/Django admin (django.contrib.admin isn't installed;
  access is gated by superuser status and Django model permissions),
  fix the incorrect claim that "Staff status" gates login, remove the
  nonexistent Password/User permissions form fields, and use a real
  permission in the example.
- server_configuration.rst: fix ORTHOS_NETBOX_URL -> ORTHOS2_NETBOX_URL,
  document ORTHOS2_NETBOX_AUTH_SCHEME, drop six ServerConfig keys with
  no code references (remotepower.dominionpx.*/ipmi.password/
  ipmi.username/sentry.*), and document six real but previously
  undocumented keys, verifying each one's actual code-level default
  (not just its value in the dev fixture) - cobbler.prune.enabled/
  dryrun, mail.validdomains, serialization.execute, ssh.use.systemuser,
  virtualization.libvirt.bridge.
- Also remove the fixture rows for "cobbler.command" and
  "setup.list.command" from serverconfigs.json: neither is read by any
  code path, and the latter was explicitly dropped by migration 0041.
- architectures.rst: remove bogus "Write DHCPv4/DHCPv6" fields that
  don't exist on the model, document the real "Default profile" field.
- domains.rst: fix backwards "Setup architectures" description (lists
  architectures supported by the domain, not domains).
- machine.rst: fix a typo, remove a duplicate serial console "Device"
  field, add missing Comment/Fence Agent fields, and rewrite "Delete a
  machine" to reflect that deletion is API-only (no web UI button).
- systems_and_enclosures.rst: document the Allow BMC/Allow Hypervisor
  and Is Virtual fields.
- remote_power_device.rst: fix "rpower" -> "rpowerdevice", document
  the required Architecture/Domain and optional IP fields.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Address findings from a full userguide audit against current code:

- machine_page.rst: fix the wrong claim that Fetch NetBox/Setup
  Machine remain administrator-only for the reserving user (they're
  actually enabled based on the machine's own state, not permissions);
  add the missing Virtualization and Cobbler Cleanup tabs.
- landing_page.rst: fix "Free Machines" description (also excludes
  dedicated VM hosts, not just reserved machines); rename the sidebar
  screenshot away from its stale pre-migration filename.
- enclosure_page.rst: fix "delete individual servers" -> "enclosures",
  mention the Name search filter, add the missing "Is Virtual" field,
  and remove a stale "Django Admin" link reference that doesn't exist.
- remote_power_devices.rst: fix the claim that FQDN is auto-fetched
  from NetBox - it's actually a required, manually-entered field that
  must match the NetBox device name.
- groups.rst: fix the Permissions column description - it's a count,
  not a list of permission names.
- virtual_machine_page.rst: document the missing "parameters" field
  on the Add Virtual Machine form.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@SchoolGuy

Copy link
Copy Markdown
Collaborator Author

I will self-review this tomorrow or on Monday. After this is merged, I can update the internal staging instance and verify that everything is ready for the 1.18 tag.

@codacy-production

codacy-production Bot commented Aug 22, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

🟢 Coverage 92.68% diff coverage · -0.01% coverage variation

Metric Results
Coverage variation -0.01% coverage variation (-1.00%)
Diff coverage 92.68% diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (a2dfe2b) 24590 18827 76.56%
Head commit (02a3317) 24593 (+3) 18827 (+0) 76.55% (-0.01%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#448) 41 38 92.68%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@SchoolGuy

SchoolGuy commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator Author

I wasn't able to spot any major issues. As such, merging.

@SchoolGuy
SchoolGuy merged commit 705d538 into master Aug 23, 2026
15 checks passed
@SchoolGuy
SchoolGuy deleted the docs/1-18-overhaul branch August 23, 2026 09:45
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