Repository navigation
Ferrum Foundry v0.5.3
Ferrum Foundry v0.5.3
Foundry v0.5.3 pairs with published Ferrum Edge v0.9.14 and canonical
contracts-edge-0.9.14. Hosted qualification evidence is recorded in the
compatibility record;
the published image digest is listed under Docker below.
This release moves the development and CI pin to published Ferrum Edge
v0.9.14, adopts the existing canonical contract scope at
contracts-edge-0.9.14, shows the data-plane backend egress attestation that
Edge v0.9.14 adds to GET /cluster, and ships the source merged since v0.5.2.
It changes no runtime profile or authority tier.
Qualified pairing
| Foundry | v0.5.3; previous release v0.5.2; image digest and source commit under Docker below |
| Ferrum Edge | Ferrum Edge v0.9.14, ferrumedge/ferrum-edge@sha256:15442f1b1d1758023fe871fe57be50f19caf34bbe6c499a6812f4ffd0da5e3f8, commit 9bd4d5f9caa4ebe8f0ea13e76d8a6e2172eaca7d |
| Edge platform manifests | linux/amd64 sha256:12a8cd56090c0d4511bb3015b240e606b1b87989c644157566b8f6b6f635b3c2; linux/arm64 sha256:19d2886ed8c192cb0daba48ef0a27a0cd0526449dac74bf9438502322aabd9f2 |
| Upstream distribution evidence | Edge release run 37585311307, all 20 jobs successful; published release 405571232 at 2026-10-07 08:59:56 UTC |
| Canonical contracts | contracts-edge-0.9.14, commit ddbdd845733b7046c4393ac951011dafb774db33, release 406650065 at 2026-10-08 09:22:24 UTC |
| Foundry qualification | Hosted run, attempt, source and tested merge recorded in the qualification object of docs/compatibility.json |
| Qualified support | Existing SQLite database mode, writable and read-only, trusted-proxy starter, viewer/operator/admin, Chromium, Node 22/24 gates and amd64/arm64 Container Gates |
The unchanged Edge contracts retain ferrum-edge#5661 resource ETag/If-Match
handling and ferrum-edge#5726 proxy-scoped plugin configuration filtering.
The default Docker Hub image's ferrum-edge and ferrum-cni binaries match
the published release assets on both architectures. Binary hashes, OpenAPI
identity and registry verification limits are recorded in
compatibility.
Anonymous GHCR access and an Edge OCI revision label are not claimed.
Changes since v0.5.2
- Data-plane backend egress attestation on the Cluster page. On a control
plane, Edge v0.9.14 reports each data plane's self-reported backend egress
policy onGET /cluster(backend_egress_policy_attestation,
backend_egress_policy) and a cluster-wide
data_plane_backend_egress_policyaggregate (ferrum-edge#6020). Each data
plane row shows its reported mode, whether it is public-only, or that its
policy is unknown. The control-plane card summarizes reporting and unknown
counts, the weakest reported mode and whether every connected data plane is
public-only. The page states that these are self-reports, not host
attestation, and that a disconnected data plane serving cached configuration
is not listed. A response without the fields renders as before. Foundry
still does not readGET /backend-egress-policy, whose new optional
data_plane_attestationobject is additive withinschema_version: 2. - One row per Subscribe stream. Edge v0.9.14 lists one data-plane entry per
live ConfigSync Subscribe stream, so several entries can share anode_id.
The Cluster page now keys each stream separately instead of bynode_id, so
no stream is collapsed or hidden. - Edge v0.9.14 deployment mutation outcomes. A conditional deployment
mutation's store failure now reportsdurable: "not_started"before the
mutation transaction anddurable: "not_committed"inside its rolled-back
transaction; only an unconfirmed commit still reports"unknown"
(ferrum-edge#6021). Foundry issues no deployment mutation, and the
browser-facing BFF keeps refusingGET /deployment-snapshotfor every method
and role with403 FERRUM_BFF_CREDENTIAL_READ_DENIEDbefore capacity
admission, JWT signing or upstream fetch. - Security pin (#558). The development-only transitive
shell-quote
dependency is pinned to 1.12.0 through an npmoverridesentry, fixing
GHSA-pqg4-j6r4-53mv. No runtime dependency changes. - Licensing (#559). Ferrum Edge LLC is named as the copyright holder and
commercial licensor inLICENSEandLICENSE-COMMERCIAL.md. - Pins and contracts. Starter, development command and current record use
the same published Edge digest. Package and lockfile root versions are 0.5.3.
The same 18 contract files are taken byte-exact from canonical commit
ddbdd845733b7046c4393ac951011dafb774db33after main Validate contracts run
37755967635succeeded. Only the vocabularies' Edge provenance and OpenAPI
digest and the complete canonical invalid expectations change; the latter
adds the backend-egress-policy data-plane attestation negatives without
Foundry adopting those schemas. All 82 plugin entries, provisioning values,
manifest schema and all 12 fixtures are unchanged. Shared status remains
EXISTING/implemented at Alloy owner 81cbb; Alloy stays unpublished. - Plugin sensitivity and guided schemas. Edge's registered plugin set and
PluginConfigBaseare unchanged, and its projection source is
byte-identical to v0.9.13, so the sensitivity table is unchanged and its
provenance names the v0.9.14 source. All five guided schema blocks are
byte-identical at v0.9.14, so every pinned hash, descriptor, template,
secret-handling rule and unmodelled-value behavior is unchanged.
Schema provenance
records the review.
Known limits
This release adds no backend egress policy reader, egress publication
decision, conditional backup or restore, native deployment workflow, recovery
journal, capability or browser retention guarantee. The Cluster page's egress
attestation reflects only the control plane Foundry is connected to and only
data planes connected when it was read. #547 account-level immutability
decisions remain pending.
No advisory closure or unrelated upstream approval is implied. Existing
best-effort/unqualified modes (including cp, where the new Cluster page
fields appear), eBPF variants, real-gateway scale limits and browser limits
remain unchanged.
Publication and deployment
Deploy Foundry v0.5.3 against the paired Ferrum Edge v0.9.14 image,
ferrumedge/ferrum-edge@sha256:15442f1b1d1758023fe871fe57be50f19caf34bbe6c499a6812f4ffd0da5e3f8.
In production, pin the released Foundry multi-architecture index digest listed
under Docker below rather than a mutable tag. Edge v0.9.14 raises the
ConfigSync protocol revision to 3, so its control and data planes must run the
same build. The demo bootstrap's :main remains the development channel.
Versioned v0.5.2, v0.5.1, v0.5.0 and v0.4.0 notes and records remain
byte-for-byte unchanged. Their source, image and CI evidence are historical;
published version tags must never move.
Docker
docker pull ferrumedge/ferrum-foundry:v0.5.3
docker pull ghcr.io/ferrum-edge/ferrum-foundry:v0.5.3Both tags name the multi-architecture index sha256:1edef8251f7786f10ebb67dd333cf9e75f7bf54f7af17ad4452227df3ac9a742, built from
commit 74a7be374f5c6fcf1284737907e43d8808bb95c6. Release version tags are never reassigned; pin
the digest for byte-identical deployments:
docker pull ferrumedge/ferrum-foundry@sha256:1edef8251f7786f10ebb67dd333cf9e75f7bf54f7af17ad4452227df3ac9a742Production quick start
Run Foundry only behind an identity-aware reverse proxy that removes
client-supplied identity headers and injects the trusted proxy proof:
export FERRUM_JWT_SECRET=$(openssl rand -hex 32)
export FERRUM_TRUSTED_PROXY_SECRET=$(openssl rand -hex 32)
docker run \
-e FERRUM_ADMIN_URL=https://your-gateway:9443 \
-e FERRUM_JWT_SECRET \
-e FERRUM_AUTH_MODE=trusted-proxy \
-e FERRUM_TRUSTED_PROXY_SECRET \
-p 127.0.0.1:8080:8080 \
ferrumedge/ferrum-foundry:v0.5.3Configure the proxy to send X-Ferrum-Auth-Secret,
X-Forwarded-User, X-Ferrum-Role, and exact
X-Ferrum-Namespaces grants. See
Production authentication.