Commit Graph
14 Commits
Author SHA1 Message Date
jochen a4e581e5eb Say the photos kept with the object and document stores are irreplaceable (hq ADR 0233)
Only the application knows how precious what it stores with its providers is; saying it holds
those providers to that class.
2026-10-06 16:47:49 +02:00
jschoubben 38ae0c8c89 Merge pull request 'The photo app's definition under today's rules, so the mesh builds it from here again' (#3) from fix/the-photo-app-under-todays-rules into nox-mesh
mesh/delivery delivered
2026-10-04 14:52:56 +00:00
jschoubben 063662b926 The photo app's definition under today's rules, so the mesh builds it from here again
Since 2026-10-04 the mesh held photos from the catalogue's stub — a server and an admin client —
which dropped the eef and filip sites and the api, flip and filip-api routes. This definition could
not simply be rebuilt: it named photos-api.novox.be and its own host paths, and transcribed the
bucket. Endpoints are named and every route names one; the client is told the api's composed name;
paths are the mesh's ${dir:state}; the bucket is the one the store derives (hq ADR 0202), the same
mesh-novox-photos the data lives in.
2026-10-04 16:30:24 +02:00
jschoubben 3f0d622db0 The mongo credential authenticates against its own database, not admin
The provisioner creates the granted user inside the granted database —
mongo's own db-scoped convention — so authSource is the database's name.
Found by testing the credential before the cutover window, not during it.
2026-09-26 01:06:31 +02:00
jschoubben 961226dc7f Serve the flip and filip-api aliases; the store is the granted bucket
The hand-authored proxy serves flip.novox.be beside filip.novox.be and
filip-api.novox.be beside photos-api.novox.be; the module must contribute
all six names before those files can retire.

MINIO_BUCKET names what the s3-bucket grant actually scopes the key to:
the provisioner derives mesh-novox-photos from the grant account and
ignores the contributed bucket name — the objects move there in the
cutover window, the pattern nextcloud set.
2026-09-26 01:02:55 +02:00
jschoubben 08d5c118d3 Become a nox mesh module
The mesh builds all three images from this repository and a commit
(novox/hq ADR 0069) — the Drone pipeline that built outside Docker and
copied its output in retires with the predecessor. One module carries the
API and every client instance: eef and filip are the same built client
under two names, which is a second route contribution, not a second
module (ADR 0015 — an application is one repository).

The clients drop nginx and its bash startup script: the node the API
already needs serves the static build too (client-server/serve.mjs —
files, the SPA fallback, env-config.js from the environment), so the
whole module stands on one declared base.

What the machine serves does not move: the same four public names, the
same four machine ports. MongoDB, the bucket and every credential arrive
as mesh grants instead of hand-set environment; SUPER_ADMIN_KEY stops
being a default written in code and becomes a minted secret.
2026-09-25 20:50:19 +02:00
jschoubben eab35c5f9f Don't show home layout when instance is not defined
continuous-integration/drone/push Build is passing
2024-05-21 01:00:58 +02:00
jschoubben b58844bc30 Added multiple home layouts
continuous-integration/drone/push Build is passing
2024-05-20 22:43:07 +02:00
jschoubben 6bb2d32f8c Hide photo-slider navigation buttons on mobile
continuous-integration/drone/push Build is passing
2024-05-18 15:19:52 +02:00
jschoubben f247070025 Clear warning from admin-client prod build
continuous-integration/drone/push Build is passing
2024-05-18 14:13:03 +02:00
jschoubben 6ae9bae8df Added close button for photo-viewer
continuous-integration/drone/push Build was killed
2024-05-18 12:47:16 +02:00
jschoubben f03dc2c3a6 Fixed admin client 2024-05-18 12:36:43 +02:00
jschoubben d1fc7f3c4e Trigger drone ci/cd
continuous-integration/drone/push Build is passing
2024-04-17 23:02:29 +02:00
jschoubben a8fdb455f4 Initial commit 2024-04-17 22:54:13 +02:00