docs: the deployment as it actually is — loopback, midgard, and a label that does not exist #19
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Meta/Campaign
Meta/Epic
Meta/Session
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Curated
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Scope/Campaign
Status/Abandoned
Status/Blocked
Status/Conflicted
Status/In Progress
Status/In Review
Status/Need Grooming
Status/Need More Info
Status/Ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Ting/Jostoph!19
Loading…
Reference in a new issue
No description provided.
Delete branch "tango/deployment-truths"
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?
Four corrections to what this repository says about its own deployment, all found while writing the deployment design note for lar.ad/flake-ops#75 against the live forge. Documentation and option descriptions only.
In scope
services.jostoph.forgejo.url. The estate's Forgejo setswebhook.ALLOWED_HOST_LIST = "loopback"— a line inlar.ad/flake-ops'smodules/impls/forge/forgejo.nixwritten naming this steward before it existed — so the steward runs on the forge's own host or its hook silently never fires. The examples showedhttps://jostoph.ting.example/webhook/forgejo, which is the one shape that cannot work. They now showhttp://127.0.0.1:8420/webhook/forgejo, with the two things that look wrong about it explained: no reverse proxy, because/v1/auditand/v1/evaluateride the same listener and anything fronting the hook fronts them too unless it filters by path; andhttp, because theX-Forgejo-Signatureauthenticates the delivery rather than the transport, which never leaves the host.flake.lockcommitted yet for that reason". The lock is committed and pins the publicmidgardmirror — whichflake.nixalready explains at length on the input itself. This was the one factual error I found in the repository, and it is the sentence that would stop a reader from writing an anonymous input. The netrc recipe stays, scoped to what it is still for: working against the private canonical.curatedlabel does not exist. Read on 2026-08-10, theTingorg carries no labels at all — none at org level, none on any repository. Socurated_labelnever matches and the merge rule can only ever take itssquashbranch, silently and forever, because a label that was never created is indistinguishable from one the author chose to withhold. Recorded as a note beside the rule.lar.adalready carries the equivalent asReviewed/Curated("preserve the commit line (rebase/ff); absence means squash. Set by approver."), so if Ting adopts that naming the parameter is wrong as well as unmatched.nix/module.nixstill described the pre-ruling world.forgejo.urltold the reader forge-side conformance is the steward's, "reached at birth throughjust forgejoand reconciled after". The README already records the owner's ruling of 2026-08-05 against that; the module was the last place still saying otherwise, and an option description is what someone reads before going to look for a recipe that is not there.secret_filecomment said "the same file", which is the one thing it cannot be — it is read on the machine that reconciles, andwebhookSecretFileon the machine that verifies; and the secret's provenance now records the owner's 2026-08-10 ruling that OpenBao mints it, which makes this hook the estate's first managed secret.Out of scope
curated_labelis flagged, not renamed — which name Ting adopts is Ting's call, and it travels with whoever creates the label.pipeline_labelson theforge-conformancetrait inlar.ad/flake-ops, not here.examplechanged innix/module.nix.Tingis a one-branch namespace andforge-conformanceassumes two; that is flake-ops#75's problem, not this repository's.Boundary
Two files,
README.mdandnix/module.nix. No Rust, no policy parameters, nonix/forgejo.nix, no build inputs, no lock. Nothing that can change what the steward decides.Acceptance
nix flake checkstill passes — see the caveat below.README.mdandnix/module.nix.Caveat, stated plainly
I did not run
nix flake check. These commits were made through the forge API from a workspace that has no checkout of this repository, so nothing here was evaluated. The change is confined to description strings, comments, and oneexample, none of which participate in evaluation beyond being parsed — but that is an argument, not a test, and the check is the thing that settles it.Authored as
agent.odin.