You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement HTTP endpoints for streaming large boot assets (kernel and initrd images) from Cloud Storage to bare metal servers. These endpoints are called by servers after receiving the iPXE boot script, and must efficiently stream multi-megabyte files through the WireGuard VPN tunnel.
Performance is critical: target < 100ms latency for initiating streams and efficient throughput for large file downloads (typically 50-150MB per boot).
Acceptance Criteria
Kernel streaming endpoint created in services/boot-server/endpoint/assets.go:
Description
Implement HTTP endpoints for streaming large boot assets (kernel and initrd images) from Cloud Storage to bare metal servers. These endpoints are called by servers after receiving the iPXE boot script, and must efficiently stream multi-megabyte files through the WireGuard VPN tunnel.
Performance is critical: target < 100ms latency for initiating streams and efficient throughput for large file downloads (typically 50-150MB per boot).
Acceptance Criteria
services/boot-server/endpoint/assets.go:GET /assets/{image_id}/kernelGET /kernels/{image_name}.imgGET /assets/{image_id}/initrdGET /initrd/{image_name}.imgRequestBody()method defining OpenAPI request schemaResponses()method defining OpenAPI response schemas (including file streaming)ServeHTTP()method implementing HTTP handler logicgs://boot-images/)io.Copyor chunked reads, avoid loading entire file in memory)Related Issues
Implements ADR-0005 - Network Boot Infrastructure Implementation on Google Cloud
Depends on #605 (API documentation)
Depends on #611 (boot server scaffold)
Related to #612 (boot script endpoint calls these URLs)
Related to #601