De korte containernaam 'agent' wees naar de verkeerde app

Alle apps van umbrelOS delen een Docker-netwerk, dus een servicenaam als 'agent'
is daar niet uniek. Electrum Gate heeft er een op poort 8000 en Evolu Relay sinds
vandaag ook, en Docker verdeelde de naam netjes over allebei. Gemeten op het
apparaat: van tien verzoeken vanuit de nginx-container kwamen er vijf bij de
verkeerde app uit, met een 404 tot gevolg. Op de statuspagina zag dat eruit als
een status die wisselde tussen "running" en "agent unreachable".

Dit raakte twee apps, en de tweede is de vervelende: de pagina van Electrum Gate
proxyde ook naar http://agent:8000 en werkte alleen omdat die app tot vandaag de
enige met die naam was. Het installeren van Evolu Relay heeft die pagina dus
kapotgemaakt. Beide gaan nu naar <app-id>_agent_1, en beide manifesten gaan
omhoog, want zonder verhoging bereikt een gewijzigde template geen bestaande
installatie.

Dezelfde les stond al in de compose van Electrum Gate, over de servicenaam
'server', en die is bij het schrijven van de nginx-config genegeerd. Daarom nu een
toets erop: test_appstore_vorm controleert voor elke app dat een proxy_pass en
elke *_HOST-variabele een naam gebruiken die met het app-id begint. Muteertest
gedaan, de toets viel om op precies de korte naam.

Bijgewerkt in build.sh: VERSION daar is het etiket op de image, en `version` in
het manifest is een ander nummer dat erop vooruit mag lopen. Ze lopen uiteen zodra
er een reparatie in de app-map zit zonder dat de image wijzigt, en dat is nu het
geval.

Tests: alle vier groen (34, 54, 39 en 60 goed, 0 fout).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Harmen
2026-08-28 11:41:58 +02:00
co-authored by Claude Opus 5
parent 0acd315877
commit 2b17f79181
6 changed files with 94 additions and 12 deletions
+11 -2
View File
@@ -56,8 +56,17 @@ http {
# Geen proxy_set_header hier, en dat is geen vergetelheid: die zouden een
# nginx-variabele vragen, en die haalt de template-invulling weg. De
# agent heeft ze niet nodig.
#
# De volledige containernaam en niet de servicenaam 'agent'. Dat stond er
# tot 0.0.23 wel, en het werkte zolang deze app de enige was met een
# service van die naam. Sinds Evolu Relay er is, is dat niet meer waar:
# beide apps zitten op hetzelfde Docker-netwerk, allebei met een 'agent'
# op poort 8000, en Docker verdeelt de naam dan over de twee. Op
# 28-08-2026 gemeten op het apparaat: van tien verzoeken kwamen er vijf
# bij de verkeerde app uit. De vorm <app-id>_<service>_1 is uniek per app;
# het is dezelfde les die in de compose al stond over de naam 'server'.
location /api/ {
proxy_pass http://agent:8000;
proxy_pass http://whatsnext-electrum-gate_agent_1:8000;
client_max_body_size 1k;
}
@@ -67,7 +76,7 @@ http {
# limiet geldt nergens anders. De agent kapt zelf ook af, op 96k; deze
# limiet is de eerste zeef en niet de enige.
location = /api/certificate/upload {
proxy_pass http://agent:8000;
proxy_pass http://whatsnext-electrum-gate_agent_1:8000;
client_max_body_size 96k;
}
}