Unattended Agent-Watch: --all-repos dynamisch nachladen (Server-Daemon) #66

Open
opened 2026-07-20 18:44:04 +02:00 by frank · 1 comment
Owner

Kontext

Für einen unattended Server-Daemon soll forge agent watch --all-repos regelmäßig neue, für den Login zugängliche Repositories entdecken und in die Überwachung aufnehmen — ohne Neustart.

Ist-Stand

Bereits implementiert:

  • Flag --all-repos / all_repos: true listet via Forgejo-API (/user/repos) und merged mit expliziten repos:-Overrides
  • Health-Loop ruft periodisch refreshAllRepos auf (Intervall = --interval)
  • Neue Repos werden geclont (EnsureRepos), Collaborators gemappt und per ScheduleReload aktiv

Siehe: internal/agent/health.go (refreshAllRepos), internal/agent/repos.go (ExpandAllRepos), Wiki Agent-Watch → Health-Loop.

Ziel dieses Epics

Lücken schließen, damit der Daemon wirklich unattended und robust auf einem Server laufen kann (API-Schonung, Filter, Doku, Tests).

Akzeptanz (Epic)

  • Daemon kann dauerhaft mit --all-repos --no-tui laufen und nimmt neue Repos ohne Restart auf
  • API-Last durch Repo-Listing ist kontrollierbar
  • Optional: Auswahl/Filter welcher Repos übernommen werden
  • Server-Setup ist dokumentiert (Credentials, systemd, Flags)
  • Health-Pfad für Repo-Refresh ist getestet

Label-Vorschlag: enhancement

## Kontext Für einen unattended Server-Daemon soll `forge agent watch --all-repos` regelmäßig neue, für den Login zugängliche Repositories entdecken und in die Überwachung aufnehmen — ohne Neustart. ## Ist-Stand Bereits implementiert: - Flag `--all-repos` / `all_repos: true` listet via Forgejo-API (`/user/repos`) und merged mit expliziten `repos:`-Overrides - Health-Loop ruft periodisch `refreshAllRepos` auf (Intervall = `--interval`) - Neue Repos werden geclont (`EnsureRepos`), Collaborators gemappt und per `ScheduleReload` aktiv Siehe: `internal/agent/health.go` (`refreshAllRepos`), `internal/agent/repos.go` (`ExpandAllRepos`), Wiki `Agent-Watch` → Health-Loop. ## Ziel dieses Epics Lücken schließen, damit der Daemon wirklich unattended und robust auf einem Server laufen kann (API-Schonung, Filter, Doku, Tests). ## Akzeptanz (Epic) - [ ] Daemon kann dauerhaft mit `--all-repos --no-tui` laufen und nimmt neue Repos ohne Restart auf - [ ] API-Last durch Repo-Listing ist kontrollierbar - [ ] Optional: Auswahl/Filter welcher Repos übernommen werden - [ ] Server-Setup ist dokumentiert (Credentials, systemd, Flags) - [ ] Health-Pfad für Repo-Refresh ist getestet Label-Vorschlag: `enhancement`
Author
Owner

Arbeitspakete

# Thema
#67 Eigenes Refresh-Intervall (API-Schonung)
#68 Filter/Allowlist (Owner, Org, Pattern)
#69 Doku: Unattended Server-Daemon
#70 Tests: refreshAllRepos im Health-Loop
### Arbeitspakete | # | Thema | | --- | --- | | #67 | Eigenes Refresh-Intervall (API-Schonung) | | #68 | Filter/Allowlist (Owner, Org, Pattern) | | #69 | Doku: Unattended Server-Daemon | | #70 | Tests: `refreshAllRepos` im Health-Loop |
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
frank/forgecli#66
No description provided.