INNER CODE UNIT · Go
launchClickHouseReconcilerMetricsExporter
Altinity/clickhouse-operator · cmd/operator/app/main.go:122
func launchClickHouseReconcilerMetricsExporter(ctx context.Context, wg *sync.WaitGroup) {
initClickHouseReconcilerMetricsExporter(ctx)
wg.Add(1)
go func() {
defer wg.Done()
runClickHouseReconcilerMetricsExporter(ctx)
}()
}
// keeperInitRetryBackoff paces the retry of initKeeper. Narrowing the Keeper caches by label makes
// controller-runtime resolve a REST mapping for every narrowed type while the manager is built, so
// initKeeper now reaches the API server where it previously did not: its failures are no longer
// only deterministic programming faults, they include whatever the API server is doing at boot.
//
// Retried indefinitely, and deliberately so. The two alternatives are both worse:
//
// - Giving up after a fixed budget leaves Keeper reconciliation dead for the lifetime of the
// process because initKeeper runs only at start-up, so an outage a minute longer than the