Add DeviceIdentity example, validation + registration endpoint#127
Merged
Conversation
DeviceIdentity had a schema but no example, no validator coverage, and no API operation — the missing peer to NLBootPlan/BootProofRecord in the boot/fleet surface. Adds: - examples/device_identity.json (a registered fleet device) - DeviceIdentity to validate_nlboot_examples.py (make validate covers it) - POST /v2/device-identities (upsertDeviceIdentity) in openapi.yaml, mirroring the nlboot-plans / boot-proof-records operations. make validate passes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DeviceIdentityhad a schema but was the only boot/fleet object with no example, no validator coverage, and no API operation — the missing peer toNLBootPlanandBootProofRecord.Changes
examples/device_identity.json— a registered fleet device (provisional trust, owner, x86_64), validated againstschemas/DeviceIdentity.json.tools/validate_nlboot_examples.py— add theDeviceIdentityschema/example pair somake validatecovers it.openapi.yaml—POST /v2/device-identities(upsertDeviceIdentity), mirroring/v2/nlboot-plansand/v2/boot-proof-records(tags[Boot], idempotent onid).Why
Surfaced while conforming the SourceOS image-builder/fleet to these contracts (socioprophet#395): a device registers (
DeviceIdentity) → gets anNLBootPlan→ reports aBootProofRecord. The first step had no canonical example or endpoint; this closes the loop in the canonical repo.make validate→OK: validate.