Onze eigen kopie van frappe/agent. De agent is het programma dat op elke server draait die Press beheert. Press stuurt hem opdrachten en de agent voert ze uit op de machine zelf: een bench bouwen, een site aanmaken, een back-up draaien, een certificaat plaatsen. Press praat nooit rechtstreeks met een bench; alles gaat door de agent heen.
Press installeert de agent rechtstreeks vanaf GitHub en stelt dat adres samen als
github.com/<eigenaar>/agent, met de eigenaar en de tak uit onze eigen Press Settings.
Met deze kopie bepalen wij welke code onze servers binnenhalen, en kan die niet onder ons
vandaan veranderen. De repo-naam moet daarom exact agent zijn.
Wat onze Press vandaag ophaalt, gemeten op 9 september 2026:
| Instelling in Press Settings | Waarde |
|---|---|
agent_repository_owner |
Impertio-Studio |
branch |
impertio-main |
| Tak | Betekenis |
|---|---|
impertio-main |
wat op onze servers draait, en de standaardtak van deze repo |
development |
ongewijzigde spiegel van de upstream-tak master van frappe/agent |
De naam van de draaiende tak is op 9 september 2026 veranderd van impertio-c4-gateway
naar impertio-main, en de spiegel van master naar development, zodat beide kopieën
(deze en de press-kopie) dezelfde namen dragen. De oude takken develop, impertio en
impertio-c4-keuze1 zijn verwijderd nadat per tak was gemeten dat hun commits vanaf een
blijvende tak bereikbaar waren.
Verander de naam van de tak nooit zonder in dezelfde stap branch in Press Settings mee te
zetten, en zet Press nooit op een tak die niet bestaat: bij de volgende Setup Server of
Agent Update haalt Press die tak op en dan valt de installatie stil.
Anders dan in de eerste versie van dit bestand staat er wel degelijk eigen werk in deze
kopie: veertien commits op impertio-main die niet in de spiegel zitten. Ze horen bij
patch C4, de clusterlaag met Galera en de ProxySQL-gateway, en bij het uitrolwerk daaromheen.
In thema's, want de nummering in het interne patchplan loopt niet gelijk met de commits:
- de agent schrijft de ProxySQL-gateway uit de configuratie die Press aanlevert, maakt de tabellen eerst leeg zodat Press werkelijk de bron is, en plaatst die configuratie via een smalle root-helper in plaats van met brede rechten;
- gebruikers van een site worden in ProxySQL geregistreerd voordat een bench een site aanmaakt, en ook bij een site die uit een back-up wordt teruggezet;
- een proxy wordt herkend aan een expliciete vlag in zijn configuratie in plaats van aan de vorm van zijn naam;
- een secundaire met gewicht nul verschijnt in nginx als reserve, en de reserve-upstream bedient ook websockets en herkanst een keer bij een 502;
- de agent respecteert het eigen eindpunt voor offsite-back-ups;
- wachtwoorden in opdrachten worden gemaskeerd voordat ze in het joblog terechtkomen.
Zelfde regels als in de press-kopie: een eigen commit per wijziging, in de gebiedende wijs
en met het waarom in het bericht, een verwijzing naar het interne patchplan, en een pull
request naar impertio-main. Bewijs van de werking hoort bij de uitrol, niet in dit bestand.
git remote add upstream https://github.com/frappe/agent # eenmalig
git fetch upstream
git checkout development && git merge --ff-only upstream/master
De spiegel bijwerken is veilig. impertio-main op een nieuwe upstream-stand zetten is een
beslissing, geen routine: onze veertien commits moeten er opnieuw op, en daarna moet de
uitrol op een proefserver bewezen worden voordat de klantservers hem krijgen.
Geen sleutels, geen adressen, geen tokens, geen configuratie van onze omgeving. Wat een server nodig heeft om zichzelf te kennen, krijgt hij van Press.