De bovenstroomse repo gelezen, en twee aannames sneuvelden
De gebruiker wil de Evolu Relay-app meteen pakketteren. Daarvoor moest fase 1 van Proefopstelling eerst af, want een compose schrijven op aannames is precies wat dat plan moet voorkomen. Upstream-evolu-relay.md gaat daarmee van vooronderzoek naar nagetrokken, met een bron-URL per feit. De quota-manager is in de praktijk verplicht, en om een andere reden dan gedacht. Niet omdat de relay hem aanroept: er is geen HTTP-koppeling en geen URL in de configuratie, ze delen alleen de Postgres. Maar isOwnerAllowed() eist een rij in de limietentabel en de quota-manager maakt die rijen. Zonder hem is de relay dus niet open maar dicht voor iedereen. Dat maakt de tweede weg interessant, want een rij is ook met de hand te zetten; de prijs daarvan is schrijven in andermans schema. Er is geen publieke image. Trezor bouwt er wel een maar duwt hem naar een eigen Amazon ECR, en op Docker Hub staat niets. Zelf bouwen en publiceren, of geen app, en dat is een doorlopende verplichting. Bijvangst die een risico wegneemt: datzelfde werkproces bouwt amd64 en arm64, dus de Dockerfile is bovenstrooms bewezen op een Pi. Nieuw risico dat ervoor terugkomt: LICENSE.md is door GitHub geclassificeerd als "other", en zodra je een image publiceert distribueer je hun software. Twee kleinere correcties. De compose van Trezor draait de relay niet, er staan alleen Postgres en Prometheus in; het is een ontwikkelopstelling en wat zij uitrollen staat in .k8s/. En alle processen komen uit één image met per service een ander command, dus het worden geen drie images. Eén tegenspraak blijft staan en is expres niet weggeschreven als feit: .env.sample zegt dat SERVER_ENV=prod authenticatie aanzet, maar in de code die ik las bepaalt die vlag alleen het logniveau en staan de controles onvoorwaardelijk aan. Eén van de twee is achterhaald. Dat is met één keer starten te meten en het staat als taak in fase 2. Tests: niet gedraaid, dit raakt alleen documentatie. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,34 @@
|
||||
> Chronologisch sessielog, nieuwste bovenaan. Kort: 3 tot 6 regels per entry. Wat er is gebeurd en
|
||||
> waarom, niet wat er nog moet: dat staat in [TAKEN.md](TAKEN.md).
|
||||
|
||||
## 25-08-2026 - de bovenstroomse repo gelezen, en twee aannames sneuvelden
|
||||
|
||||
De gebruiker wil de app meteen pakketteren en een installatie proberen. Daarvoor moest fase 1 eerst
|
||||
gedaan worden, want een compose schrijven op aannames is precies wat dit plan moet voorkomen. Alles staat
|
||||
met bron per feit in [Upstream-evolu-relay.md](../../../Referenties/Upstream-evolu-relay.md).
|
||||
|
||||
**De quota-manager is in de praktijk verplicht.** Niet omdat de relay hem aanroept (er is geen HTTP-koppeling
|
||||
en geen URL in de configuratie), maar omdat `isOwnerAllowed()` een rij in de limietentabel eist en de
|
||||
quota-manager die aanmaakt. Zonder hem is de relay dus niet open maar dicht voor iedereen. Dat is de
|
||||
tegengestelde uitkomst van waar het vooronderzoek op hoopte, en het maakt de tweede weg interessant: de
|
||||
tabel is ook met de hand te vullen, want ze delen alleen de Postgres.
|
||||
|
||||
**Er is geen publieke image.** Trezor bouwt er wel een, maar duwt hem naar een eigen Amazon ECR; op Docker
|
||||
Hub staat niets. Zelf bouwen en publiceren, of geen Umbrel-app, en dat is een doorlopende verplichting en
|
||||
geen eenmalige handeling. Bijvangst die een risico wegneemt: datzelfde werkproces bouwt amd64 én arm64, dus
|
||||
de Dockerfile is bovenstrooms bewezen op een Raspberry Pi.
|
||||
|
||||
Twee kleinere correcties op het vooronderzoek: de compose van Trezor draait de relay **niet** (alleen
|
||||
Postgres en Prometheus, het is een ontwikkelopstelling), en alle processen komen uit **één** image met per
|
||||
service een ander `command`, dus het worden geen drie images.
|
||||
|
||||
Wat er onopgelost bleef en waar niet op gegokt moet worden: `.env.sample` zegt dat `SERVER_ENV=prod`
|
||||
authenticatie aanzet, maar in de code die ik las bepaalt die vlag alleen het logniveau en staan de controles
|
||||
onvoorwaardelijk aan. Eén van de twee is achterhaald; met één keer starten te meten.
|
||||
|
||||
**Geraakt:** `Referenties/Upstream-evolu-relay.md` (van vooronderzoek naar nagetrokken), `TAKEN.md`,
|
||||
`Docs/CONTINUE_HERE.md`. **Tests:** niet van toepassing, alleen documentatie.
|
||||
|
||||
## 25-08-2026 - plan werd actief
|
||||
|
||||
Dit project bestond uit één document, `trezor-suite-sync-umbrel-app-plan.md`, met het vooronderzoek van
|
||||
|
||||
@@ -15,19 +15,38 @@
|
||||
## Fase 1 - Kan dit überhaupt
|
||||
|
||||
- [ ] Het veld voor een eigen sync-server in Trezor Suite gevonden, met de vorm die het verwacht
|
||||
- [ ] `.env.sample`, `docker-compose.yaml` en de relay-broncode van `trezor/trezor-suite-sync` gelezen op
|
||||
de vraag of de quota-manager verplicht is. **Lezen, nog niet draaien:** als het antwoord in de
|
||||
broncode staat, scheelt dat een halve middag proberen
|
||||
- [ ] Vastgesteld of Trezor een image publiceert of alleen een Dockerfile levert. Zie
|
||||
[Upstream-evolu-relay.md](../../../Referenties/Upstream-evolu-relay.md) §4 punt 1; dit bepaalt of
|
||||
het masterplan **Publicatie** haalbaar is
|
||||
- [x] **`.env.sample`, `docker-compose.yaml`, `Dockerfile`, `README.md` en de relay-broncode gelezen
|
||||
(25-08-2026).** Dat leverde meer op dan de vraag stelde en het staat met bron per feit in
|
||||
[Upstream-evolu-relay.md](../../../Referenties/Upstream-evolu-relay.md). De drie uitkomsten die het
|
||||
pakket bepalen:
|
||||
**(a) de quota-manager is in de praktijk verplicht** - de relay weigert elke eigenaar die geen rij in
|
||||
de limietentabel heeft, en de quota-manager maakt die rijen. Er is geen HTTP-koppeling tussen de twee,
|
||||
ze delen alleen de Postgres, dus de tabel gevuld krijgen is wat telt en niet de dienst zelf;
|
||||
**(b) er is geen publieke image** - Trezor duwt naar een eigen Amazon ECR. Zelf bouwen en publiceren,
|
||||
of geen app;
|
||||
**(c) alle processen komen uit één image** met per service een ander `command`, dus geen drie images
|
||||
- [x] **Vastgesteld dat Trezor geen image publiceert (25-08-2026).** Zie hierboven. Bijvangst die een
|
||||
risico wegneemt: hun eigen werkproces bouwt `linux/amd64` én `linux/arm64`, dus de Dockerfile is
|
||||
bovenstrooms bewezen op arm64
|
||||
- [x] **De compose van Trezor draait de relay niet** (25-08-2026), tegen wat het vooronderzoek aannam. Er
|
||||
staan alleen Postgres en Prometheus in; het is een ontwikkelopstelling. Wat Trezor zelf uitrolt staat
|
||||
in `.k8s/`
|
||||
- [ ] **Uitzoeken hoe je een eigenaar bij de quota-manager registreert**, en of daar iets extern voor nodig
|
||||
is. Dit is nu de vraag die bepaalt of dit een bruikbare app wordt. Begin bij `bruno-collection/` in
|
||||
de repo; de README verwijst voor de API-spec naar Notion
|
||||
- [ ] **Uitzoeken wat `SERVER_ENV=prod` doet dat `dev` niet doet.** `.env.sample` zegt dat prod
|
||||
authenticatie aanzet, maar in de code die ik las bepaalt die vlag alleen het logniveau en staan de
|
||||
controles onvoorwaardelijk aan. Niet aannemen dat dev de deur opent, en ook niet dat hij dicht is
|
||||
|
||||
## Fase 2 - De stack lokaal draaien
|
||||
|
||||
- [ ] `trezor/trezor-suite-sync` gekloond
|
||||
- [ ] `docker compose up` met **alleen** Postgres en `evolu-relay`, de quota-manager weggelaten
|
||||
- [ ] Postgres uit de compose van Trezor gestart, en de relay ernaast met `yarn start-evolu-relay` of uit
|
||||
een zelfgebouwde image. **Niet "docker compose up en klaar":** die compose draait de relay niet
|
||||
- [ ] De relay antwoordt op poort 4000 en blijft draaien. Blijft hij niet draaien, dan is de foutmelding
|
||||
de bevinding: schrijf hem letterlijk op in [PROGRESS.md](PROGRESS.md)
|
||||
- [ ] Gemeten wat er gebeurt bij een eigenaar zónder limietenrij, in `dev` én in `prod`. Dat beslecht de
|
||||
tegenspraak uit fase 1 in één keer
|
||||
- [ ] **Blocker-check:** is de relay hard afhankelijk van de quota-manager? Zo ja, die erbij en
|
||||
uitzoeken wat hij zelf nodig heeft. Vraagt hij een externe dienst, dan is dat geen taak meer maar
|
||||
open punt 4 in [OPEN.md](OPEN.md)
|
||||
|
||||
Reference in New Issue
Block a user