mirror of
https://github.com/imjasonh/git-k8s
synced 2026-07-10 07:31:59 +00:00
Critical production-readiness improvements: - Prometheus metrics: reconcile count/latency per controller, Git operation duration (clone/push/ls-remote) via pkg/metrics with /metrics on :9090 - Health probes: leverage Knative's built-in health server on :8080, add readiness/liveness probes to all four deployment manifests - Git operation timeouts: 5-minute context deadline on all git.CloneContext and PushContext calls to prevent indefinite blocking on large repos - Unit tests: new ReconcileKind-level tests for push (pending→failed on missing repo, auth error paths), sync (branch-not-found, LastSyncTime), resolver (missing repo, partial hashes, empty phase), and repowatcher (ls-remote errors, empty remote, unchanged branches) https://claude.ai/code/session_01PaXbaSqhVEqj97kpY4v6rt
16 lines
436 B
Go
16 lines
436 B
Go
package main
|
|
|
|
import (
|
|
"knative.dev/pkg/injection/sharedmain"
|
|
"knative.dev/pkg/signals"
|
|
|
|
"github.com/imjasonh/git-k8s/pkg/health"
|
|
_ "github.com/imjasonh/git-k8s/pkg/metrics" // register Prometheus metrics
|
|
"github.com/imjasonh/git-k8s/pkg/reconciler/push"
|
|
)
|
|
|
|
func main() {
|
|
ctx := signals.NewContext()
|
|
go health.ServeMetrics(ctx, ":9090") //nolint:errcheck
|
|
sharedmain.MainWithContext(ctx, "push-controller", push.NewController)
|
|
}
|