Protect default branches of unprotected active repos #60

Merged
benvin merged 1 commits from benvin/protect-unprotected-repos into main 2026-08-08 23:17:45 +10:00
Owner

Why:

  • An audit for the new unkin-agent bot (org-wide write) found repos with no branch_protection at all, so the agent (or anyone with write) could push straight to their default branch.
  • The rest of the estate protects default branches; these repos were the gap.

How:

  • Add enable_push: false + approval_whitelist_teams: Owners on each active repo's default branch, matching the estate's most common convention (PR-only; Owners can still open and approve).
  • Omit status checks as these repos run no CI, so a required context would permanently block merges.
  • Leave the 8 archived repos untouched: they are read-only, nothing can push to them, and branch-protection creation on archived repos is rejected.
Why: - An audit for the new unkin-agent bot (org-wide write) found repos with no branch_protection at all, so the agent (or anyone with write) could push straight to their default branch. - The rest of the estate protects default branches; these repos were the gap. How: - Add enable_push: false + approval_whitelist_teams: Owners on each active repo's default branch, matching the estate's most common convention (PR-only; Owners can still open and approve). - Omit status checks as these repos run no CI, so a required context would permanently block merges. - Leave the 8 archived repos untouched: they are read-only, nothing can push to them, and branch-protection creation on archived repos is rejected.
unkinben added 1 commit 2026-08-08 22:59:17 +10:00
Protect default branches of unprotected active repos
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
f720133314
Why:
- An audit for the new unkin-agent bot (org-wide write) found repos with
  no branch_protection at all, so the agent (or anyone with write) could
  push straight to their default branch.
- The rest of the estate protects default branches; these repos were the gap.

How:
- Add enable_push: false + approval_whitelist_teams: Owners on each active
  repo's default branch, matching the estate's most common convention
  (PR-only; Owners can still open and approve).
- Omit status checks on these repos as none run CI, so a required context
  would permanently block merges.
- Leave the 8 archived repos untouched: they are read-only, nothing can push
  to them, and branch-protection creation on archived repos is rejected.
benvin merged commit 7c4defde29 into main 2026-08-08 23:17:45 +10:00
benvin deleted branch benvin/protect-unprotected-repos 2026-08-08 23:17:45 +10:00
Sign in to join this conversation.