photoncloud-monorepo/docs/por/T056-flashdns-pagination/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

49 lines
1.3 KiB
YAML

id: T056
name: FlashDNS Pagination
goal: Implement pagination for FlashDNS Zone and Record listing APIs
status: planned
priority: P2
owner: peerB
created: 2025-12-12
depends_on: []
blocks: []
context: |
**Findings from T049 Audit:**
- flashdns/crates/flashdns-server/src/zone_service.rs: // TODO: Implement pagination using page_size and page_token
- flashdns/crates/flashdns-server/src/record_service.rs: // TODO: Implement pagination using page_size and page_token
**Strategic Value:**
- Improves API usability for large number of zones/records.
- Prevents API from returning excessively large responses.
acceptance:
- RangeRequest and RangeResponse include page_size, page_token, next_page_token
- Zone and Record listing APIs respect pagination parameters
- Integration tests for pagination on both services
steps:
- step: S1
name: API Definition
done: Update proto definitions for pagination
status: pending
owner: peerB
priority: P1
- step: S2
name: Backend Implementation
done: Implement pagination logic in Zone and Record services
status: pending
owner: peerB
priority: P1
- step: S3
name: Testing
done: Add integration tests for pagination
status: pending
owner: peerB
priority: P1
evidence: []
notes: |
Standard API pattern for list operations.