Skip to content

Repository files navigation

Impertio Agent

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.

Waarom een eigen kopie

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

Takken

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.

Wat er van ons in zit

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.

Een patch toevoegen

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.

Bijwerken vanaf upstream

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.

Wat hier nooit in komt

Geen sleutels, geen adressen, geen tokens, geen configuratie van onze omgeving. Wat een server nodig heeft om zichzelf te kennen, krijgt hij van Press.

About

Impertio-kopie van frappe/agent; naam moet exact agent zijn (Press leest github.com/<eigenaar>/agent)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages