diff --git a/cloud.html b/cloud.html index af09550..9fcee36 100644 --- a/cloud.html +++ b/cloud.html @@ -125,7 +125,7 @@

Cloud advanced

The mesh is the base, not an extra

-

WireGuard in Core; the rest decided, 0024

+

Two nodes joined, in testing WireGuard in Core; the rest decided, 0024

+
+ Where it stands, 3 October 2026 +

Phase 5 has started. Two Keel Web nodes in different locations are joined over a WireGuard overlay, declared in each node's instance spec and confirmed through the network safety window. Next is a one-command join, keel mesh invite on a node of the mesh then keel mesh join on the new one (decision 0048, in review), and etcd forms when the third node joins.

+

Open: the successor to HubDNS for nodes behind NAT whose IPv6 prefix changes. A PowerDNS overlay fed from etcd is the likely shape, not yet decided.

@@ -185,7 +189,7 @@

Directory replication

Backup and object storage

Decided, 0037 and 0038; Phase 7

+

Progress. The layers and images that carried shared keys were withdrawn on 2 October, and signed rebuilds replaced them on the testing channel: Keel Core 19.0-8 and Keel Web 19.0-3.

Done when the manifest schema is reviewed with WordPress, Odoo and Mastodon examples, the WordPress test image passes the maintainer's test, and no published layer carries a shared key.

@@ -123,6 +124,7 @@

Phase 1: Keel Core

  • Overlays shipped as .deb from the Keel repository (0036, 0039)
  • Simple and advanced mode screen (0028)
  • +

    Progress. Keel Core is in testing as a signed pre-release, built from Debian and the Keel archive only. First boot asks for the FQDN, runs unattended without hanging, and installs security updates without blocking the boot.

    Done when a Core image boots in simple installation, emits a YAML that re-applies as a no-op, runs no etcd and no active CrowdSec, and upgrades one overlay with apt upgrade on the testing track.

    @@ -157,6 +159,7 @@

    Phase 3: Keel Web

  • Anubis packaged in the Keel repository
  • nginx overlay and the Keel Web recipe; Coraza and Anubis disabled in simple
  • +

    Progress. Keel Web is in testing as a signed pre-release. In simple mode it serves HTTPS with the machine's own certificate; cloud mode adds Coraza and Anubis.

    Done when Keel Web in advanced mode blocks a Core Rule Set test payload, challenges a browser through Anubis, lets exempt crawlers through, and in simple mode is plain Nginx.

    @@ -177,7 +180,7 @@

    Phase 4: runtimes, and WordPress on Keel PHP

    -
  • +
  • @@ -193,6 +196,7 @@

    Phase 5: mesh control plane

  • Syncthing overlay, send-only and receive-only flipped on promotion (0032)
  • Monit summary to etcd, mesh alerting by watch (0040)
  • +

    Progress. Under way. Two Keel Web nodes in different locations are joined over a WireGuard overlay, declared in each node's instance spec. Next: a one-command join, keel mesh invite and keel mesh join (decision 0048, in review), and etcd at the third node.

    Done when a three-container gate installs the second and third node by discovery, fails over automatically, moves the service address, flips the Syncthing folders, fails back after catch-up, and reports each node's Monit summary through etcd.

    @@ -239,6 +243,7 @@

    Open architecture items

    diff --git a/security.html b/security.html index f6414d3..0777e9b 100644 --- a/security.html +++ b/security.html @@ -97,15 +97,16 @@

    On this page

    Keys and identity: none in the image

    -

    An image that carries a private key hands that key to everyone who downloads it. Keel removes them in three places, so that none depends on another being remembered. Built; test layers to be republished

    +

    An image that carries a private key hands that key to everyone who downloads it. Keel removes them in three places, so that none depends on another being remembered. In the current testing images

    -
    - Not done yet -

    The test layers on the mirror were built before the fix, and an attended release replaces them (Phase 0 of the roadmap). Until then the boot unit is what protects a machine made from one. ISO and VM images still ship the build's machine-id (tracker#24).

    +
    + Fixed +

    The test images and layers published before the fix carried keys made at build time. They were withdrawn on 2 October 2026 and replaced by signed rebuilds that pass the scan; the notice on the mirror says how to give a machine made from an old one its own keys. The ISO build now leaves the machine-id empty too (tracker#24).

    @@ -155,6 +156,7 @@

    What each installation mode enables

    An operator can depart from a default on one machine, in the spec. A disabled overlay is still installed, so turning it on is a change to the spec, not a new image.

    +

    In the current testing image, Keel Web in simple mode serves HTTPS out of the box with the machine's own certificate, a Keel placeholder page and Keel error pages. Let's Encrypt is set up from the console, prefilled from the instance spec. In testing

    @@ -202,6 +204,8 @@

    Secrets are references, never values

    Where packages come from

    Every image rebuilds from the project's own archive: a dated, pinned pool, verified by the build before it is read. What Debian 13 does not carry, Keel builds from source and signs in the same repository: Coraza's Nginx connector, Anubis and Garage. Anubis and Garage have packaging in progress in Debian, and Keel coordinates with those efforts rather than packaging in parallel. Decided, 0039

    +

    The testing images are built from Debian and the Keel archive only, with no TurnKey archive. The TurnKey tools Keel still uses, turnkey-ssl, netinfo, conffile, sysinfo, version, tkl-installer and the dhcpcd glue, are Keel forks published there, and turnkey-ssl no longer ships a key. In testing

    +

    The archive, archive.keellinux.org, has two tracks: trixie-testing, where everything lands first, and trixie, the stable track. Promotion to stable is a maintainer's act. Images and the archive are signed, and the keyring is at archive.keellinux.org/keel-archive-keyring.asc.