docs(runbooks): add runbook spec, template, index and 6 first-batch runbooks; light-enhance existing 10
- RUNBOOKS.md: repo-level spec (six-field model, naming, safety, maturity path) - runbooks/_template.md + README.md: standard template and 16-entry routing index - new: issue-to-merge, fix-ci, release, rollback, network-change, network-recovery - light-enhance 10 existing runbooks with Purpose/Scope/Safety headers - AGENTS.md: point step 3 at index/spec, add runbook execution rules - docs/agent-runbook-guide.md: archive of Manus AI guide
This commit is contained in:
@@ -8,7 +8,10 @@ Also readable as `agent.md` (symlink → this file).
|
||||
|
||||
1. Read [`inventory/hosts.md`](inventory/hosts.md) for the machine list.
|
||||
2. Open the matching [`hosts/<name>.md`](hosts/) for SSH, roles, paths, and quirks.
|
||||
3. For common tasks, follow a runbook under [`runbooks/`](runbooks/).
|
||||
3. For common tasks, follow a runbook under [`runbooks/`](runbooks/). Pick the
|
||||
most specific applicable one from [`runbooks/README.md`](runbooks/README.md);
|
||||
the spec is [`RUNBOOKS.md`](RUNBOOKS.md) and new runbooks start from
|
||||
[`runbooks/_template.md`](runbooks/_template.md).
|
||||
4. Prefer read-only checks first; change only after confirming current state.
|
||||
5. For routine checks and approved service reconciliation, run the matching
|
||||
Ansible playbook from `ansible/`; see [routine Ansible operations](runbooks/ansible-operations.md).
|
||||
@@ -20,6 +23,15 @@ Also readable as `agent.md` (symlink → this file).
|
||||
scope, action, verification, and remaining follow-up; never put passwords,
|
||||
tokens, private keys, recovery keys, or private room IDs in Linear.
|
||||
|
||||
### Runbook execution rules
|
||||
|
||||
Before operational work: inspect `runbooks/`, select the most specific
|
||||
applicable runbook, follow its steps in order, do not skip verification steps,
|
||||
and respect its STOP and approval conditions. If no runbook applies, diagnose
|
||||
only — do not mutate production state. When live state conflicts with a
|
||||
runbook's assumptions, `STOP` and report; never invent missing parameters or
|
||||
bypass failed checks. The spec is [`RUNBOOKS.md`](RUNBOOKS.md).
|
||||
|
||||
## Active hosts (quick map)
|
||||
|
||||
| Host | Role | SSH | Facts |
|
||||
@@ -82,6 +94,14 @@ Also readable as `agent.md` (symlink → this file).
|
||||
| UniFi local-service proxy bypass | [docs/unifi-openclash-localhost.md](docs/unifi-openclash-localhost.md) |
|
||||
| UniFi SSO login setting (Ansible) | `cd ansible && ansible-playbook playbooks/unifi-sso.yml --limit unifi` |
|
||||
| Routine Ansible operations | [runbooks/ansible-operations.md](runbooks/ansible-operations.md) |
|
||||
| Issue → mergeable change | [runbooks/issue-to-merge.md](runbooks/issue-to-merge.md) |
|
||||
| Fix failing health/playbook run | [runbooks/fix-ci.md](runbooks/fix-ci.md) |
|
||||
| Release a reviewed change | [runbooks/release.md](runbooks/release.md) |
|
||||
| Roll back a change | [runbooks/rollback.md](runbooks/rollback.md) |
|
||||
| Controlled network change | [runbooks/network-change.md](runbooks/network-change.md) |
|
||||
| Network outage recovery | [runbooks/network-recovery.md](runbooks/network-recovery.md) |
|
||||
|
||||
Full index: [runbooks/README.md](runbooks/README.md). Spec: [RUNBOOKS.md](RUNBOOKS.md).
|
||||
|
||||
Routine mailcow health: `cd ansible && ansible-playbook playbooks/health-report.yml --limit mailcow`. The local stub resolver is flaky; DNS probes use `1.1.1.1` / `8.8.8.8`.
|
||||
|
||||
@@ -131,8 +151,9 @@ Bills, rough notes, and personal clutter stay in the Obsidian vault. This repo h
|
||||
|
||||
```
|
||||
AGENTS.md / agent.md # this entry (agent.md → AGENTS.md)
|
||||
RUNBOOKS.md # runbook spec (six-field model, naming, review rules)
|
||||
inventory/hosts.md # machine index
|
||||
hosts/ # per-host facts
|
||||
runbooks/ # step-by-step ops
|
||||
runbooks/ # step-by-step ops (README.md = index, _template.md = template)
|
||||
docs/ # upstream doc indexes / design notes
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user