Skip to content

DR readiness checklist, compliant example stack and id cross-check (#95) - #173

Open
ms280690 wants to merge 2 commits into
issue-93-dr-checkfrom
issue-95-dr-docs
Open

ms280690 wants to merge 2 commits into
issue-93-dr-checkfrom
issue-95-dr-docs

Conversation

@ms280690

Copy link
Copy Markdown
Collaborator

Closes #95. Stacked on #172 (issue-93-dr-check); retarget to main once that merges.

What

  • docs/dr-checklist.md: the three tiers (A 1 h RTO / 15 min RPO, B 24 h / 24 h, C rebuilt from code), a control, resource and minimum tier for every id in policies/dr (16 checkov ids plus SPK_DR_1–SPK_DR_4), the strict-checks list per tier, the two suppression reasons (Tier C, ... or exception #<issue>, ... from the docs: findings — finding-to-SLA mapping and exception template #81 form) and the manual controls with the evidence to record in the consuming repository's README.
  • docs/examples/dr/aws/main.tf: the compliant pass fixture moved here with a comment per resource naming the checks it satisfies. One copy both documents and tests the pack.
  • tests/dr-check/run.sh: scans every docs/examples/dr/* directory and fails on any finding; diffs the ids in the checklist table against checks.txt and the SPK_DR_* policies so the two cannot drift. The CI dr-check job runs this script and points its composite step at the example.
  • README and CONTRIBUTING link the checklist; CONTRIBUTING gains a short "Writing IaC that passes the DR check" section.

Not in this PR

Testing

  • tests/dr-check/run.sh green locally with checkov 3.3.27: example scans clean, checklist ids match the policies, fail fixture still produces the 11 expected findings and 2 skips.
  • actionlint, zizmor and pre-commit clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NPH9145e4gFo6bmXvMgBoF

ms280690 and others added 2 commits October 11, 2026 20:52
…ss-check

Add docs/dr-checklist.md: the three tiers (A 1 h RTO / 15 min RPO, B 24 h /
24 h, C rebuilt from code), a control and minimum tier for every id in
policies/dr, the strict-checks list per tier, the two suppression reasons
(tier or exception issue) and the manual controls with the evidence to
record. The compliant pass fixture moves to docs/examples/dr/aws/main.tf
with a comment per resource naming the checks it satisfies, so there is one
copy that both documents and tests the pack.

tests/dr-check/run.sh now scans every docs/examples/dr/* directory and fails
on any finding, and diffs the ids in the checklist table against checks.txt
and the SPK_DR_* policies so the two cannot drift. CI's dr-check job points
at the example. README and CONTRIBUTING link the checklist.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPH9145e4gFo6bmXvMgBoF
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPH9145e4gFo6bmXvMgBoF
@ms280690 ms280690 self-assigned this Oct 12, 2026
Comment thread tests/dr-check/run.sh
CHECKLIST="${ROOT}/docs/dr-checklist.md"
[ -f "${CHECKLIST}" ] || fail "${CHECKLIST} missing"
policy_ids="$({ grep -oE '^[A-Z_0-9]+' "${POLICIES}/checks.txt"; grep -hoE 'SPK_DR_[0-9]+' "${POLICIES}"/spk_dr_*.yaml; } | sort -u)"
doc_ids="$(grep -oE '^\| `[A-Z_0-9]+` \|' "${CHECKLIST}" | grep -oE '[A-Z_0-9]+' | sort -u)"
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.

2 participants