operator-sdk создание / чтение CR при запуске - ошибка кеша
Где то место в коде, где следует разместить установочный код, взаимодействующий с кластером k8s? В сгенерированном коде я пытался разместить его перед запуском менеджера, но получаю ошибку.
r := &controllers.AppReconciler{
Client: mgr.GetClient(),
Log: ctrl.Log.WithName("controllers").WithName("App"),
Scheme: mgr.GetScheme(),
}
if err = r.SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "App")
os.Exit(1)
}
// Tried to place setup here
r.setup()
setupLog.Info("starting manager")
if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
setupLog.Error(err, "problem running manager")
os.Exit(1)
}
Тем не менее
setup()
функция получает ошибку: кеш не запускается, не может читать объекты при попытке вызова
r.List()
для существующих CR.
Целью этого является проверка существующих объектов CR в моем приложении и создание объектов CR, если они отсутствуют.