1
0
Fork 0
mirror of https://github.com/imjasonh/git-k8s synced 2026-07-18 06:55:48 +00:00

Add repo-watcher-controller for polling remote Git refs

Introduces a fourth controller that watches GitRepository resources and
polls their remotes via git ls-remote on a configurable per-repo interval
(spec.pollInterval, defaulting to 30s). It auto-creates, updates, and
deletes GitBranch CRDs to reflect the actual state of the remote,
enabling fast detection of external pushes to trigger downstream sync.

Key changes:
- Add PollInterval field to GitRepositorySpec
- New pkg/reconciler/repowatcher with controller and reconciler
- New cmd/repo-watcher-controller binary
- CRD manifest updated for pollInterval
- Deployment manifest for the new controller
- Unit tests for ref filtering, naming, and poll interval logic
- CLAUDE.md updated with new controller docs and Go module workaround

https://claude.ai/code/session_01P7xfBqARU5DFS8QJ4uDPVj
This commit is contained in:
Claude 2026-02-28 14:09:58 +00:00
parent 4e9968a725
commit ee281430b6
No known key found for this signature in database
9 changed files with 552 additions and 2 deletions

View file

@ -0,0 +1,11 @@
package main
import (
"knative.dev/pkg/injection/sharedmain"
"github.com/imjasonh/git-k8s/pkg/reconciler/repowatcher"
)
func main() {
sharedmain.Main("repo-watcher-controller", repowatcher.NewController)
}