2026-06-28 - 2026-09-28

Overview

121 Active Pull Requests
0 Active Issues
Excluding merges, 1 author has pushed 27 commits to main and 268 commits to all branches. On main, 126 files have changed and there have been 3758 additions and 255 deletions.

120 Pull requests merged by 2 users

Merged #124 The forge announces every merge, whoever made it 2026-09-28 01:03:49 +00:00

Merged #123 nats declares the certificate directory it mounts 2026-09-27 22:31:21 +00:00

Merged #122 nats serves the mesh's existing broker certificate 2026-09-27 22:07:29 +00:00

Merged #121 nats declares the upstream image it is built from 2026-09-27 21:40:50 +00:00

Merged #120 lavinmq, amqp-ping and amqp-email-forwarder leave the catalogue 2026-09-27 21:30:20 +00:00

Merged #119 lavinmq holds mesh-broker again, now the check reads the store 2026-09-27 20:24:22 +00:00

Merged #118 Undo: claiming mesh-broker made lavinmq unbuildable 2026-09-27 19:53:49 +00:00

Merged #117 lavinmq keeps mesh-broker until something else can take it 2026-09-27 19:17:45 +00:00

Merged #116 The Go base has to be 1.26 for what compiles the controller's code 2026-09-27 19:00:39 +00:00

Merged #115 The nats module, and every manifest's event names made local 2026-09-27 17:31:04 +00:00

Merged #113 fail2ban never bans a tunnel peer: ignoreip names the mesh range 2026-09-27 14:55:55 +00:00

Merged #112 Rename seat claims to mesh-*/node-*; retire verdaccio (ADR 0121) 2026-09-27 12:32:29 +00:00

Merged #111 dnsmasq owns its resolver format: node-zones is a template (ADR 0120) 2026-09-26 23:51:29 +00:00

Merged #110 The uplink's managers are modules: networkmanager, systemd-networkd, dhcpcd (hq ADR 0117) 2026-09-26 23:00:30 +00:00

Merged #109 dnsmasq: the operator's own names have a home the mesh never rewrites 2026-09-26 20:43:53 +00:00

Merged #108 mssql: its data is placed — the last /services placement retires 2026-09-26 18:36:16 +00:00

Merged #107 sshd: the operator's door is a module 2026-09-26 18:15:09 +00:00

Merged #106 dnsmasq: the runtime's DNS is written into daemon.json, never over it 2026-09-26 18:12:20 +00:00

Merged #105 mailu: the smtp provision serves the name its certificate answers to 2026-09-26 17:27:07 +00:00

Merged #104 Six modules name no /var/lib: the root is a place, the maps reference it 2026-09-26 16:21:01 +00:00

Merged #103 mailu: seventeen data directories are placed, not stated 2026-09-26 16:07:24 +00:00

Merged #102 nextcloud: it lives under its own name, and html is placed 2026-09-26 16:05:41 +00:00

Merged #101 gitea: its data and grants are placed, not stated 2026-09-26 16:04:30 +00:00

Merged #100 mongodb: its data directory is placed, not stated 2026-09-26 16:03:36 +00:00

Merged #99 portainer: its data directory is placed, not stated 2026-09-26 16:02:42 +00:00

Merged #98 only-office: its directories are placed, not stated 2026-09-26 16:01:44 +00:00

Merged #97 Module data lives in /var/lib, now that nothing is mid-cutover 2026-09-26 14:47:37 +00:00

Merged #96 A bucket is the one the mesh derives, and the photos module named another 2026-09-26 14:46:30 +00:00

Merged #95 lavinmq: the broker TLS directory is the operator's, read by whoever needs it 2026-09-26 14:12:45 +00:00

Merged #94 route-adapter: write a body limit as the predecessor's buffering middleware 2026-09-26 14:02:04 +00:00

Merged #59 nextcloud: real mesh module, MariaDB→PostgreSQL, S3 via _FILE secrets 2026-09-26 13:06:32 +00:00

Merged #58 minio: the real 4-node/8-drive erasure-coded cluster, both public routes, verified live on novox 2026-09-26 13:05:58 +00:00

Merged #55 postgres: declare the data directory's real owner; keycloak: use the port template 2026-09-26 13:05:10 +00:00

Merged #93 mailu: one WEBMAIL_ADDRESS, the mesh's container name 2026-09-26 13:04:45 +00:00

Merged #69 The npm registry is a seat gitea holds, and gitea holds the git seat a build's source can live on 2026-09-26 12:31:11 +00:00

Merged #92 mailu certifies itself, take two — the fall-through is now a behaviour 2026-09-26 12:27:57 +00:00

Merged #91 mailu: back to the copied cert — the edge's fall-through is a belief, not a behaviour 2026-09-26 12:19:18 +00:00

Merged #90 mailu certifies itself: the edge passes unknown ACME tokens through now 2026-09-26 12:15:24 +00:00

Merged #89 portainer: serve its public name, hold its real data, run the image the machine runs 2026-09-26 01:46:25 +00:00

Merged #88 only-office: pin the machine side of its port 2026-09-26 01:44:59 +00:00

Merged #87 invoicing: MONGO_DB says the granted database's name 2026-09-26 01:34:09 +00:00

Merged #86 invoicing: the photos lessons, applied before its window 2026-09-26 01:15:38 +00:00

Merged #85 mongodb: the server container is mongodb-server, not the predecessor's name 2026-09-26 00:37:51 +00:00

Merged #84 Every credential provider says whether it still holds a consumer (hq issue 120) 2026-09-25 23:31:29 +00:00

Merged #83 mailu: the queue is root's and traversable, which is postfix's own convention 2026-09-25 22:17:55 +00:00

Merged #82 mailu: cert flavor while the predecessor's proxy owns the challenge path 2026-09-25 22:11:26 +00:00

Merged #81 automx: the seed writes the schema 2021.6 reads 2026-09-25 22:06:36 +00:00

Merged #80 automx: the schema its seed writes belongs to one automx2, so that one is named 2026-09-25 21:59:54 +00:00

Merged #79 mailu: the containers are named by the vocabulary 2024.06 reads 2026-09-25 21:56:41 +00:00

Merged #78 mailu: every container asks the module's own resolver, pinned where they can find it 2026-09-25 21:49:31 +00:00

Merged #77 mailu: the admin API answers on 8080 since 2024.06 2026-09-25 21:45:11 +00:00

Merged #76 automx: the launcher's wrapper is written by the build that ships it 2026-09-25 21:44:47 +00:00

Merged #75 mailu: pin exactly what phase 1 verified 2026-09-25 21:34:26 +00:00

Merged #74 mailu: 2024.06 closes 110/143/587 by default; parity says open them 2026-09-25 20:56:40 +00:00

Merged #73 mailu: the manifest matches the machine, provides smtp, and carries automx 2026-09-25 20:40:08 +00:00

Merged #72 gitea: the package team may read code, and its units are reconciled 2026-09-25 19:59:26 +00:00

Merged #70 route-proxy binds the mesh's own authority for internal names; gitea's internal-API refusal joins its route 2026-09-25 19:55:33 +00:00

Merged #71 gitea: a consumer's user is actually created, and a failed create says why 2026-09-25 19:54:08 +00:00

Merged #68 minio: declare the route contribution it has always needed, scoped from PR #58 2026-09-25 16:19:40 +00:00

Merged #67 route-proxy: the trust step skips the fetch when the CA names no roots to get 2026-09-25 16:15:09 +00:00

Merged #66 route-proxy: the server container resolves its own built artifact 2026-09-25 16:09:19 +00:00

Merged #65 public-acme: the roots field is named roots, not root 2026-09-25 16:08:39 +00:00

Merged #64 route-proxy: declare the build context its own Dockerfile has always needed 2026-09-25 15:58:20 +00:00

Merged #63 builder is a real built module now, not handed over 2026-09-25 15:54:58 +00:00

Merged #62 minio: install mc in the runtime image, declare its region 2026-09-25 15:25:19 +00:00

Merged #61 builder: consume package-registry as a real mesh grant, not a hand-faked one 2026-09-25 15:25:05 +00:00

Merged #60 gitea: listens its real internal ssh port (22), not 2222 2026-09-25 15:24:50 +00:00

Merged #57 minio: repin to pgsty's fork, build the runtime sidecar, move data off HAL's live drive 2026-09-24 16:15:09 +00:00

Merged #54 4 modules: persistent data is a directory bind, never a named volume 2026-09-24 14:24:15 +00:00

Merged #53 11 modules: a container's ports say the software's port, not the machine's 2026-09-24 13:53:34 +00:00

Merged #52 postgres: the provisioner connects to mesh-store's actual port, not a hardcoded 5432 2026-09-24 13:38:45 +00:00

Merged #51 gitea: the token needs read:user, not just write:repository and write:issue 2026-09-24 09:49:37 +00:00

Merged #49 The forge mints its own API token with the admin account the vault delivers 2026-09-24 08:41:14 +00:00

Merged #50 Convert the resolver from the module it replaces: forward, answer at 127.0.0.1, point the runtime at it 2026-09-23 23:13:09 +00:00

Merged #48 The artifact store's seat is one per mesh 2026-09-23 21:42:25 +00:00

Merged #46 Convert mssql from the module it replaces, not from a blank page 2026-09-23 18:22:51 +00:00

Merged #45 Pin the analytics module to the version the machine it replaces is running 2026-09-23 00:48:13 +00:00

Merged #44 Pin the package registry to the version the machine it replaces is running 2026-09-23 00:37:31 +00:00

Merged #43 Pin the forge to the version the machine it replaces is running 2026-09-22 22:28:27 +00:00

Merged #42 route-adapter: provide route by writing into the predecessor's proxy (hq ADR 0104) 2026-09-22 22:12:49 +00:00

Merged #41 The store keeps the vector extension the predecessor's database had 2026-09-22 21:30:34 +00:00

Merged #40 The forge's own address follows the port the node gave it (hq issue 088) 2026-09-22 21:29:48 +00:00

Merged #39 The builder's package binding is settable per node (hq issue 085) 2026-09-22 19:59:57 +00:00

Merged #38 Adoption mode: guards, and a filter unit that never flushes the ruleset (hq ADR 0100, 0103) 2026-09-22 19:01:56 +00:00

Merged #37 n8n and baserow no longer take the shared cache (issue 081) 2026-09-22 11:53:14 +00:00

Merged #36 redis: a consumer's ACL loses the dangerous category (issue 080) 2026-09-22 00:19:15 +00:00

Merged #35 route-proxy: the trust gate names the binding it reads; the server names the gate (ADR 0099) 2026-09-21 21:58:48 +00:00

Merged #34 Multiple fixes: five modules keep their secrets from the vault (ADR 0094), the authority makes its own root (076), the builder on the host network, route-proxy declares its bases 2026-09-21 20:58:24 +00:00

Merged #33 The controller's manifest lives in the controller's repository, not here (hq issue 072) 2026-09-21 17:23:19 +00:00

Merged #32 Six modules take their secrets from files; the rest say precisely why not (issue 041) 2026-09-21 11:48:47 +00:00

Merged #31 The controller reads its credentials from files; every other env-file secret says why 2026-09-21 09:59:08 +00:00

Merged #30 Add mesh-vault; redis, postgres and lavinmq take their passwords from files 2026-09-21 08:03:13 +00:00

Merged #29 minio: pull image from quay.io (docker.io denies anonymous pulls) 2026-09-20 20:03:50 +00:00

Merged #28 Correct lavinmq Dockerfile's stale MESH_TOOL_MODULES comment (061 review) 2026-09-20 11:42:03 +00:00

Merged #27 The mesh builds its own catalogue (issue 060) 2026-09-20 10:53:04 +00:00

Merged #26 Refs name the registry; lavinmq's runtime runs its provisioner (042/048/061) 2026-09-17 23:00:43 +00:00

Merged #25 Foundation modules claim a mesh-scoped seat named after their server 2026-09-17 00:15:59 +00:00

Merged #24 The adopted broker declares its amqps bus port (5671) in listens 2026-09-16 23:44:48 +00:00

Merged #23 Foundation modules adopted, and the mesh-controller/foundation rename 2026-09-16 21:22:48 +00:00

Merged #22 Modules compile in the toolchain and ship on the runtime 2026-09-14 00:02:42 +00:00

Merged #21 The catalogue holds the module graph, and the modules that make it build themselves 2026-09-13 09:17:11 +00:00

Merged #20 module fixes from the whole-mesh dry-run: fail2ban capability + tool-runtime credential wiring 2026-09-08 16:45:24 +00:00

Merged #19 local model: an ollama provider + a local-model consumer (ADR 0055) 2026-09-07 03:26:02 +00:00

Merged #18 openai-consumer: the static-key model-access consumer (ADR 0050) 2026-09-07 02:25:56 +00:00

Merged #17 model-usage: the vendor-neutral usage store (ADR 0054) 2026-09-07 02:08:22 +00:00

Merged #16 anthropic model-access: manager + consumer modules 2026-09-07 00:48:52 +00:00

Merged #15 lavinmq: a user-facing AMQP provider (vhost-per-login) 2026-09-06 21:21:28 +00:00

Merged #14 route-proxy: the native ingress module (drop traefik) 2026-09-06 13:17:22 +00:00

Merged #13 fix: postgres consumers connect to the mesh-named db (the login), not a hardcoded name 2026-09-06 11:47:34 +00:00

Merged #12 fix: DB/cache/store providers must serve their port (migration blocker) 2026-09-06 01:31:50 +00:00

Merged #11 Convert confluence + jira on the tools-only template 2026-09-05 23:54:52 +00:00

Merged #10 Convert gitlab — the tools-only external-SaaS exemplar (23 tools, lab-proven) 2026-09-05 23:40:31 +00:00

Merged #9 Convert baserow, letta, invoicing (DB/S3 consumers) 2026-09-05 23:14:30 +00:00

Merged #8 mosquitto: run-once dynsec bootstrap + fix the exit-0-on-failure provisioner 2026-09-05 23:06:08 +00:00

Merged #7 Servarr events entrypoints don't crash the runtime when unconfigured 2026-09-05 21:14:44 +00:00

Merged #6 Media modules access the shared library, they do not own it (ADR 0051) 2026-09-05 20:48:16 +00:00

Merged #5 Resync hq ADR references (0044-0054 -> 0039-0049) 2026-09-05 10:49:51 +00:00

Merged #4 Convert four more hal modules: bookshelf, unifi, fail2ban, marrytts 2026-09-05 10:34:53 +00:00

Merged #3 Convert four hal modules: lidarr, mongodb, mssql, mosquitto 2026-09-05 02:17:48 +00:00

Merged #2 audit-logger: the assigned-module manifest (ADR 0048) 2026-09-05 01:06:59 +00:00

1 Pull request proposed by 1 user