Ett lyckat Update-jobb syns i dag bara i UI:t (Jobs-sidan) och i tabellen update_jobs. Varken master eller agent skriver något i sina containerloggar när ett jobb skapas, startar eller blir klart. Det enda som loggas är varningar på felvägar. Den som läser docker service logs / docker logs ser alltså inte att en service har uppdaterats, och loggarna går inte att korrelera med andra händelser på maskinen.
internal/agent/conn/conn.go: master_connected (antal kända jobb)
Inget Info för skapat, startat eller avslutat jobb, varken på master eller agent.
Förslag
Logga med samma slog-stil som resten (snake_case-nycklar):
Master
job_created: job_id, service_id, service (DisplayName), agent, from_ref, to_ref, trigger, requested_by (OIDC-subjektet), i jobs.Trigger.
job_refused: samma fält plus reason, när Updatable vägrar eller jobbet failar direkt (offline, too old, revoked).
job_finished: job_id, service, agent, status, duration, error, när FinishJob faktiskt applicerar ett resultat. Logga inte en gång till när ett omskickat resultat bara bekräftas på nytt.
job_lost / jobs_failed_on_revoke: när rekonsilieringen eller en återkallning failar jobb.
Agent
job_started: job_id, kind, service, ref.
job_finished: job_id, status, duration, error, plus den upplösta digesten (to_ref med @sha256).
Kommandots output (docker compose pull/up) loggas inte, eftersom den redan finns i jobbloggen i UI:t. Gränsen på 128 KiB gäller där.
Tester
Fånga loggarna med en slog.Handler som skriver till en buffer i de befintliga testerna för jobs, hub och updater, och kontrollera att varje händelse loggas exakt en gång. Det gäller också att ett omskickat resultat inte ger en andra job_finished.
Scope
Ingår: livscykelloggar för jobb på master och agent.
Ingår inte: notiser till externa kanaler (#12), revisionsvy i UI:t och metrics.
## Beskrivning
Ett lyckat Update-jobb syns i dag bara i UI:t (Jobs-sidan) och i tabellen `update_jobs`. Varken master eller agent skriver något i sina containerloggar när ett jobb skapas, startar eller blir klart. Det enda som loggas är varningar på felvägar. Den som läser `docker service logs` / `docker logs` ser alltså inte att en service har uppdaterats, och loggarna går inte att korrelera med andra händelser på maskinen.
## Nuvarande läge
Jobbrelaterade loggrader i dag (bara `Warn`):
- `internal/master/jobs/jobs.go`: `job_start_failed`
- `internal/master/hub/jobs.go`: `job_progress_ignored`, `job_result_ignored`
- `internal/master/hub/hub.go`: `known_job_not_numeric`
- `internal/agent/conn/conn.go`: `master_connected` (antal kända jobb)
Inget `Info` för skapat, startat eller avslutat jobb, varken på master eller agent.
## Förslag
Logga med samma slog-stil som resten (snake_case-nycklar):
**Master**
- `job_created`: `job_id`, `service_id`, `service` (DisplayName), `agent`, `from_ref`, `to_ref`, `trigger`, `requested_by` (OIDC-subjektet), i `jobs.Trigger`.
- `job_refused`: samma fält plus `reason`, när `Updatable` vägrar eller jobbet failar direkt (offline, too old, revoked).
- `job_finished`: `job_id`, `service`, `agent`, `status`, `duration`, `error`, när `FinishJob` faktiskt applicerar ett resultat. Logga inte en gång till när ett omskickat resultat bara bekräftas på nytt.
- `job_lost` / `jobs_failed_on_revoke`: när rekonsilieringen eller en återkallning failar jobb.
**Agent**
- `job_started`: `job_id`, `kind`, `service`, `ref`.
- `job_finished`: `job_id`, `status`, `duration`, `error`, plus den upplösta digesten (`to_ref` med `@sha256`).
Kommandots output (`docker compose pull/up`) loggas **inte**, eftersom den redan finns i jobbloggen i UI:t. Gränsen på 128 KiB gäller där.
## Tester
Fånga loggarna med en `slog.Handler` som skriver till en buffer i de befintliga testerna för `jobs`, `hub` och `updater`, och kontrollera att varje händelse loggas exakt en gång. Det gäller också att ett omskickat resultat inte ger en andra `job_finished`.
## Scope
- Ingår: livscykelloggar för jobb på master och agent.
- Ingår inte: notiser till externa kanaler (#12), revisionsvy i UI:t och metrics.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Beskrivning
Ett lyckat Update-jobb syns i dag bara i UI:t (Jobs-sidan) och i tabellen
update_jobs. Varken master eller agent skriver något i sina containerloggar när ett jobb skapas, startar eller blir klart. Det enda som loggas är varningar på felvägar. Den som läserdocker service logs/docker logsser alltså inte att en service har uppdaterats, och loggarna går inte att korrelera med andra händelser på maskinen.Nuvarande läge
Jobbrelaterade loggrader i dag (bara
Warn):internal/master/jobs/jobs.go:job_start_failedinternal/master/hub/jobs.go:job_progress_ignored,job_result_ignoredinternal/master/hub/hub.go:known_job_not_numericinternal/agent/conn/conn.go:master_connected(antal kända jobb)Inget
Infoför skapat, startat eller avslutat jobb, varken på master eller agent.Förslag
Logga med samma slog-stil som resten (snake_case-nycklar):
Master
job_created:job_id,service_id,service(DisplayName),agent,from_ref,to_ref,trigger,requested_by(OIDC-subjektet), ijobs.Trigger.job_refused: samma fält plusreason, närUpdatablevägrar eller jobbet failar direkt (offline, too old, revoked).job_finished:job_id,service,agent,status,duration,error, närFinishJobfaktiskt applicerar ett resultat. Logga inte en gång till när ett omskickat resultat bara bekräftas på nytt.job_lost/jobs_failed_on_revoke: när rekonsilieringen eller en återkallning failar jobb.Agent
job_started:job_id,kind,service,ref.job_finished:job_id,status,duration,error, plus den upplösta digesten (to_refmed@sha256).Kommandots output (
docker compose pull/up) loggas inte, eftersom den redan finns i jobbloggen i UI:t. Gränsen på 128 KiB gäller där.Tester
Fånga loggarna med en
slog.Handlersom skriver till en buffer i de befintliga testerna förjobs,hubochupdater, och kontrollera att varje händelse loggas exakt en gång. Det gäller också att ett omskickat resultat inte ger en andrajob_finished.Scope