Port pi-provider from Bash to Go #28
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
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/nexus#28
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?
Replace the large Bash implementation of
pi-providerwith a Go command while keeping its behavior and security boundaries unchanged.Primary goals:
pi-providercommand name.Current state
scripts/pi-provideris an 820-line Bash program that now owns parsing, JSON updates, filesystem safety, transaction journaling, and recovery.tests/pi-provider.shprovides the existing 82-assertion black-box lifecycle witness, andflake.nixinstalls and checks the command through the provisioning package.The port should add focused Go tests for structured logic while retaining the existing end-to-end behavior check as the compatibility gate. The provisioning contract must still build an executable
bin/pi-providerwith the same help and lifecycle commands.Scope
This issue covers the Nexus
pi-providercommand, its Go build/package wiring, and its tests. It does not redesign the profiles/secrets data contracts, change private deployment data, or port the separate VM-side Pi reconciliation helper in archetypes.Follow-up to allod/strategy#34.