feat(outline): let the legacy gate answer for the wiki #715
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/outline-legacy-access"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Every service operation on
sean/outlinefaileddeniedat attempt 2 — bothcollaborators, both webhooks, both branch protections. None of them reached
Forgejo.
The gate
This Role exists so the worker can tell an absent legacy rule from a
denied read, and it scopes that read by
resourceNames. The file says itplainly:
outlinewas in no list. Measured from inside the control-plane pod with its ownprojected token:
Only the kinds that actually look up a name
ForgejoRepositoryBindings.legacy_namesandForgejoPushMirrorBindings.legacy_namesboth return
[]for a repository outside the static catalog, soServiceLegacyClientshort-circuits to"absent"with no API call. That iswhy the repository create reached
verifiedwhile everything else was refused —and why neither
forgejorepositoriesnorforgejopushmirrorsneeds an entry.A first draft added both.
tests/binjovi-repository-bootstrap.shrefused it,because that list is tied to the 39 bootstrap records. The guard was right.
So five names, across the three kinds that do perform a lookup:
forgejobranchprotectionsoutline-main,outline-trunkforgejowebhooksbinjovi-ingest-outline,outline-argocd-syncforgejocollaboratorsoutline-binjovi-bot,outline-binjovi-operator-botCounts move with the lists: 66 → 68, 79 → 81, 39 → 41.
Not the push mirror
Its create is refused by codeberg, not by this gate: the mirror credential
authenticates as
seanfarm, and the destination ownersomearais a USER, not anorg — so
POST /user/reposcannot producesomeara/outline. Separate problem,untouched here.
tests/check.shgreen: 108 guards.https://claude.ai/code/session_01JGe4pyhQ36AhgDfPJry4d3
d9c882df1d55a70d8df2