feat: add development device enrollment client #63
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
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
kaiba/kaiba-provisioning!63
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "codex/device-enrollment-client"
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?
The enrollment rehearsal currently supplies device keys from its test harness. Add a standalone development client that creates and retains its own P-256 management key, accepts bound bootstrap challenges, installs an issuer-checked certificate, and proves the installed key after a configured boot or process restart.
Private state uses owner-only files, a directory lock and atomic durable updates. Ambiguous proof replies require an authenticated status read before reconciliation or one explicit retry of the saved proof. Access checks always query current fleet authorization. Native packaging and an ARM CI artifact let the existing management system run the client without changing or signing a boot image.
This targets the isolated service in fleet PR #1, with the actual-client integration in fleet PR #2. The station UI remains read-only; automatic station relay, protected-storage deployment and actual device execution remain follow-up work. The client reports production enrollment and hardware qualification as false. Shared contracts, production admission rules and hardware configuration are unchanged.
Validation:
GOFLAGS=-buildvcs=falsebecause an unrelated/tmp/.gitdirectory confuses Go's worktree metadata detection; test behavior is unchanged.Only software, synthetic tests and documentation are published. No device action or private hardware capture is included.