feat: add host-backed entropy device support and update kernel configuration

This commit is contained in:
2026-09-23 07:00:22 +05:30
parent eb6119c797
commit dca3cbde2f
9 changed files with 139 additions and 10 deletions
+4
View File
@@ -35,12 +35,15 @@ class FirecrackerClient:
boot = config["boot-source"]
drives = config["drives"]
interfaces = config["network-interfaces"]
entropy = config.get("entropy")
if not isinstance(machine, Mapping) or not isinstance(boot, Mapping):
raise FirecrackerError("invalid Firecracker configuration")
if not isinstance(drives, list) or not drives:
raise FirecrackerError("Firecracker configuration has no root drive")
if not isinstance(interfaces, list) or not interfaces:
raise FirecrackerError("Firecracker configuration has no network interface")
if not isinstance(entropy, Mapping):
raise FirecrackerError("Firecracker configuration has no valid entropy device")
self._request(
"PUT",
@@ -54,6 +57,7 @@ class FirecrackerClient:
self._request("PUT", "/boot-source", boot)
self._request("PUT", "/drives/rootfs", drives[0])
self._request("PUT", "/network-interfaces/eth0", interfaces[0])
self._request("PUT", "/entropy", entropy)
self._request("PUT", "/actions", {"action_type": "InstanceStart"})
def _request(self, method: str, path: str, body: object) -> None: