Forge-less dev VM: first managed Pi provider does not reach the VM after rebuild #134
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/archetypes#134
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 deployment forked from the public template with no forge (dev VM
forgeAccess = false, every repo host-provided), the first managed Pi provider does not reach the VM. Steps, all on the hypervisor:pi-provider add nullsink --credential nullsink --url https://nullsink.is/v1 --target allod-dev --model glm-5-3-flashaftermkdir -p secrets/secrets/pi-credentials(allod/nexus#80). It writespi-providers.jsonin the profiles clone,pi-credentials.jsonandsecrets/pi-credentials/nullsink/default.agein the secrets clone.nix flake update --refresh profiles secretsin the deploy clone, whose three data inputs aregit+file://URLs at those clones; commit the lock.rebuild-vm allod-dev, which switches the VM and runsverify-vm.Inside the VM afterwards,
pireports no models available andpi auth check --provider nullsinksaysnot_ready. Observed on an earlier attempt, before the lock was refreshed: no~/.pi/agent/models.json(the operator had removed a hand-written one), no/run/agenixdirectory at all, and the home-manager activation journal showsActivating piProviderLifecyclewith no error line after it. The lock at that point still pinned the pre-add secrets commit, which explains that attempt; the symptom persists after the refresh, which is the open question.To establish, in the VM: whether
/run/agenix/pi-provider-token/nullsink/defaultexists, what~/.local/state/allod/pi-provider-ownership.jsonand~/.config/pi/credentialshold, what the reconciler logged inhome-manager-<user>.servicefor this activation, and whether the VM's composed configuration declares theage.secretsentry at all (nix evalof the VM'sconfig.age.secretsfrom the deploy clone on the host). On the host: thatflake.lockpins the secrets commit that carries the ciphertext, and thatnix eval <deploy>#nixosConfigurations.allod-dev.config.home-manager.users.<user>...sees the provider.Found on the public install walk, running the managed provider path forge-less for the first time.
Cause found by an agent run inside the VM: the profiles clone was never committed after
pi-provider add, andnix flake updatewrites nothing while agit+fileinput is dirty yet exits 0, so the VM was rebuilt with no provider declared. After committing both clones and re-locking with--refresh, the rebuild delivered the credential:pi auth checkready, a request answered, no key file in the VM. Not a framework defect. The two silent no-ops are allod/nexus#82 (the tool prints the commit and re-lock lines and the check) and allod/deploy#9 (the script verifies its re-lock).