INNER CODE UNIT · Go
launchKeeper
Altinity/clickhouse-operator · cmd/operator/app/main.go:192
func launchKeeper(ctx context.Context, wg *sync.WaitGroup) {
wg.Add(1)
go func() {
defer wg.Done()
// In the goroutine rather than before it: initKeeper retries until the API server lets it
// through, and start-up must not block on that. The ClickHouse controller is already
// running by this point and stays independent of whatever happens here.
if err := initKeeperWithRetry(ctx, newKeeperInitializer()); err != nil {
if util.IsContextDone(ctx) {
log.Warning("Starting keeper ABORTED - shutting down, err: %v", err)
return
}
// Not Fatal: see keeperInitRetryBackoff. The operator keeps reconciling ClickHouse,
// and this log is the only signal that Keeper is not being reconciled - the shipped
// Deployment defines no readinessProbe, so the pod stays Ready regardless.
log.Warning("Starting keeper FAILED - keeper reconciliation is DISABLED for the "+
"lifetime of this process, err: %v", err)