mirror of
https://github.com/imjasonh/git-k8s
synced 2026-07-17 22:44:43 +00:00
Move the key-splitting, resource-fetching, and not-found handling into a generic internal.NewReconciler wrapper so that each reconciler only implements ReconcileKind(ctx, *TypedResource) — matching the Knative generated reconciler convention. The controller setup wraps the reconciler with internal.NewReconciler, which bridges Reconcile(ctx, key) to ReconcileKind(ctx, *T). This removes duplicated boilerplate from all three reconcilers (push, sync, resolver), eliminates their Reconcile/LeaderAware methods, and makes splitKey an unexported implementation detail. https://claude.ai/code/session_01Eu3LyxX3G1KCcw4aDzmHvp
14 lines
419 B
Go
14 lines
419 B
Go
package internal
|
|
|
|
import "strings"
|
|
|
|
// splitKey splits a "namespace/name" key into its components.
|
|
// If the key has no slash, the namespace is empty and the whole key is the name.
|
|
func splitKey(key string) (namespace, name string) {
|
|
namespace, name, _ = strings.Cut(key, "/")
|
|
if name == "" {
|
|
// No slash found: Cut returns (key, "", false). The key is the name.
|
|
return "", namespace
|
|
}
|
|
return namespace, name
|
|
}
|