doc: document operator deploy, nodejs20 runtime, Dockerfile fixes, go.mod fix

This commit is contained in:
“Naeel”
2026-03-07 17:02:28 +04:00
parent 22c7e92590
commit d6dc676dfd
3 changed files with 77 additions and 2 deletions
+41
View File
@@ -150,3 +150,44 @@ deployment.Spec.Template.Annotations["kubectl.kubernetes.io/restartedAt"] = time
**Решение:** В `Makefile` заменить `CONTROLLER_TOOLS_VERSION ?= v0.11.1` на `v0.14.0`.
---
## 2026-03-07 — Dockerfile: operator не находит migrations/ при старте
**Проблема:** Оператор в кластере сразу падает в CrashLoopBackOff:
```
level=ERROR msg="read migration file" err="open migrations/001_initial.sql: no such file or directory"
```
**Причина:** Оригинальный `Dockerfile` копировал только `api/`, `controllers/`, `main.go`. Директории `internal/` и `migrations/` в образ не попадали.
**Решение:** Добавить в оба stage Dockerfile:
```dockerfile
COPY internal/ internal/ # в builder stage
COPY migrations/ migrations/ # и в builder, и в финальный alpine stage
```
`migrations/` нужен в финальном образе — оператор читает SQL-файлы в runtime при каждом старте.
---
## 2026-03-07 — Dockerfile: golang:1.23 несовместим с go.mod (требует 1.25)
**Проблема:** `docker build` падает на `go mod download`:
```
go: go.mod requires go >= 1.25 (running go 1.23.12; GOTOOLCHAIN=local)
```
**Причина:** В `go.mod` указан `go 1.25`, Dockerfile использовал `golang:1.23-alpine`.
**Решение:** `FROM golang:1.23-alpine``FROM golang:1.25-alpine`.
---
## 2026-03-07 — go.mod: прямые зависимости помечены как indirect
**Проблема:** gopls показывал ошибки в `go.mod`:
```
github.com/gorilla/mux should be direct
github.com/lib/pq should be direct
github.com/minio/minio-go/v7 should be direct
k8s.io/api should be direct
```
**Причина:** Пакеты получили `// indirect` несмотря на прямые импорты — побочный эффект scaffold-генерации operator-sdk.
**Решение:** `go mod tidy` автоматически расставил правильные аннотации.
---