GET /boot.ipxe
Serves iPXE boot scripts customized for the requesting machine
The Boot Service is a custom Go microservice that provides UEFI HTTP boot endpoints for bare metal servers and manages boot profiles. It serves boot scripts, streams kernel/initrd assets, and handles boot profile administration (kernel/initrd upload, storage, and lifecycle management).
The Boot Service is deployed on GCP Cloud Run and accessed through a WireGuard VPN tunnel from bare metal servers. It integrates with:
Accessed by bare metal servers during boot process (via WireGuard VPN):
Boot profile management endpoints for administrators:
Standard Cloud Run health endpoints:
Since HP DL360 Gen 9 servers do not support client-side TLS certificates for UEFI HTTP boot, all boot traffic is secured via WireGuard VPN:
All API endpoints follow the RFC 7807 Problem Details standard (see ADR-0007):
{
"type": "https://api.example.com/errors/resource-not-found",
"title": "Resource Not Found",
"status": 404,
"detail": "Machine with MAC address aa:bb:cc:dd:ee:ff not found",
"instance": "/api/v1/boot/aa:bb:cc:dd:ee:ff/profile",
"mac_address": "aa:bb:cc:dd:ee:ff"
}
Error responses use Content-Type: application/problem+json.
200 OK - Successful request201 Created - Resource created successfully204 No Content - Successful deletion400 Bad Request - Invalid request parameters401 Unauthorized - Missing or invalid authentication403 Forbidden - Insufficient permissions404 Not Found - Resource not found409 Conflict - Resource already exists422 Unprocessable Entity - Validation error500 Internal Server Error - Server errorapplication/json - JSON responses (admin API)application/problem+json - RFC 7807 error responsestext/plain - iPXE boot scriptsapplication/octet-stream - Binary boot assets (kernel, initrd)text/cloud-config - Cloud-init configuration filesServes iPXE boot scripts customized for the requesting machine
Streams kernel images from Cloud Storage for the boot process
Streams initial ramdisk images from Cloud Storage for the boot process
Create a new boot profile for a machine
Retrieve the active boot profile for a specific machine
Update the boot profile for a machine
Delete a machine’s boot profile and its associated blobs
Startup probe endpoint for Cloud Run
Liveness probe endpoint for Cloud Run