photoncloud-monorepo/docs/por/T055-fiberlb-features/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

63 lines
1.9 KiB
YAML

id: T055
name: FiberLB Feature Completion
goal: Implement Maglev hashing, L7 load balancing, and BGP integration to meet PROJECT.md Item 7 requirements
status: planned
priority: P1
owner: peerB
created: 2025-12-12
depends_on: [T051]
blocks: [T039]
context: |
**Findings from T049 Audit:**
- "Major Feature Gaps: No Maglev, No BGP, No L7"
- Current implementation is L4 Round-Robin only.
**PROJECT.md Item 7 Requirements:**
- "MaglevによるL4ロードバランシング" (Maglev L4 LB)
- "BGP AnycastによるL2ロードバランシング" (BGP Anycast L2 LB)
- "L7ロードバランシング" (L7 LB)
- "AWS ELBみたいなことをできるようにしたい" (Like AWS ELB)
acceptance:
- Maglev hashing algorithm implemented for stable L4 backend selection
- L7 Load Balancing (HTTP/HTTPS) supported (Path/Host routing)
- BGP advertisement of VIPs (integration with BGP daemon or OVN)
- Configuration support for these new modes
steps:
- step: S1
name: Maglev Hashing
done: Implement Maglev algorithm for L4 pool type
status: pending
owner: peerB
priority: P1
notes: |
- Implement Maglev lookup table generation
- consistent hashing for backend selection
- connection tracking for flow affinity
- step: S2
name: L7 Load Balancing
done: Implement HTTP proxying capabilities
status: pending
owner: peerB
priority: P1
notes: |
- Use `hyper` or `pingora` (if feasible) or `axum`
- Support Host/Path based routing rules in Listener
- TLS termination
- step: S3
name: BGP Integration Research & Spec
done: Design BGP Anycast integration strategy
status: pending
owner: peerA
priority: P1
notes: |
- Research: GoBGP sidecar vs Rust native (e.g. `zettabgp`)
- Decide how to advertise VIPs to the physical network or OVN gateway
evidence: []
notes: |
Extends FiberLB beyond MVP to full feature set.