photoncloud-monorepo/docs/por/T054-plasmavmc-ops/task.yaml
centra d2149b6249 fix(lightningstor): Fix SigV4 canonicalization for AWS S3 auth
- Replace form_urlencoded with RFC 3986 compliant URI encoding
- Implement aws_uri_encode() matching AWS SigV4 spec exactly
- Unreserved chars (A-Z,a-z,0-9,-,_,.,~) not encoded
- All other chars percent-encoded with uppercase hex
- Preserve slashes in paths, encode in query params
- Normalize empty paths to '/' per AWS spec
- Fix test expectations (body hash, HMAC values)
- Add comprehensive SigV4 signature determinism test

This fixes the canonicalization mismatch that caused signature
validation failures in T047. Auth can now be enabled for production.

Refs: T058.S1
2025-12-12 06:23:46 +09:00

50 lines
1.4 KiB
YAML

id: T054
name: PlasmaVMC Operations & Resilience
goal: Implement missing VM lifecycle operations (Update, Reset, Hotplug) and ChainFire state watch
status: planned
priority: P1
owner: peerB
created: 2025-12-12
depends_on: []
blocks: [T039]
context: |
**Findings from T049 Audit:**
- `vm_service.rs` TODOs: Update, Reset, Disk/NIC attachment/detachment.
- "Implement VM watch via ChainFire watch" is pending.
**Strategic Value:**
- Required for production operations (resizing VMs, recovering stuck VMs, attaching volumes).
- ChainFire watch is critical for multi-node state synchronization (HA).
acceptance:
- VM Update (CPU/RAM) changes persisted and applied (next boot or live if supported)
- VM Reset (Hard/Soft) functional
- Disk/NIC hot-plug/unplug functional via QMP
- PlasmaVMC servers watch ChainFire for state changes (external coordination)
steps:
- step: S1
name: VM Lifecycle Ops
done: Implement Update and Reset APIs
status: pending
owner: peerB
priority: P1
- step: S2
name: Hotplug Support
done: Implement Attach/Detach APIs for Disk/NIC
status: pending
owner: peerB
priority: P1
- step: S3
name: ChainFire Watch
done: Implement state watcher for external events
status: pending
owner: peerB
priority: P1
evidence: []
notes: |
Depends on QMP capability of the underlying hypervisor (KVM/QEMU).