Kaal gaan haalt de enige bescherming weg die er nu is
Richting van de gebruiker: de kale Evolu-relay, met een eigen limiter erop en de statuspagina uit open punt 2. Vastgelegd, niet gebouwd; de app staat uit en er gebeurt vandaag niets meer aan. Het inzicht dat die drie aan elkaar knoopt staat er nu bij. De kale relay heeft geen toegangscontrole, en dat is bij Evolu het ontwerp en geen omissie. Wat vandaag de schade beperkt is juist een applicatiecontrole: Trezor's relay weigert elke eigenaar zonder limietenrij. Kaal gaan haalt precies die weg, dus de limiter is de vervanging ervan en geen extraatje. De statuspagina krijgt er een taak bij: tonen welke eigenaar toegelaten is, met de knop om die keuze te wissen. Twee dingen die makkelijk verkeerd onthouden worden, daarom expliciet. De quota-manager die er nu in zit is niet te hergebruiken: die schrijft in Trezor's limietentabel en die tabel bestaat straks niet meer. En de meest voor de hand liggende limiter breidt de relay uit via createRelay, dus de bouwstap en het eigen register komen dan terug; de gebruiker meldt dat de broncode nog op zijn Umbrel staat, dus dat is geen obstakel. Postgres en het wachtwoord vervallen sowieso. Het blijft een richting en geen besluit: de protocolproef is niet gedaan, en die blijft de eerste taak. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
| Plan | App | Volgende stap | Status |
|
| Plan | App | Volgende stap | Status |
|
||||||
|-|-|-|-|
|
|-|-|-|-|
|
||||||
| [Umbrelapp](Plannen/Actief/008-Umbrelapp/TAKEN.md) | Relay | **Dit is de focus vanaf 27-08-2026, gekozen door de gebruiker, en de app staat op dit moment uit.** Uit de broncode van Suite: bij een eigen relay-URL registreert de cliënt geen eigenaar, terwijl Trezor's relay iedereen zonder limietenrij weigert. Volgende stap is de kále Evolu-relay **los ernaast** proberen met één `docker run` (`docker.io/evoluhq/relay:latest`), dus buiten het pakket om; dáárin zit onze eigen bouw van Trezors code nog. Werkt Suite ermee, dan pas verbouwen, en vervallen de bouwstap, het register, de Postgres en het wachtwoord. Zie open punt 6 | 🔶 |
|
| [Umbrelapp](Plannen/Actief/008-Umbrelapp/TAKEN.md) | Relay | **Dit is de focus vanaf 27-08-2026, gekozen door de gebruiker, en de app staat op dit moment uit.** Uit de broncode van Suite: bij een eigen relay-URL registreert de cliënt geen eigenaar, terwijl Trezor's relay iedereen zonder limietenrij weigert. **Richting gekozen op 27-08-2026: kaal, met een eigen limiter en een statuspagina erop.** Eerst de proef: de kále Evolu-relay **los ernaast** met één `docker run` (`docker.io/evoluhq/relay:latest`), buiten het pakket om, en kijken of Suite ermee praat. Werkt dat, dan pas verbouwen. Let op: kaal gaan haalt de énige bescherming weg die er nu is, dus de limiter is voorwaarde en geen extraatje, en de huidige quota-manager is er niet voor te hergebruiken. Zie open punt 6, 8 en 2 | 🔶 |
|
||||||
| [Eigenimage](Plannen/Actief/006-Eigenimage/TAKEN.md) | Gate | **Klaar om te beginnen, maar ligt stil op verzoek van de gebruiker** (27-08-2026): hij gaat eerst verder met Evolu Relay. Het register is beslist (Gitea, bij inlevering opnieuw kijken), dus fase 1 kan zo starten: het bouwrecept in `tools/electrum-gate/`, multi-arch, anoniem te halen. Let op §1: het lost níet het updateprobleem op, want dat bestaat niet meer | ⬜ |
|
| [Eigenimage](Plannen/Actief/006-Eigenimage/TAKEN.md) | Gate | **Klaar om te beginnen, maar ligt stil op verzoek van de gebruiker** (27-08-2026): hij gaat eerst verder met Evolu Relay. Het register is beslist (Gitea, bij inlevering opnieuw kijken), dus fase 1 kan zo starten: het bouwrecept in `tools/electrum-gate/`, multi-arch, anoniem te halen. Let op §1: het lost níet het updateprobleem op, want dat bestaat niet meer | ⬜ |
|
||||||
| [Proefopstelling](Plannen/Actief/007-Proefopstelling/TAKEN.md) | Relay | **Eerst beslissen of dit plan nog bestaansrecht heeft.** Fase 1 is af, maar fase 2 en 3 zijn ingehaald: het pakket staat al op de Umbrel (sinds 27-08-2026 uitgezet, maar geïnstalleerd), dus een lokale opstelling ernaast meet minder en kost meer. Wat overblijft zijn twee vragen die al als blokkade in **Umbrelapp** staan, en die horen op één plek | 🔶 |
|
| [Proefopstelling](Plannen/Actief/007-Proefopstelling/TAKEN.md) | Relay | **Eerst beslissen of dit plan nog bestaansrecht heeft.** Fase 1 is af, maar fase 2 en 3 zijn ingehaald: het pakket staat al op de Umbrel (sinds 27-08-2026 uitgezet, maar geïnstalleerd), dus een lokale opstelling ernaast meet minder en kost meer. Wat overblijft zijn twee vragen die al als blokkade in **Umbrelapp** staan, en die horen op één plek | 🔶 |
|
||||||
|
|
||||||
|
|||||||
@@ -38,9 +38,63 @@
|
|||||||
**Meten en niet redeneren:** `docker run --rm -p 4000:4000 docker.io/evoluhq/relay:latest`, Suite
|
**Meten en niet redeneren:** `docker run --rm -p 4000:4000 docker.io/evoluhq/relay:latest`, Suite
|
||||||
ernaartoe wijzen, label maken. De instellingen staan onder **dev-utils** en `http://` volstaat; zie
|
ernaartoe wijzen, label maken. De instellingen staan onder **dev-utils** en `http://` volstaat; zie
|
||||||
[Upstream-evolu-relay.md](../../../Referenties/Upstream-evolu-relay.md) §0 en §7.
|
[Upstream-evolu-relay.md](../../../Referenties/Upstream-evolu-relay.md) §0 en §7.
|
||||||
**Moment:** eerste taak van de volgende sessie, vóór er nog iets aan het huidige pakket verbeterd wordt ·
|
|
||||||
|
**Richting gekozen door de gebruiker op 27-08-2026: we gaan voor de kale relay**, met een eigen limiter
|
||||||
|
erop en de statuspagina uit punt 2. Zijn woorden: "dat wordt beter."
|
||||||
|
|
||||||
|
Dat is een richting en nog geen besluit, want de proef hierboven is niet gedaan. Klopt de protocolversie
|
||||||
|
niet, dan valt de hele richting weg en blijft alleen de weg over waarin de limietenrij met de hand gezet
|
||||||
|
wordt. **De proef blijft dus de eerste taak**, en er wordt niets verbouwd voordat hij geslaagd is.
|
||||||
|
|
||||||
|
Wat de richting wél nu al vastlegt, zodat het niet opnieuw uitgezocht hoeft te worden:
|
||||||
|
|
||||||
|
- **de drie dingen horen bij elkaar en zijn geen wensenlijstje.** De kale relay heeft géén
|
||||||
|
toegangscontrole, en dat is bij Evolu geen omissie maar het ontwerp. Vandaag is het enige dat de schade
|
||||||
|
beperkt juist een applicatiecontrole: Trezor's relay weigert elke eigenaar zonder limietenrij (zie
|
||||||
|
punt 2). **Gaan we kaal, dan verdwijnt precies die bescherming**, en wordt de limiter van "leuk" naar
|
||||||
|
"voorwaarde". Het instinct om ze in één adem te noemen klopt dus;
|
||||||
|
- **de statuspagina krijgt er een taak bij.** Hij toont niet alleen of het werkt, hij is ook de plek waar
|
||||||
|
je ziet wélke eigenaar is toegelaten en waar de knop zit om die keuze te wissen. Zie punt 8;
|
||||||
|
- **een eigen image is geen blokkade.** De gebruiker meldde op 27-08-2026 dat de broncode nog op zijn
|
||||||
|
Umbrel staat, dus opnieuw bouwen en naar het eigen Gitea-register duwen kan gewoon. Dat is relevant
|
||||||
|
omdat de limiter dat waarschijnlijk vraagt; zie punt 8.
|
||||||
|
|
||||||
|
**Moment:** de proef is de eerste taak van de volgende sessie, vóór er iets verbouwd wordt ·
|
||||||
**Eigenaar:** gebruiker
|
**Eigenaar:** gebruiker
|
||||||
|
|
||||||
|
8. **Welke limiter komt er op de kale relay?**
|
||||||
|
Nieuw op 27-08-2026, uit de richting in punt 6. Dit is de vraag die met "kaal gaan" meekomt en die je
|
||||||
|
niet kunt uitstellen tot na de verbouwing, want hij bepaalt of er een eigen image nodig blijft.
|
||||||
|
|
||||||
|
**Wat het níet kan zijn: de quota-manager die er nu in zit.** Die schrijft rijen in de limietentabel van
|
||||||
|
Trezor's schema, en de kale relay heeft dat schema niet, geen Postgres, en geen begrip van eigenaars. Wat
|
||||||
|
er komt is dus nieuw werk en geen hergebruik.
|
||||||
|
|
||||||
|
De drie wegen staan in het masterplan **Bereikbaarheid** §4b en verschillen sterk in prijs:
|
||||||
|
|
||||||
|
1. **de relay uitbreiden via `createRelay`** uit `@evolu/nodejs`. Dat is het bedoelde uitbreidpunt en
|
||||||
|
vrijwel zeker wat Trezor gedaan heeft. Prijs: een eigen kleine dienst schrijven en onderhouden, en
|
||||||
|
**weer een eigen image bouwen**;
|
||||||
|
2. **terug naar Trezor's relay** met een eigen interface die de limietenrij zet. Schrijven in andermans
|
||||||
|
schema, dus breekbaar bovenstrooms, plus de Postgres terug;
|
||||||
|
3. **geen allowlist maar het netwerk**: Tailscale of een IP-beperking. Kost geen regel code, maar beperkt
|
||||||
|
wie er mag verbinden en niet welke eigenaar mag schrijven.
|
||||||
|
|
||||||
|
**De spanning die hierbij hoort, eerlijk opgeschreven:** weg 1 haalt een deel van de winst van kaal gaan
|
||||||
|
weer weg, want de bouwstap en het eigen register komen terug. Wat er dan nog steeds overblijft is
|
||||||
|
aanzienlijk: geen Postgres, geen wachtwoord, geen onderhoud aan andermans schema, en een relay die
|
||||||
|
bovenstrooms gewoon meebeweegt. De gebruiker heeft dat op 27-08-2026 al ondervangen: de broncode staat
|
||||||
|
nog op zijn Umbrel, dus opnieuw bouwen en naar het eigen register duwen is geen nieuw obstakel.
|
||||||
|
|
||||||
|
**Eén detail dat weg 1 en 2 lastiger maakt dan ze klinken, en de uitweg erbij:** je moet je eigen
|
||||||
|
`OwnerId` kennen om hem te kunnen toelaten, en Suite toont die waarschijnlijk nergens. De uitweg uit §4b
|
||||||
|
is de allowlist niet te laten typen maar te laten leren: **de eerste eigenaar die verbindt wordt
|
||||||
|
toegelaten, de rest geweigerd**, met een knop om die keuze te wissen. Dat vraagt geen interface om een id
|
||||||
|
in te tikken, en het is precies genoeg voor één huishouden. Die knop hoort dan op de statuspagina uit
|
||||||
|
punt 2, en dat is meteen het argument dat die pagina meer is dan gemak.
|
||||||
|
**Moment:** zodra de proef uit punt 6 geslaagd is · **Eigenaar:** gebruiker beslist, met een voorstel
|
||||||
|
vanuit de sessie
|
||||||
|
|
||||||
5. **Is de app bruikbaar voor iemand anders die deze store toevoegt?**
|
5. **Is de app bruikbaar voor iemand anders die deze store toevoegt?**
|
||||||
Nieuw op 25-08-2026, en het is de keerzijde van punt 1. De store is publiek, dus een vreemde kan hem
|
Nieuw op 25-08-2026, en het is de keerzijde van punt 1. De store is publiek, dus een vreemde kan hem
|
||||||
toevoegen en Evolu Relay installeren. Zijn Umbrel haalt de image dan uit
|
toevoegen en Evolu Relay installeren. Zijn Umbrel haalt de image dan uit
|
||||||
@@ -81,7 +135,16 @@
|
|||||||
elke eigenaar zonder limietenrij. Dat is precies waarom een statuspagina hier een andere afweging is dan
|
elke eigenaar zonder limietenrij. Dat is precies waarom een statuspagina hier een andere afweging is dan
|
||||||
bij Electrum Gate: die zou achter geen van beide grenzen liggen, en een statuspagina vertelt per definitie
|
bij Electrum Gate: die zou achter geen van beide grenzen liggen, en een statuspagina vertelt per definitie
|
||||||
iets over de machine waarop hij draait.
|
iets over de machine waarop hij draait.
|
||||||
**Moment:** pas overwegen als fase 4 geslaagd is · **Eigenaar:** gebruiker
|
|
||||||
|
**De gebruiker wil hem, gezegd op 27-08-2026 in één adem met de kale relay en de limiter.** Twee dingen
|
||||||
|
die dat verandert. De pagina krijgt een taak die verder gaat dan status: hij toont welke eigenaar
|
||||||
|
toegelaten is en draagt de knop om die keuze te wissen (punt 8). En de afweging hierboven wordt
|
||||||
|
scherper, niet milder: de zin "wat de schade beperkt is een applicatiecontrole" gaat niet meer op zodra
|
||||||
|
de relay kaal is, want die controle is dan juist weg. Een pagina zonder inlog is dan het enige wat er
|
||||||
|
nog bij staat. **De tweede poort of de smalle whitelist is daarmee geen detail maar onderdeel van het
|
||||||
|
ontwerp.**
|
||||||
|
**Moment:** samen met de limiter uit punt 8, dus nadat de proef uit punt 6 geslaagd is ·
|
||||||
|
**Eigenaar:** gebruiker
|
||||||
|
|
||||||
3. **Wat doen we met de quota-manager als blijkt dat hij iets extern nodig heeft?**
|
3. **Wat doen we met de quota-manager als blijkt dat hij iets extern nodig heeft?**
|
||||||
Hij is meegepakketteerd omdat de relay zonder limietenrij niemand toelaat. Als het registreren van een
|
Hij is meegepakketteerd omdat de relay zonder limietenrij niemand toelaat. Als het registreren van een
|
||||||
|
|||||||
@@ -3,6 +3,29 @@
|
|||||||
> Chronologisch sessielog, nieuwste bovenaan. Kort: 3 tot 6 regels per entry. Wat er is gebeurd en waarom,
|
> 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).
|
> niet wat er nog moet: dat staat in [TAKEN.md](TAKEN.md).
|
||||||
|
|
||||||
|
## 27-08-2026 - richting gekozen: kaal, met een limiter en een pagina erop
|
||||||
|
|
||||||
|
Nog niets gebouwd; dit is een sessie waarin alleen vastgelegd is. De gebruiker kiest voor de kale
|
||||||
|
Evolu-relay, met een eigen limiter erop en de statuspagina uit open punt 2. Zijn woorden: "dat wordt beter."
|
||||||
|
De app staat op dit moment uit op de Umbrel.
|
||||||
|
|
||||||
|
**Die drie horen bij elkaar en dat is het inzicht van vandaag.** De kale relay heeft geen toegangscontrole,
|
||||||
|
en dat is bij Evolu het ontwerp en geen omissie. Wat vandaag de schade beperkt is juist een
|
||||||
|
applicatiecontrole: Trezor's relay weigert elke eigenaar zonder limietenrij. Kaal gaan haalt precies die
|
||||||
|
bescherming weg, dus de limiter is de vervanging ervan en geen extraatje. En de statuspagina krijgt er een
|
||||||
|
taak bij: tonen wélke eigenaar toegelaten is, met de knop om die keuze te wissen.
|
||||||
|
|
||||||
|
**De spanning is opgeschreven in plaats van weggepoetst:** de meest voor de hand liggende limiter breidt de
|
||||||
|
relay uit via `createRelay`, en dan komen de bouwstap en het eigen register terug die kaal gaan juist zou
|
||||||
|
besparen. De gebruiker heeft dat ondervangen: de broncode staat nog op zijn Umbrel, dus opnieuw bouwen en
|
||||||
|
naar het eigen Gitea-register duwen kan gewoon. Wat sowieso vervalt zijn de Postgres en het wachtwoord.
|
||||||
|
|
||||||
|
**Het blijft een richting en geen besluit**, want de proef is niet gedaan: klopt de protocolversie van
|
||||||
|
`docker.io/evoluhq/relay:latest` met de `@evolu/web@3.0.0-next.1` plus patch die Suite gebruikt? Die proef
|
||||||
|
blijft de eerste taak, en er wordt niets verbouwd voordat hij geslaagd is.
|
||||||
|
|
||||||
|
**Geraakt:** alleen documentatie van dit plan. **Tests:** niet van toepassing.
|
||||||
|
|
||||||
## 25-08-2026 - hij draait, en de weg erheen liep via een verkeerde aanname
|
## 25-08-2026 - hij draait, en de weg erheen liep via een verkeerde aanname
|
||||||
|
|
||||||
Gebouwd op de Umbrel in 50 seconden, en toen twee keer misgegaan op dezelfde muur voordat die muur
|
Gebouwd op de Umbrel in 50 seconden, en toen twee keer misgegaan op dezelfde muur voordat die muur
|
||||||
|
|||||||
@@ -21,8 +21,24 @@
|
|||||||
`docker run --rm -p 4000:4000 docker.io/evoluhq/relay:latest`, Suite ernaartoe wijzen onder
|
`docker run --rm -p 4000:4000 docker.io/evoluhq/relay:latest`, Suite ernaartoe wijzen onder
|
||||||
**dev-utils**, label maken. **Eigenaar: gebruiker**
|
**dev-utils**, label maken. **Eigenaar: gebruiker**
|
||||||
- [ ] **Pas daarna beslissen wat er met het huidige pakket gebeurt.** Werkt de kale relay, dan wordt dit
|
- [ ] **Pas daarna beslissen wat er met het huidige pakket gebeurt.** Werkt de kale relay, dan wordt dit
|
||||||
één container op een gepubliceerde image en vervallen de bouwstap, het eigen register, de Postgres en
|
één container op een gepubliceerde image en vervallen de Postgres en het wachtwoord. Werkt hij niet,
|
||||||
het wachtwoord. Werkt hij niet, dan is de limietenrij met de hand zetten de enige weg vooruit
|
dan is de limietenrij met de hand zetten de enige weg vooruit
|
||||||
|
|
||||||
|
**De richting is al gekozen op 27-08-2026: kaal, met een eigen limiter erop en de statuspagina
|
||||||
|
erbij.** Zie [OPEN.md](OPEN.md) punt 6, 8 en 2. Wat daarbij vastligt en makkelijk verkeerd onthouden
|
||||||
|
wordt: de kale relay heeft géén toegangscontrole, dus de limiter is geen extraatje maar de vervanging
|
||||||
|
van de enige bescherming die er vandaag is. En de quota-manager die er nu in zit is daarvoor niet te
|
||||||
|
hergebruiken: die schrijft in Trezor's limietentabel, en die tabel bestaat straks niet meer
|
||||||
|
|
||||||
|
**Een eigen image blijft daardoor waarschijnlijk nodig**, want de meest voor de hand liggende limiter
|
||||||
|
breidt de relay uit via `createRelay`. Dat is geen obstakel: de gebruiker meldde op 27-08-2026 dat de
|
||||||
|
broncode nog op zijn Umbrel staat, dus opnieuw bouwen en naar het eigen Gitea-register duwen kan
|
||||||
|
gewoon. De bouwstap en het register vervallen dus mogelijk tóch niet; de Postgres en het wachtwoord
|
||||||
|
wel
|
||||||
|
|
||||||
|
- [ ] **De limiter kiezen uit de drie wegen van Bereikbaarheid §4b**, met de leer-variant erbij: de eerste
|
||||||
|
eigenaar die verbindt wordt toegelaten, de rest geweigerd, met een wisknop op de statuspagina. Zie
|
||||||
|
[OPEN.md](OPEN.md) punt 8. **Pas nadat de proef geslaagd is**
|
||||||
- [ ] **In de logs van de relay kijken of het databaseschema zichzelf aanmaakt.** Alleen nog nuttig als het
|
- [ ] **In de logs van de relay kijken of het databaseschema zichzelf aanmaakt.** Alleen nog nuttig als het
|
||||||
huidige pakket blijft: `sudo docker logs whatsnext-evolu-relay_relay_1`
|
huidige pakket blijft: `sudo docker logs whatsnext-evolu-relay_relay_1`
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user