Operator documentation and docs site #16

Closed
opened 2026-10-16 20:05:23 +00:00 by agent-pi · 1 comment
Collaborator

Xique can be run as a container deployment (phase 1e), but nothing tells an operator how. There is no deployment walkthrough, no upgrade procedure, and no backup/restore guidance — including how the worker's WAL checkpointing behaviour affects backups and what a safe copy looks like.

The repository also has no documentation site: the deploy-docs CI job is written but disabled until docs exist, and there is no mkdocs configuration, nav, or pages branch.

This issue covers the operator-facing documentation and the site that serves it, as a follow-up to the container-only phase 1e (#6).

Xique can be run as a container deployment (phase 1e), but nothing tells an operator how. There is no deployment walkthrough, no upgrade procedure, and no backup/restore guidance — including how the worker's WAL checkpointing behaviour affects backups and what a safe copy looks like. The repository also has no documentation site: the `deploy-docs` CI job is written but disabled until docs exist, and there is no mkdocs configuration, nav, or `pages` branch. This issue covers the operator-facing documentation and the site that serves it, as a follow-up to the container-only phase 1e (#6).
Author
Collaborator

Plan of attack (mkdocs + Material, yunjin's stack):

  1. Site scaffold — mkdocs.yml (Material with dark/light toggle, site_url: https://xique.marvin8.zone, mike versioned-docs plugin, revision-date plugin) and a docs/ tree:
    • index.md — what xique is, the web/worker/sqlite shape, where to go next
    • install.md — container bring-up from deploy/: prerequisites, the five quadlets, env file, first-boot ordering (web refuses an unmigrated DB until the worker migrates), Tailscale node approval, /setup
    • upgrade.md — pull/restart, the worker owns migrations (web refuses a behind-schema DB), rollback via release tags
    • backup.md — what WAL mode means for backups, the worker's per-cycle wal_checkpoint(TRUNCATE), safe copy procedures (stopped-pod copy and online .backup), restore, what not to back up
    • config.md — the full XIQUE_* reference
    • cli.md — xique import-trakt, including the container-exec form
      Content builds on (not contradicts) the README's Running it section, which keeps its quick-start role.
  2. Docs deps — mike~=2.2.0, mkdocs~=1.6.1, mkdocs-material~=9.7.7, mkdocs-git-revision-date-localized-plugin~=1.6.0 in the dev group; uv.lock/pylock.toml regenerated in the same commit.
  3. Enable deploy-docs — replace if: ${{ false }} with yunjin's gate github.event_name == 'release' && !github.event.release.prerelease (the job's version-tag guard and mike flow already assume release refs). The first publish run is expected to fail pending the operator's one-time manual step; subsequent runs proceed.

Branch: feat/issue-16-operator-docs

Commits:

  • :memo: docs: add the operator documentation site
  • :construction_worker: ci: deploy docs on release

PR: POST /repos/marvin8/xique/pulls (head feat/issue-16-operator-docs, base main, Closes #16).

Plan of attack (mkdocs + Material, yunjin's stack): 1. **Site scaffold** — `mkdocs.yml` (Material with dark/light toggle, `site_url: https://xique.marvin8.zone`, mike versioned-docs plugin, revision-date plugin) and a `docs/` tree: - `index.md` — what xique is, the web/worker/sqlite shape, where to go next - `install.md` — container bring-up from `deploy/`: prerequisites, the five quadlets, env file, first-boot ordering (web refuses an unmigrated DB until the worker migrates), Tailscale node approval, `/setup` - `upgrade.md` — pull/restart, the worker owns migrations (web refuses a behind-schema DB), rollback via release tags - `backup.md` — what WAL mode means for backups, the worker's per-cycle `wal_checkpoint(TRUNCATE)`, safe copy procedures (stopped-pod copy and online `.backup`), restore, what not to back up - `config.md` — the full `XIQUE_*` reference - `cli.md` — `xique import-trakt`, including the container-exec form Content builds on (not contradicts) the README's Running it section, which keeps its quick-start role. 2. **Docs deps** — `mike~=2.2.0`, `mkdocs~=1.6.1`, `mkdocs-material~=9.7.7`, `mkdocs-git-revision-date-localized-plugin~=1.6.0` in the dev group; `uv.lock`/`pylock.toml` regenerated in the same commit. 3. **Enable `deploy-docs`** — replace `if: ${{ false }}` with yunjin's gate `github.event_name == 'release' && !github.event.release.prerelease` (the job's version-tag guard and mike flow already assume release refs). The first publish run is expected to fail pending the operator's one-time manual step; subsequent runs proceed. Branch: `feat/issue-16-operator-docs` Commits: - `:memo: docs: add the operator documentation site` - `:construction_worker: ci: deploy docs on release` PR: `POST /repos/marvin8/xique/pulls` (head `feat/issue-16-operator-docs`, base `main`, `Closes #16`).
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
marvin8/xique#16
No description provided.