Files
UmbrelApps/Docs/Plannen/Actief/007-Proefopstelling/PLAN.md
T
HarmenandClaude Opus 5 67ed9b603b Eén app store, twee apps
umbrelOS leest per store één repo, dus twee apps in twee repo's kan niet. Deze
repo is de store en bevat vanaf nu Electrum Gate en het werk aan Evolu Relay.
Opgezet als verse repo op verzoek van de gebruiker: de historie van ElectrumTLS
en van EvoluRelay komt niet mee.

Dat heeft één gevolg dat verder gaat dan opruimen. In de historie van
ElectrumTLS staat het domein van de gebruiker en het certificaatpad, van vóór de
opschoning van 19-08. Die komt hier niet in. Zolang die repo op de Git-server
blijft staan verandert dat niets, dus het weghalen ervan is het laatste stuk van
open punt 3 van het plan Appstore, en geen bijzaak.

De store zelf hoefde niet te veranderen: store-id whatsnext, en dus blijft het
app-id whatsnext-electrum-gate. Dat hangt aan het store-id en niet aan de URL,
dus voor umbrelOS is dit dezelfde app in een andere store. Dat de store op 19-08
naar de maker genoemd werd in plaats van naar deze ene app, betaalt zich hier
uit.

Wat de documentatie betreft is dit één wortel voor beide apps, en dat was de
reden om samen te voegen en niet de prijs ervan: de appstore-spec, het pinnen
van images en de werkwijze golden al voor allebei en stonden in twee repo's naast
elkaar. De kruisverwijzing die daarvoor nodig was (Referenties/Umbrel-appstore.md
in de oude EvoluRelay-repo) is verdwenen; wat daarin stond over de plekken waar
de relay een ander geval is, staat nu als ontwerp in het masterplan Umbrelapp §4.

Botsende namen kregen een achtervoegsel met de app, en alleen die: Publicatie
werd Publicatie-Gate en Publicatie-Relay, CHANGELOG.md werd
CHANGELOG-electrum-gate.md. Proefopstelling kreeg 007, tussen de twee bestaande
nummers, zodat de bovenkant van de reeks op tier-orde blijft staan.
CONTINUE_HERE.md heeft een kolom App, maar de tiers lopen over beide apps heen:
er is één volgorde van werken.

Electrum Gate gaat naar 0.0.15, want website, repo, support, submission en icon
wijzen nu naar UmbrelApps en zonder versieverhoging rolt dat niet uit. De release
notes leggen aan de gebruiker uit dat hij de store opnieuw moet toevoegen. Of een
geïnstalleerde app een wisseling van store-URL overleeft is nog steeds niet
uitgezocht; dat blijkt bij het omzetten.

Twee dingen in de plannen van Electrum Gate waren door deze verhuizing niet meer
waar en zijn bijgewerkt: de taak "de repo hernoemen" in fase 7 is afgevinkt, en
de repo-vorm in PLAN.md §4a toonde nog de store-id electrumtls, die al sinds
fase 7 achterhaald was.

Tests: 39 goed 0 fout en 54 goed 0 fout, niets overgeslagen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 16:27:57 +02:00

4.5 KiB

Proefopstelling - plan

Ontwerp en afbakening. Dit bestand lees je zelden, alleen bij twijfel over scope of architectuur. Status staat in TAKEN.md, geschiedenis in PROGRESS.md, onbesliste punten in OPEN.md.

1. Doel

Uitzoeken of Evolu Relay zelf gehost bruikbaar is voor Trezor Suite, en met welke minimale set containers en omgevingsvariabelen. Dat gebeurt lokaal, buiten Umbrel om, want een pakket bouwen voor iets waarvan je niet weet of het draait is de dure volgorde.

Als dit plan af is, is er één zin die het volgende plan kan aannemen: "de relay draait met deze containers en deze variabelen, en Trezor Suite synchroniseert ermee." Zonder die zin is elk manifest een gok.

2. Afbakening

Alles tot en met een label dat op apparaat A gezet wordt en op apparaat B verschijnt, via een relay die op het thuisnetwerk draait en die niets van Trezor nodig heeft.

Binnen dit plan valt ook het opschrijven van wat er nodig bleek: welke variabelen, welke poorten, welke volumes, en waar de images vandaan komen. Dat is niet de bijvangst maar het eigenlijke product; het volgende plan leest het.

3. Niet-doelen

  • Geen umbrel-app.yml en geen docker-compose.yml in Umbrel-vorm. Dat is het masterplan Umbrelapp, en het heeft de uitkomst van dit plan nodig.
  • Geen bereikbaarheid van buiten, geen TLS, geen Tailscale. Masterplan Bereikbaarheid. Hier volstaat een IP op het eigen netwerk.
  • Geen eigen image bouwen of publiceren. Blijkt dat nodig, dan is dat een bevinding van dit plan en werk van het volgende.
  • Niets met quota's of betalen. De quota-manager is hier een obstakel dat je wegwerkt of moet meenemen, geen functionaliteit die we willen.
  • Geen bijdrage aan trezor/trezor-suite-sync. Ook niet als er onderweg iets stuk blijkt.

4. Ontwerp

4a. De volgorde is: eerst wat het project kan doden

Het vooronderzoek zet "clone en draai" als eerste stap. Dat is niet de goedkoopste weerlegging. Er zijn twee aannames waarop dit project stukloopt, en de eerste kost een minuut:

  1. Kan Trezor Suite überhaupt naar een eigen relay wijzen? Het vooronderzoek gaat uit van een "Custom server"-veld. Bestaat dat niet in de Suite-versie van de gebruiker, of alleen op een platform dat hij niet gebruikt, dan is er niets te pakketteren. Dit is te controleren in de interface, zonder iets te installeren.
  2. Is de quota-manager verplicht? Zie Upstream-evolu-relay.md §3. Dit is te lézen in .env.sample, de compose en de broncode, en pas daarna te bewijzen door hem weg te laten.

Pas als die twee goed staan, is "clone en draai" de moeite waard.

4b. Wat er gedraaid wordt

De compose van Trezor zelf, ongewijzigd waar het kan, met de quota-manager uitgeschakeld. Ongewijzigd is hier een doel op zich: elke aanpassing die je maakt, is een aanpassing waarvan je later niet meer weet of hij nodig was. Werkt het niet zonder wijziging, dan is de wijziging zelf een bevinding.

4c. Wat er opgeschreven wordt

Per container: image en herkomst, poorten, volumes, en de omgevingsvariabelen die echt nodig bleken, niet de hele .env.sample. Dat onderscheid is het verschil tussen een manifest van tien regels en een van veertig, en het is achteraf niet meer te maken.

Daarbij twee dingen die het volgende plan hard nodig heeft en die je alleen hier tegenkomt: komt de image uit een registry of alleen uit een Dockerfile, en hoe authenticeert Suite zich tegen de relay. Die tweede bepaalt of de app achter de inlog van umbrelOS kan staan; zie het masterplan Umbrelapp, §4b.

5. Raakvlakken

  • Umbrelapp is hard afhankelijk van dit plan: het aantal containers, de variabelen en de authenticatievraag komen hier vandaan.
  • Bereikbaarheid leunt op één bevinding hier: accepteert Suite een http://-adres, of eist het TLS?
  • Publicatie leunt op de herkomst van de image. Zonder een gepinde multi-arch image uit een registry komt dat plan niet van de grond.

6. Verificatie

Wat als bewijs telt, in oplopende sterkte:

  1. de relay start en blijft draaien zonder quota-manager;
  2. Trezor Suite accepteert het adres en meldt geen fout;
  3. een label dat op apparaat A gezet wordt, verschijnt op apparaat B na een synchronisatie. Dit is de enige die telt. De eerste twee kunnen slagen terwijl er niets gesynchroniseerd wordt.

Wat hier per se niet bewezen wordt, en wat dus niet als "werkt" gemeld mag worden: gedrag op arm64, overleven van een herstart, gedrag onder umbrelOS, en bereikbaarheid van buiten het thuisnetwerk.