feat(assets): finish PMS-71 story (types, assets, relationships, CIs, credentials, audit) #30
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/assets-story-pms-71"
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?
Closes #PMS-71
Batches PMS-72..78: - PMS-72 scaffold + router wire - PMS-73 asset types CRUD (admin writes) - PMS-74 assets CRUD; create + update record an entry in `asset_audit_log` (`status_changed` when status differs from prior) - PMS-75 asset relationships (`/assets/:id/relationships`, `/asset-relationships/:id`) - PMS-76 configuration items - per-asset; `value_encrypted` AES-256-GCM at rest with the host `ENCRYPTION_KEY` - PMS-77 credential vault - per-asset; username/password/notes all encrypted at rest. Every list call writes a `synced` audit row tagged `{"event":"credential_read"}` for SOC2-style read auditing. - PMS-78 `GET /api/v1/assets/:id/audit-log` capped at 500 rows; admin-only. The encryption key plumbing reuses `BillingService::with_encryption_key`'s pattern. `AssetsService::new` defaults to a zero key for unit tests; the router constructs it via `with_encryption_key` in a follow-up commit once the host-config plumbing lands across stacked PRs. #PMS-72 State Done #PMS-73 State Done #PMS-74 State Done #PMS-75 State Done #PMS-76 State Done #PMS-77 State Done #PMS-78 State DonePull request closed