Plan Eigenimage, fase 1 tot en met 3. De vier templates verhuizen naar tools/electrum-gate/ zonder extensie; daarnaast Dockerfile (nginx:1.30-alpine plus python3), entrypoint.sh (het command-blok van de compose, zonder $$) en build.sh naar het voorbeeld van Evolu Relay. Een image voor beide containers, gebouwd op de Umbrel; open punt 2 en 3 daarmee beslist. Inhoudelijk anders dan alleen verplaatst: het log_format staat in stream.conf zelf, het backend-adres komt via twee plaatshouders zonder dollarteken uit de omgeving (ook in de server-service), en de pagina haalt versie en adres uit status.json via GATE_APP_VERSION. Tests mee verhuisd en uitgebreid: entrypoint.sh en Dockerfile in plaats van het command-blok, en de tag in de compose gelijk aan VERSION in build.sh voor elke eigen image. Mutatie-getest met drie ingrepen. Nog niet gebouwd: er is hier geen Docker. De tag staat ongepind tot de eerste push; dat is fase 4 en die is van de gebruiker. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
55 lines
3.3 KiB
Markdown
55 lines
3.3 KiB
Markdown
# Open punten - Eigenimage
|
||
|
||
> Beslissingen die nog een **eigenaar** of een **moment** nodig hebben. Staat een punt hier zonder
|
||
> allebei, dan is dat de eerste fout om op te lossen. Wordt een punt een taak, dan verhuist het naar
|
||
> [TAKEN.md](TAKEN.md).
|
||
>
|
||
> **Nummers blijven staan**, ook als een punt beslist is: er kan elders naar verwezen worden, ook vanuit
|
||
> codecommentaar. Beslissen betekent verplaatsen naar de kop hieronder, niet hernummeren.
|
||
>
|
||
> Deze drie punten stonden als §7 in het masterplan en zijn bij de promotie op 27-08-2026 hierheen
|
||
> verhuisd.
|
||
|
||
## Nog te beslissen
|
||
|
||
Niets.
|
||
|
||
## Beslist
|
||
|
||
2. **Eén image of twee?** - **Eén** (07-09-2026, sessie, volgens het voorstel in [PLAN.md](PLAN.md) §6).
|
||
De agent en nginx blijven twee containers met dezelfde image; de compose geeft de agent een eigen
|
||
`command`. Basis is `nginx:1.30-alpine` met `python3` uit apk, en niet andersom: de officiële
|
||
nginx-image heeft de stream-module ingebouwd, bij alpine's eigen nginx is dat een los pakket.
|
||
**Moment:** afgerond · **Eigenaar:** –
|
||
|
||
3. **Waar wordt gebouwd?** - **Op de Umbrel** (07-09-2026), om een eenvoudige reden: het is de enige
|
||
machine met Docker; de werkplek heeft het niet. Dat het een productiemachine is weegt minder dan dat
|
||
het de plek is waar Evolu Relay ook al gebouwd wordt. Gevolg: één architectuur, amd64, en dat is voor
|
||
eigen gebruik genoeg. Multi-arch zit in `build.sh` als schakelaar (`PLATFORMS=...`) en is werk voor
|
||
**Publicatie-Gate**; het is nog nooit geprobeerd.
|
||
**Moment:** afgerond · **Eigenaar:** –
|
||
|
||
1. **Blijft het Gitea-register ook bij publicatie de bron?** - **Voor nu Gitea, bij inlevering opnieuw
|
||
kijken** (27-08-2026, gebruiker).
|
||
|
||
De twee bezwaren die dit punt opriep gelden allebei pas bij inlevering, en dat is niet aan de orde: "dit
|
||
is echt mijn eigen app voor eigen gebruik, ik ben nog niet toe aan publiceren." Het domein van de
|
||
gebruiker staat dan in een pakket dat niemand aangeboden krijgt, en de enige die een image van zijn
|
||
thuisserver haalt is hij zelf. Daarmee vervallen ze niet, ze zijn alleen nog niet actueel.
|
||
|
||
**Wat dat voor dit plan betekent:** `build.sh` duwt naar `sc.kamenier-hamer.nl/sysop/...`, net als bij
|
||
Evolu Relay, en de compose pint op een digest daaruit. Het bouwrecept hoeft er niet omheen ontworpen te
|
||
worden dat het register later kan wisselen; een register wisselen is één regel in `build.sh` en één in
|
||
de compose, plus een versieverhoging.
|
||
|
||
**Wat er wél voor terugkomt is een taak in Publicatie-Gate en niet hier.** Bij inlevering moet het
|
||
register opnieuw beoordeeld worden, samen met het kaal maken van het app-id en het pinnen; dat zijn
|
||
toch al drie dingen die een herinstallatie vragen en die je één keer wilt doen. De gebruiker noemde er
|
||
nog iets bij dat de moeite van het uitzoeken waard is voordat het zover is: **umbrelOS zou een eigen
|
||
register toestaan.** Dat is niet nagetrokken, en het is precies het soort aanname dat je niet wilt
|
||
ontdekken op het moment van inleveren.
|
||
|
||
De spec zoals we hem kennen eist alleen `registry/repo:versie-of-commit@sha256:<digest>` met beide
|
||
architecturen erin, en zegt niets over wélk register. Naar de letter mag Gitea dus ook dan.
|
||
**Moment:** afgerond voor dit plan; het vervolg hoort bij **Publicatie-Gate** · **Eigenaar:** –
|