diff --git a/Docs/CONTINUE_HERE.md b/Docs/CONTINUE_HERE.md index 08fbe3b..fec8995 100644 --- a/Docs/CONTINUE_HERE.md +++ b/Docs/CONTINUE_HERE.md @@ -23,7 +23,7 @@ | 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 | ⬜ | | [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 | 🔶 | diff --git a/Docs/Plannen/Actief/008-Umbrelapp/OPEN.md b/Docs/Plannen/Actief/008-Umbrelapp/OPEN.md index 6506852..712a9af 100644 --- a/Docs/Plannen/Actief/008-Umbrelapp/OPEN.md +++ b/Docs/Plannen/Actief/008-Umbrelapp/OPEN.md @@ -38,9 +38,63 @@ **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 [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 +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?** 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 @@ -81,7 +135,16 @@ 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 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?** Hij is meegepakketteerd omdat de relay zonder limietenrij niemand toelaat. Als het registreren van een diff --git a/Docs/Plannen/Actief/008-Umbrelapp/PROGRESS.md b/Docs/Plannen/Actief/008-Umbrelapp/PROGRESS.md index 14a03aa..31bd1ee 100644 --- a/Docs/Plannen/Actief/008-Umbrelapp/PROGRESS.md +++ b/Docs/Plannen/Actief/008-Umbrelapp/PROGRESS.md @@ -3,6 +3,29 @@ > 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). +## 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 Gebouwd op de Umbrel in 50 seconden, en toen twee keer misgegaan op dezelfde muur voordat die muur diff --git a/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md b/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md index a385925..601bcd6 100644 --- a/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md +++ b/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md @@ -21,8 +21,24 @@ `docker run --rm -p 4000:4000 docker.io/evoluhq/relay:latest`, Suite ernaartoe wijzen onder **dev-utils**, label maken. **Eigenaar: gebruiker** - [ ] **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 - het wachtwoord. Werkt hij niet, dan is de limietenrij met de hand zetten de enige weg vooruit + één container op een gepubliceerde image en vervallen de Postgres en het wachtwoord. Werkt hij niet, + 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 huidige pakket blijft: `sudo docker logs whatsnext-evolu-relay_relay_1`