allod secret and patch: read the repository registry through INVENTORY, not a hard-coded public path #217
Labels
No labels
blocked
bug
decision
duplicate
enhancement
help wanted
invalid
landed?
question
ready-to-merge
stale
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/tools#217
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
On a private deployment,
allod secret rotatefinds the public template's secrets checkout instead of the operator's own, and prints deploy steps against~/work/allod/deploywhen the deployment's composition root is elsewhere, because the repository registry is read from a literal~/work/allod/inventory/scripts/repositories.json. The host already declares where inventory lives (nexus.provisioning.inventoryCheckout, rendered into the operator session asINVENTORY), every nexus script resolves the registry through that variable, andallod secret declarehonors it for its machine-type lookup; only the registry reader incmd/allod/registry.goignores it.Primary goals:
registryCheckoutreads$INVENTORY/scripts/repositories.jsonwhenINVENTORYis set, and falls back to<work>/allod/inventory/scripts/repositories.jsonotherwise, so a public checkout still needs no configuration and a private deployment configures nothing beyond the inventory pointer it already has.secrets,deploy, andinventoryresolution inallod secret, and the registry-id resolution inallod patch, all go through the same reader, so there is no second place to configure.inventoryCheckoutfalls back to the registry for the inventory alias; the reader must not call it back.Observed
On nexus with
INVENTORY=/home/vnprc/work/inventoryset and the private secrets checkout at~/work/secretson a non-default branch,allod secret rotate --dry-run forgejo-https-token-svelte-devrefused with/home/vnprc/work/allod/secrets is on its default branch 'master'. Passing the checkout as the trailing argument works around it;refresh-local-authneeds no workaround because it readsINVENTORY.Scope
In: the registry reader, its tests, and the
docs/allod-secret.mdsentence on where things are found. Out: new per-repo variables (a secrets or deploy path beside the registry would be a second source of truth), and the nexus side, which already renders the pointer.Refs allod/nexus#52