Templates / Runbook

Runbook PDF template — render it from Markdown

A runbook is read under the worst possible conditions, so it's designed for a stressed operator at 3am: calm teal accents, monospace step headings that anchor the eye, boxed command blocks you can copy without thinking, and numbered procedures that survive being followed half-awake.

Runbook
Before & after

Plain Markdown in. A runbook worth sending out.

Keep runbooks in the repo where they belong — Markdown, reviewed like code. Numbered steps, fenced commands, a decision table for the judgment calls. Render on merge and pin the PDF in your incident channel; when the wiki is part of the outage, the runbook isn't.

runbook.mdMD
# Runbook — Primary Database Failover

**Service** core-db · **Severity when used** SEV-1 · **Owner** Platform

## When to use this

Primary is unreachable for >2 minutes AND automated failover
has not fired. If automation is mid-failover, **wait** — see
step 0.

## Procedure

0. Check automation state first:

```bash
nwctl failover status core-db
```

1. Confirm the primary is actually down (not a monitor flap):

```bash
nwctl db ping core-db --from eu-1,us-1
```

2. Promote the replica:

```bash
nwctl db promote core-db-replica-2 --confirm
```

3. Verify writes on the new primary before announcing:

```bash
nwctl db verify core-db --writes
```

## Decision points

| Situation                     | Action                     |
| ----------------------------- | -------------------------- |
| Replica lag > 30s at promote  | Page DBA on-call, hold     |
| Both replicas unhealthy       | Invoke DR plan, do NOT promote |
| Promote fails twice           | Escalate to vendor support |

## Aftercare

- Announce in #incidents with new primary id
- File the timeline within 24h — template in the postmortem repo
runbook.pdfPDF
Runbook
Render it your way

Three ways to render the runbook.

Dashboard

Paste your Markdown in the editor, pick Runbook, and download the PDF — no code involved.

REST API
curl https://inkrun.dev/api/v1/render \
  -H "Authorization: Bearer sk_..." \
  -H "Accept: application/pdf" \
  -d '{"template": "runbook", "markdown": "# ..."}' \
  --output runbook.pdf
MCP · your agent

Add the Inkrun MCP connector once, then ask your agent:

Convert this incident procedure into a runbook PDF with the runbook template.
FAQ

Runbook template — common questions.

Do command blocks stay copy-pasteable in the PDF?

Yes — code blocks render as selectable monospace text, not images, so commands copy cleanly out of the PDF.

How do we keep rendered runbooks current?

Render in CI whenever the Markdown changes — the PDF pinned in your incident channel then always matches the reviewed source.

Is it printable for a physical ops binder?

Yes — margins and contrast are print-safe, and deterministic rendering means the binder copy matches the digital one.

Related templates

If you render runbooks, you probably ship these too.

Technical Manual
Section heading
Rendered with Inkrun
Technical Manual

Monospace headings for API references and developer docs.

A4Mono headSans body
Explore this template
API Reference
API Reference

Roboto Mono headings and grid tables for endpoint docs.

A4Roboto Mono headInter body
Explore this template
Meeting Minutes
Section heading
Rendered with Inkrun
Meeting Minutes

Neutral slate for crisp, skimmable notes.

LetterSans headSans body
Explore this template
Inkrun © 2026