a2da2e4910
only-office: pin the machine side of its port
jschoubben2026-09-26 03:44:47 +02:00
bcb9ca8f93
Merge pull request 'invoicing: MONGO_DB says the granted database's name' (#87) from fix/invoicing-names-its-database into main
jschoubben2026-09-26 01:34:09 +00:00
2409afda60
invoicing: MONGO_DB says the granted database's name
jschoubben2026-09-26 03:34:00 +02:00
511200ed9c
Merge pull request 'invoicing: the photos lessons, applied before its window' (#86) from fix/invoicing-learns-the-photos-lessons into main
jschoubben2026-09-26 01:15:38 +00:00
b704bf5ad8
invoicing: the photos lessons, applied before its window
jschoubben2026-09-26 03:15:26 +02:00
142d65c52a
Merge pull request 'mongodb: the server container is mongodb-server, not the predecessor's name' (#85) from fix/mongodb-coexists-with-the-predecessor into main
jschoubben2026-09-26 00:37:51 +00:00
ccb6e7500e
mongodb: the server container is mongodb-server, not the predecessor's name
jschoubben2026-09-26 00:56:02 +02:00
bbda88c13b
Merge pull request 'Every credential provider says whether it still holds a consumer (hq issue 120)' (#84) from fix/120-redis-says-what-it-holds into main
jschoubben2026-09-25 23:31:28 +00:00
620b47d309
mssql remaps a user only when orphaned; mailu's operator tool no longer re-enables
jochen2026-09-26 01:30:15 +02:00
6fd93afc6c
Review fixes: holds and create agree, and no password leaves a check
jochen2026-09-26 01:24:32 +02:00
0cb0f814b4
Every credential provider says whether it still holds a consumer
jochen2026-09-26 01:09:52 +02:00
3d271f72ea
redis: say whether it still holds a consumer's ACL user
jochen2026-09-26 00:53:13 +02:00
76ca479f37
Merge pull request 'mailu: the queue is root's and traversable, which is postfix's own convention' (#83) from fix/the-queue-is-traversable into main
jschoubben2026-09-25 22:17:54 +00:00
a055334c9b
mailu: the queue is root's and traversable, which is postfix's own convention
jschoubben2026-09-26 00:17:41 +02:00
d5b169b6b6
Merge pull request 'mailu: cert flavor while the predecessor's proxy owns the challenge path' (#82) from fix/mailu-tls-cert-behind-the-predecessors-proxy into main
jschoubben2026-09-25 22:11:26 +00:00
8ecc5a7249
mailu: cert flavor while the predecessor's proxy owns the challenge path
jschoubben2026-09-26 00:11:11 +02:00
29f00f33a5
Merge pull request 'automx: the seed writes the schema 2021.6 reads' (#81) from fix/automx-seed-knows-prio into main
jschoubben2026-09-25 22:06:36 +00:00
480627fdd9
automx: the seed writes the schema 2021.6 reads
jschoubben2026-09-26 00:06:24 +02:00
c8c939a595
Merge pull request 'automx: the schema its seed writes belongs to one automx2, so that one is named' (#80) from fix/automx-pins-the-schema-its-seed-writes into main
jschoubben2026-09-25 21:59:54 +00:00
30b7ce429c
automx: the schema its seed writes belongs to one automx2, so that one is named
jschoubben2026-09-25 23:59:42 +02:00
b8a50ee7a0
Merge pull request 'mailu: the containers are named by the vocabulary 2024.06 reads' (#79) from fix/mailu-speaks-2024-06-addresses into main
jschoubben2026-09-25 21:56:40 +00:00
4e37b3e84d
mailu: the containers are named by the vocabulary 2024.06 reads
jschoubben2026-09-25 23:56:28 +02:00
7cb7659fbe
Merge pull request 'mailu: every container asks the module's own resolver, pinned where they can find it' (#78) from feat/mailu-points-at-its-own-resolver into main
jschoubben2026-09-25 21:49:30 +00:00
047f228fe3
mailu: every container asks the module's own resolver, pinned where they can find it
jschoubben2026-09-25 23:49:17 +02:00
40aa93dc2b
Merge pull request 'mailu: the admin API answers on 8080 since 2024.06' (#77) from fix/mailu-admin-answers-on-8080 into main
jschoubben2026-09-25 21:45:11 +00:00
5462317183
mailu: the admin API answers on 8080 since 2024.06
jschoubben2026-09-25 23:45:00 +02:00
cb9d43b2a1
Merge pull request 'automx: the launcher's wrapper is written by the build that ships it' (#76) from fix/automx-carries-its-own-wrapper into main
jschoubben2026-09-25 21:44:46 +00:00
aa8c4253f1
automx: the launcher's wrapper is written by the build that ships it
jschoubben2026-09-25 23:44:34 +02:00
4863eef586
Merge pull request 'mailu: pin exactly what phase 1 verified' (#75) from fix/mailu-pins-what-phase-one-verified into main
jschoubben2026-09-25 21:34:26 +00:00
621246996d
Merge pull request 'mailu: 2024.06 closes 110/143/587 by default; parity says open them' (#74) from fix/mailu-ports-parity into main
jschoubben2026-09-25 20:56:39 +00:00
e3d8bd0726
mailu: 2024.06 closes 110/143/587 by default; parity says open them
jschoubben2026-09-25 22:56:27 +02:00
a708666bad
Merge pull request 'mailu: the manifest matches the machine, provides smtp, and carries automx' (#73) from feat/mailu-becomes-real into main
jschoubben2026-09-25 20:40:08 +00:00
ed5d1386ce
mailu: the manifest matches the machine, provides smtp, and carries automx
jschoubben2026-09-25 22:39:29 +02:00
3875987656
Merge pull request 'gitea: the package team may read code, and its units are reconciled' (#72) from fix/gitea-package-team-reads-code into main
jschoubben2026-09-25 19:59:25 +00:00
311f7f1fdb
gitea: the package team may read code, and its units are reconciled
jschoubben2026-09-25 21:59:09 +02:00
bbd1723612
Merge pull request 'route-proxy binds the mesh's own authority for internal names; gitea's internal-API refusal joins its route' (#70) from feat/route-proxy-internal-acme into main
jschoubben2026-09-25 19:55:32 +00:00
c7964b7285
Merge pull request 'gitea: a consumer's user is actually created, and a failed create says why' (#71) from fix/gitea-provisioner-user-create into main
jschoubben2026-09-25 19:54:08 +00:00
02ccf31a71
gitea: a consumer's user is actually created, and a failed create says why
jschoubben2026-09-25 21:42:38 +02:00
c2353fc0a6
gitea: the internal-API refusal is part of the route, not a file beside the proxy
jschoubben2026-09-25 20:51:44 +02:00
45dd036623
The npm registry is a seat gitea holds, and gitea holds the git seat a build's source can live on
jochen2026-09-25 20:48:10 +02:00
962cba7c04
route-proxy: internal names are certified by the mesh's own authority
jschoubben2026-09-25 20:36:41 +02:00
bfe99f8c78
Merge pull request 'minio: declare the route contribution it has always needed, scoped from PR #58' (#68) from fix/minio-declares-its-real-route-contribution into main
jschoubben2026-09-25 16:19:39 +00:00
f0aa9e5fed
minio: declare the route contribution it has always needed, scoped from PR #58jschoubben2026-09-25 18:19:27 +02:00
cb38bf08a6
Merge pull request 'route-proxy: the trust step skips the fetch when the CA names no roots to get' (#67) from fix/route-proxy-trust-skips-when-there-is-nothing-to-fetch into main
jschoubben2026-09-25 16:15:09 +00:00
95a0a5672c
route-proxy: the trust step skips the fetch when the CA names no roots to get
jschoubben2026-09-25 18:14:58 +02:00
d243b56942
Merge pull request 'route-proxy: the server container resolves its own built artifact' (#66) from fix/route-proxy-server-uses-its-real-artifact into main
jschoubben2026-09-25 16:09:19 +00:00
4c5e69903f
route-proxy: the server container resolves its own built artifact
jschoubben2026-09-25 18:09:09 +02:00
547937034f
Merge pull request 'public-acme: the roots field is named roots, not root' (#65) from fix/public-acme-field-name-matches-what-route-proxy-reads into main
jschoubben2026-09-25 16:08:39 +00:00
3147fac08b
public-acme: the roots field is named roots, not root
jschoubben2026-09-25 18:08:28 +02:00
7a96287d99
Merge pull request 'route-proxy: declare the build context its own Dockerfile has always needed' (#64) from feat/route-proxy-declares-its-real-context into main
jschoubben2026-09-25 15:58:20 +00:00
dd5b973e66
route-proxy: declare the build context its own Dockerfile has always needed
jschoubben2026-09-25 17:58:10 +02:00
72b1413497
Merge pull request 'builder is a real built module now, not handed over' (#63) from feat/builder-is-a-real-built-module into main
jschoubben2026-09-25 15:54:58 +00:00
8369fe22b8
builder is a real built module now, not handed over
jschoubben2026-09-25 17:54:46 +02:00
19e0a8469d
Merge pull request 'minio: install mc in the runtime image, declare its region' (#62) from fix/minio-provisioner-missing-mc-cli into main
jschoubben2026-09-25 15:25:18 +00:00
271911753f
Merge pull request 'builder: consume package-registry as a real mesh grant, not a hand-faked one' (#61) from fix/builder-real-package-registry-grant into main
jschoubben2026-09-25 15:25:04 +00:00
4e2dd0adae
Merge pull request 'gitea: listens its real internal ssh port (22), not 2222' (#60) from fix/gitea-ssh-port-manifest-mismatch into main
jschoubben2026-09-25 15:24:49 +00:00
1b02dc1f66
builder: qualify its own image with the registry host
jschoubben2026-09-25 17:10:56 +02:00
755b0a5599
builder: consume package-registry as a real mesh grant, not a hand-faked one
jschoubben2026-09-25 17:08:12 +02:00
ae6dfea2c9
gitea: listens its real internal ssh port (22), not 2222
jschoubben2026-09-25 17:07:58 +02:00
b3de7e7944
minio: declare region eu-west, don't leave it as live-only drift
jschoubben2026-09-25 15:10:30 +02:00
107090310d
nextcloud: point S3 config at the bucket the mesh actually provisioned
jschoubben2026-09-25 14:42:57 +02:00
5d13a5078c
minio: install mc in the runtime image — the provisioner needs it to run
jschoubben2026-09-25 14:37:23 +02:00
61eca75315
nextcloud: pull the S3 region from the binding, not a hardcoded literal
jschoubben2026-09-25 14:15:40 +02:00
df0e9017e0
nextcloud: set OBJECTSTORE_S3_REGION to match minio's actual region
jschoubben2026-09-25 14:12:05 +02:00
b60dd5e3e3
nextcloud: use a module-owned mesh-admin account instead of 'admin'
jschoubben2026-09-25 13:51:40 +02:00
b865978e19
nextcloud: use a named build stage for docker:cli, not ARG-in-COPY-from
jschoubben2026-09-25 13:49:02 +02:00
cdbc850c52
nextcloud: declare docker:cli as a pinned build.on base
jschoubben2026-09-25 13:48:00 +02:00
e2b3723dd9
nextcloud: fix hardcoded sidecar port and missing docker CLI in runtime image
jschoubben2026-09-25 13:47:03 +02:00
5f74c41a3e
nextcloud: give the admin password a real _FILE variant, not an env-file
jschoubben2026-09-25 13:42:21 +02:00
4329ca9392
nextcloud: deliver the admin password to the sidecar too
jschoubben2026-09-25 13:41:17 +02:00
066254e5c4
nextcloud: pin an image whose PHP matches this Nextcloud version
jschoubben2026-09-25 13:39:16 +02:00
440e3e446e
minio: set the region to eu-west, matching where this mesh actually runs
jschoubben2026-09-25 10:45:01 +02:00
20df40c949
minio: revert to single-node after measuring the real cost of sharding
jschoubben2026-09-24 23:07:02 +02:00
6a6dd4a7dc
minio: name the network minio-net, not minio
jschoubben2026-09-24 20:31:20 +02:00
973d80aaa2
minio: publish both public routes now that a module can answer route twice
jschoubben2026-09-24 18:45:52 +02:00
945390e59a
minio: run the real 4-node/8-drive erasure-coded cluster, not a single container
jschoubben2026-09-24 18:31:38 +02:00
49c5903861
Merge pull request 'minio: repin to pgsty's fork, build the runtime sidecar, move data off HAL's live drive' (#57) from fix/minio-repin-and-move-off-hal-data into main
jschoubben2026-09-24 16:15:09 +00:00
35e8a3fe19
minio: repin to pgsty's fork, build the runtime sidecar, move data off HAL's live drive
jschoubben2026-09-24 17:55:49 +02:00
ed0f4602a6
keycloak: use Hostname v2's actual config shape, not v1's deprecated flags
jschoubben2026-09-24 17:27:04 +02:00
13d0361640
keycloak: carry over HAL's hostname/proxy settings, dropped during conversion
jschoubben2026-09-24 17:25:16 +02:00
61eb201f8a
postgres: declare the data directory's real owner; keycloak: use the port template
jschoubben2026-09-24 16:39:11 +02:00
5c3781d8c2
Merge pull request '4 modules: persistent data is a directory bind, never a named volume' (#54) from fix/persistent-data-is-a-directory-bind-not-a-volume into main
jschoubben2026-09-24 14:24:15 +00:00
6a3e0ab9d3
4 modules: persistent data is a directory bind, never a named volume
jschoubben2026-09-24 16:12:03 +02:00
3e8ecfa4eb
Merge pull request '11 modules: a container's ports say the software's port, not the machine's' (#53) from fix/091-ports-machine-side-is-the-mesh-to-assign into main
jschoubben2026-09-24 13:53:34 +00:00
12f885ffc5
11 modules: a container's ports say the software's port, not the machine's
jschoubben2026-09-24 15:45:58 +02:00
7551a65579
Merge pull request 'postgres: the provisioner connects to mesh-store's actual port, not a hardcoded 5432' (#52) from fix/postgres-provisioner-connects-to-the-actual-store-port into main
jschoubben2026-09-24 13:38:45 +00:00
135101ce6e
postgres: fix the port override properly — a twin variable, not a raw substitution
jschoubben2026-09-24 15:27:16 +02:00
088022d63b
postgres: the provisioner connects to mesh-store's actual port, not a hardcoded 5432
jschoubben2026-09-24 15:24:07 +02:00
415ad7a168
Merge pull request 'gitea: the token needs read:user, not just write:repository and write:issue' (#51) from fix/gitea-user-repos-scope into main
jschoubben2026-09-24 09:49:36 +00:00
aaf341a2d8
gitea: the token needs read:user, not just write:repository and write:issue
jschoubben2026-09-24 11:43:46 +02:00
8a458aa5c4
Merge pull request 'The forge mints its own API token with the admin account the vault delivers' (#49) from fix/gitea-mints-its-token into main
jschoubben2026-09-24 08:41:13 +00:00
d036b43bfc
Merge main into fix/gitea-mints-its-token to pick up the resolver conversion and artifact-store seat fix
jschoubben2026-09-24 10:40:57 +02:00
5a94b78891
Merge pull request 'Convert the resolver from the module it replaces: forward, answer at 127.0.0.1, point the runtime at it' (#50) from convert/dnsmasq-from-hal into main
jschoubben2026-09-23 23:13:08 +00:00
3d81bf41c6
Convert the resolver from the module it replaces: forward, answer at 127.0.0.1, point the runtime at it
jschoubben2026-09-23 23:53:51 +02:00
ed094031fd
The forge mints its own API token with the admin account the vault delivers
jschoubben2026-09-23 23:48:36 +02:00
4d8be01c5f
Merge pull request 'The artifact store's seat is one per mesh' (#48) from fix/the-artifact-store-is-one-per-mesh into main
jschoubben2026-09-23 21:42:25 +00:00
833d8ec3ec
The artifact store's seat is one per mesh
jschoubben2026-09-23 23:40:54 +02:00
9f2c678355
Merge pull request 'Convert mssql from the module it replaces, not from a blank page' (#46) from convert/mssql-from-hal into main
jschoubben2026-09-23 18:22:51 +00:00
cae0d00a7d
Convert mssql from the module it replaces, not from a blank page
jschoubben2026-09-23 20:22:34 +02:00