-
Notifications
You must be signed in to change notification settings - Fork 0
Limitations
CYPT71 edited this page Aug 21, 2026
·
2 revisions
Mirrored from
docs/limitations.mdin the repository, 2026-08-05. The repo copy is authoritative for anything CI-cited (exact commands, workflow files, versions) — this page exists so the wiki is self-contained, but re-sync it from the source if the two drift.
-
"binary is not executable":
chmod 0755 service, then rebuild withCGO_ENABLED=0. -
Unsupported architecture: pass
-arch amd64or-arch arm64and build the binary for the same target. - Output already exists: select a new output directory; it is intentionally never overwritten.
-
Registry publication fails: use the workflow artifact; confirm
repository Actions permissions allow
packages:writebefore retrying.
This corrects an older claim (until 2026-08-04, the README said this project was "not a registry client, image signer, SBOM generator" — true in v1, no longer true since v3's native supply-chain path shipped). Current, verified limitations instead:
-
verify-releasedoesn't fetch a published image; it verifies local artifacts.internal/registry.ClientgainedGetManifest/GetBlobon 2026-08-04, but nothing in the shipped CLI calls them yet — there is noplatform-factory pull. See the maturity matrix. -
Does not prove an executable is static. Use the static build
command in the README, or
-extra-filefor a binary that genuinely can't be statically linked. - Not a Dockerfile interpreter. There is no Dockerfile parsing or build-instruction execution; inputs are an already-built executable plus explicit extra files.
-
The native VMM host process's self-sandboxing is partial. KVM
guest isolation is real and unaffected. As of 2026-08-05,
internal/hypervisor/sandboxis wired intocmd/platform-factory-runtime's startup path:no_new_privsapplies unconditionally, and PID/IPC/UTS namespace isolation, cgroup limits, and capability bounding-set dropping apply whenever the host has the privilege they need, probe-gated so a host without it still launches guests rather than failing closed. Mount and network namespace isolation, full BPF seccomp filtering, and acapset(2)-based drop of the process's already-effective capabilities remain unimplemented. See the Threat Model's T22 and the maturity matrix. - MicroVM on Linux/arm64 and Windows (WHPX) are untested. Only Linux/amd64 (KVM) and macOS/arm64 (HVF) boot a real guest in CI. See the compatibility matrix.
-
Windows and macOS are not supported image targets. They are
supported hosts for running the
platform-factoryCLI itself (ci-reproducibility.ymltests all three), but the stable builder only produces Linuxamd64/arm64images. -
Per-tenant quota/priority/fairness is opt-in. A control-plane
deployment that doesn't explicitly enable
internal/quotagets none of its enforcement. - Will not make you coffee.
© 2026 CYPT71
platform-factory
Core
- Architecture and OCI Layout
- Next-generation Architecture
- Architecture Decision Records
- Security Model
- Threat Model and Residual Risks
- Independent Security Review Process
- CLI Reference
- Project Configuration and Dependency Freezing
- mTLS Configuration
- Meine Graal
CI/CD
Running an image
- Production Adoption Guide
- Dockerfile Consumer
- Local Dev (Podman/macOS)
- MicroVM Support
- MicroVM Administration
- Large-image streaming
Operating