S19: adopt shared mini-pc runner and landscape workflows
This commit is contained in:
12
docs/S19-followup-validation.md
Normal file
12
docs/S19-followup-validation.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# S19 review follow-up — 2026-11-10
|
||||
|
||||
Engineering v2.0.0 at `46df72f008113d0ed683a6c7344b1d7309564d84` is pinned and committed.
|
||||
Regeneration and bootstrap --check passed against the published tag and full commit.
|
||||
Shared engineering tests passed: 8 bootstrap/generator, 21 CI and 34 release tests;
|
||||
formatter integration passed. Java launcher documentation, varargs and console API updated.
|
||||
|
||||
Workflows use the shared user-scoped mini-pc runner for wanjakrah. It serves current
|
||||
and future repositories without per-project registration. Skills are maintained in
|
||||
landscape/skills/ and project agent instructions reference those workflows.
|
||||
Project deployment credentials and runtime configuration remain application-owned.
|
||||
No production deployment was performed.
|
||||
@@ -1,7 +1,7 @@
|
||||
# Agile Dancers backend review companion
|
||||
|
||||
Use [the shared review guidance](../generated/docs/backend-review.md),
|
||||
[code-review skill](../generated/skills/code-review/SKILL.md), and
|
||||
[code-review skill](http://192.168.2.28:3000/wanjakrah/landscape/src/branch/main/skills/code-review/SKILL.md), and
|
||||
[project standards](../CODING_STANDARDS.md).
|
||||
|
||||
The backend module is agiledancers-be. The approved Group constructor waiver
|
||||
|
||||
@@ -36,7 +36,7 @@ Gitea 1.25.4 en de registry staan op de bestaande Synology,
|
||||
Linux x86_64 mini-pc. Er is geen extra hardware nodig. De mini-pc moet aanstaan en
|
||||
wakker blijven; Docker en de runner moeten draaien. Anders blijven jobs wachten.
|
||||
Een host-runner voert repositorycode uit als de ontwikkelgebruiker: gebruik deze
|
||||
runner alleen voor deze vertrouwde repository.
|
||||
runner alleen voor de vertrouwde repositories van deze eigenaar.
|
||||
|
||||
De runner heeft Git, Bash, JDK 25, Maven 3.9+, Node 22.22.3+/24.15.0+/26+, npm
|
||||
en een werkende Docker-daemon
|
||||
@@ -87,7 +87,7 @@ Docker-clients die images van deze interne HTTP-registry moeten ophalen.
|
||||
|
||||
Gebruik de Docker Desktop-context of zet `DOCKER_HOST` expliciet. De installer
|
||||
neemt de geselecteerde socket over in de gebruikersservice. Als de socket later
|
||||
wijzigt, pas dan `~/.config/agiledancers-runner/environment` aan en herstart de
|
||||
wijzigt, pas dan `~/.config/mini-pc-runner/environment` aan en herstart de
|
||||
runner. Bij Docker Desktop blijft de Desktop-VM eveneens nodig voor builds.
|
||||
Runner en containers moeten de Synology en internetdownloads kunnen bereiken.
|
||||
|
||||
@@ -109,12 +109,13 @@ Stel bij repository **Settings → Actions** in:
|
||||
| Secret | `REGISTRY_TOKEN` | PAT met `write:package` en `read:repository` voor imagepublicatie en controle van de huidige hoofdbranch |
|
||||
|
||||
Het gewone jobtoken van Gitea 1.25 biedt geen packagepublicatie; gebruik een PAT.
|
||||
Gebruik een repository-runnerregistratietoken, geen instancebrede registratie.
|
||||
Gebruik de gedeelde user-scoped runner `mini-pc` voor `wanjakrah`; een nieuwe
|
||||
repository heeft geen eigen runnerregistratie nodig.
|
||||
Sla tokenwaarden buiten Git op en plaats ze niet in opdrachten, screenshots of logs.
|
||||
|
||||
Voor reproduceerbare configuratie bestaat `java generated/ci/Ci.java configure-gitea`. Maak twee
|
||||
bestanden buiten de repository met mode `600`: één voor een PAT met voldoende
|
||||
repositorybeheerrechten (repository Actions, secrets, variabelen en runnerregistratie),
|
||||
repositorybeheerrechten (repository Actions, secrets en variabelen),
|
||||
en één voor de publicatie-PAT. De beheer-PAT hoeft niet als workflowsecret te worden
|
||||
bewaard. Vul die bestanden via een lokale editor of verborgen terminalinvoer.
|
||||
Voer daarna uit met de werkelijke platformwaarde:
|
||||
@@ -127,11 +128,9 @@ export TARGET_PLATFORM=linux/amd64 # alleen als dit op de Synology is vastgeste
|
||||
java generated/ci/Ci.java configure-gitea
|
||||
```
|
||||
|
||||
Het script stelt de repository-instellingen in via de API en schrijft het
|
||||
runnerregistratietoken naar
|
||||
`~/.config/agiledancers-runner/registration-token` met mode `600`. Het toont geen
|
||||
tokenwaarden. Voor handmatige inrichting kun je dat registratietoken uit de
|
||||
repository-instellingen halen en in hetzelfde bestand plaatsen.
|
||||
Het script stelt alleen de applicatie-instellingen, registrysecrets en platformwaarde
|
||||
in. De gedeelde runnerregistratie wordt eenmalig beheerd vanuit engineering.
|
||||
Applicatiespecifieke deploymentcredentials blijven onder ~/.config/agiledancers-runner/.
|
||||
|
||||
De bevestigde Gitea 1.25.4-configuratie heeft geen `[actions]`-sectie: de defaults
|
||||
zijn negentig dagen voor artifacts en 365 dagen voor logs. Een workflow vraagt veertien dagen
|
||||
@@ -139,43 +138,30 @@ via `retention-days: 14`. Een kortere serverlimiet of het vroegtijdig verwijdere
|
||||
van workflowruns mag die periode niet inkorten. Artifactretentie geldt voor
|
||||
testdiagnostiek; gepubliceerde containerimages worden niet automatisch verwijderd.
|
||||
|
||||
## Runner installeren en starten
|
||||
## Gedeelde runner gebruiken
|
||||
|
||||
De fysieke mini-pc draait `mini-pc-runner.service` met label `mini-pc:host`,
|
||||
geregistreerd op gebruikersniveau voor `wanjakrah`. Daardoor kunnen bestaande en
|
||||
nieuwe repositories van deze eigenaar dezelfde runner gebruiken. De gedeelde
|
||||
capaciteit is één job tegelijk. De workflowbestanden gebruiken `runs-on: mini-pc`.
|
||||
|
||||
Voor eenmalige registratie, installatie en migratie volg je de
|
||||
[engineering-instructies](http://192.168.2.28:3000/wanjakrah/engineering/src/tag/v2.0.0/README.md).
|
||||
Controleer dit project met `java generated/ci/Ci.java check-runner`; gebruik daarbij
|
||||
het in engineering beschreven owner-only tokenbestand voor de gedeelde setup.
|
||||
|
||||
```sh
|
||||
export JAVA_HOME=/usr/lib/jvm/java-25-openjdk-amd64
|
||||
java generated/ci/Ci.java install-runner --prepare-only
|
||||
# Na Dockerconfiguratie en het opslaan van het registratietoken:
|
||||
java generated/ci/Ci.java install-runner
|
||||
systemctl --user status agiledancers-runner
|
||||
journalctl --user -u agiledancers-runner -f
|
||||
systemctl --user status mini-pc-runner
|
||||
journalctl --user -u mini-pc-runner -f
|
||||
systemctl --user restart mini-pc-runner
|
||||
```
|
||||
|
||||
De installer controleert tools, installeert checksum-gecontroleerde runner
|
||||
`v0.2.13`, neemt label `agiledancers-mini-pc:host` over en registreert de runner.
|
||||
Configuratie en `.runner`-credentials staan in
|
||||
`~/.local/share/agiledancers-runner`, de service in
|
||||
`~/.config/systemd/user/agiledancers-runner.service` en de expliciete Java-, PATH-
|
||||
en Docker-socketinstellingen in `~/.config/agiledancers-runner/environment`.
|
||||
Een bestaande registratie wordt hergebruikt. Er worden geen secrets in de
|
||||
repository geschreven. Bewaar het tokenbestand alleen zolang registratie/herstel
|
||||
dat nodig heeft en behandel `.runner` als credential.
|
||||
|
||||
Op de mini-pc starten Docker Desktop en de runner automatisch na grafisch
|
||||
aanmelden. Bij een Docker Desktop-socket installeert de installer hiervoor
|
||||
`~/.config/systemd/user/agiledancers-runner.service.d/10-agiledancers-docker-desktop.conf`
|
||||
en schakelt beide services in voor `graphical-session.target`. De runner wacht
|
||||
via `~/.local/share/agiledancers-runner/WaitForDocker.java` maximaal 120 seconden
|
||||
tot de ingestelde Docker-engine bereikbaar is. Bij een mislukte start probeert
|
||||
systemd het na tien seconden opnieuw. De runner volgt stoppen en herstarten van
|
||||
Docker Desktop en stopt bij afmelden.
|
||||
|
||||
User lingering staat op deze pc uit: vóór aanmelden starten deze services niet.
|
||||
S4 belooft geen beschikbaarheid wanneer de mini-pc uitstaat. Herstarten/stoppen:
|
||||
|
||||
```sh
|
||||
systemctl --user restart agiledancers-runner
|
||||
systemctl --user stop agiledancers-runner
|
||||
```
|
||||
Runnerstate staat onder ~/.local/share/mini-pc-runner/ en serviceconfiguratie onder
|
||||
~/.config/mini-pc-runner/. De runner start samen met Docker Desktop na grafisch
|
||||
aanmelden, wacht maximaal 120 seconden op Docker en probeert een mislukte start
|
||||
opnieuw. User lingering staat uit: vóór aanmelden of bij een uitgeschakelde mini-pc
|
||||
is de runner niet beschikbaar. De oude agiledancers-runnerstate blijft voor herstel
|
||||
bewaard; applicatiespecifieke deploymenttokens en SSH-sleutels blijven op hun eigen paden.
|
||||
|
||||
## Images en publicatie
|
||||
|
||||
|
||||
Reference in New Issue
Block a user