Template · DevOps

DevOps: Templates

Four working templates: the remediation allowlist entry, the incident record, the capacity projection and the expiry calendar.

Markdown. No sign-up, no email.

1. Remediation allowlist entry#

One per automated action. An action not on this list does not run without a person.

FieldEntry
Action[Specifically. "Restart the service" is not specific; "restart worker-api on failed health check" is]
Trigger[The exact condition]
Target[Which systems. Never "any"]
Bounded[What it cannot touch. If this is hard to write, the action is not bounded]
Reversible[How it is undone, and when that undo was last actually run]
Rate limit[Attempts before it stops and escalates. Default: 2 per hour]
Logged to
Approved by[A named person]
Date added
Last time it helped[Reviewed quarterly. If nobody can name one, remove it]

2. Incident record#

FieldEntry
Incident
Severity[SEV1 / 2 / 3. When unsure, higher]
Fault began[Not when the alert fired. The gap between these two is the detection time]
Detected at
Detected by[Monitoring / customer / internal. "Customer" is its own finding]
Restored at
Incident lead
Automated remediation frozen?[Yes, for the affected system. If no, say why]
Root cause[The cause, not the symptom]
Change responsible[If any]
What would have detected this sooner?[The single most valuable row. Usually the only real output]
Action taken to make that true[With an owner and a date, or the answer above was theatre]

3. Capacity projection#

Monthly, one row per resource that can run out.

ResourceCurrentTrendRuns outOwnerAction
[Disk, memory, connections, API quota, licence seats][per week][a date]

The output is a date. A percentage is a status; a date is a deadline, and only one of the two gets acted on.

4. Expiry calendar#

Monthly, looking 90 days ahead.

ItemTypeExpiresOwnerRenewed
[Certificate / domain / API key / licence / signing key][A name]

Expiry is the most predictable outage available and still one of the most common, because it belongs to nobody until the morning it belongs to everybody. Every row needs a name.

Using these together#

The charter sets out what operations owns, the SOPs say when each is produced, the KPIs define what the incident record feeds, and the workflows name who receives each output. An allowlist entry with a blank reversibility row is the one to reject.

Back to DevOps

Get new material when it is published

Everything here is free and stays free. There is no form in front of any document. If you want to know when new guides and templates go up, leave an email.

Roughly monthly. Unsubscribe in one click. We do not share your address, and we will not call you.