# Ошибки и решения > Сюда записываем проблемы с которыми столкнулись и как их решили. ## Шаблон записи ``` ## YYYY-MM-DD — Короткое описание проблемы **Проблема:** ... **Причина:** ... **Решение:** ... ``` ## 2026-03-07 — kaniko: unsupported protocol scheme "" **Проблема:** kaniko Job падает с `unsupported protocol scheme ""` при доступе к S3. **Причина:** В env `S3_ENDPOINT` передавался хост без схемы (`s3.msk-1.ngcloud.ru`), kaniko ожидает полный URL. **Решение:** В `builder.go` добавить `"https://" + b.s3Endpoint` при формировании env для kaniko. Также добавить `S3_FORCE_PATH_STYLE=true` — Ceph требует path-style URLs. --- ## 2026-03-07 — Бесконечный цикл сборки (94 job'а) **Проблема:** После upload оператор создавал сотни kaniko Job'ов. **Причина:** Upload handler вызывал `Status().Update(phase=Pending)` ПОСЛЕ того как контроллер уже выставил `Building`. Контроллер видел `Pending` → создавал новый Job, upload снова сбрасывал → цикл. **Решение:** 1. `startBuild()` СНАЧАЛА ставит аннотацию `last-built-s3key = spec.S3Key` (idempotency guard), затем обновляет статус. 2. Reconcile запускает сборку только если `spec.S3Key != annotations["last-built-s3key"]`. 3. Upload handler убран `Status().Update()` — контроллер сам управляет фазой. 4. `IsAlreadyExists` при создании Job не считается ошибкой (parallel reconcile). --- ## 2026-03-07 — Docker credStore: exec "docker-credential-desktop.exe" **Проблема:** `docker push` падал с `exec: "docker-credential-desktop.exe": executable file not found`. **Причина:** В `~/.docker/config.json` осталась запись `"credsStore": "desktop.exe"` от Docker Desktop. **Решение:** Удалить поле `credsStore` из `~/.docker/config.json`, оставить только `auths` с base64 credentials. --- ## 2026-03-07 — controller-gen v0.11.1 паникует с Go 1.23 **Проблема:** `operator-sdk create api` падает с panic в `controller-gen` при `make generate`. **Причина:** controller-tools v0.11.1 несовместим с Go 1.23 (nil pointer dereference в go/types). **Решение:** В `Makefile` заменить `CONTROLLER_TOOLS_VERSION ?= v0.11.1` на `v0.14.0`. ---