docs: update progress.md, errors/log.md; add gitignore for dist/ and tfstate backups
- doc/progress.md: обновлена версия до operator v0.1.18 / provider v0.1.11, добавлен блок source_dir + fix destroy cleanup (2026-03-09), уточнены комментарии к контроллерам и trigger_resource - doc/errors/log.md: добавлены две записи — source_dir/hashicorp/archive, destroy route cleanup bug (три причины + решения) - .gitignore: добавлены examples/*/dist/ и terraform.tfstate.*.backup - examples/: удалены dist/ zip и tfstate.*.backup из трекинга
This commit is contained in:
+16
-5
@@ -1,6 +1,6 @@
|
||||
# Прогресс разработки
|
||||
|
||||
Последнее обновление: 2026-03-08 (operator v0.1.12, provider v0.1.5)
|
||||
Последнее обновление: 2026-03-09 (operator v0.1.18, provider v0.1.11)
|
||||
|
||||
## Статусы: ✅ готово | 🔄 в процессе | ⏳ не начато
|
||||
|
||||
@@ -19,10 +19,10 @@
|
||||
| 5 | internal/storage/postgres | ✅ | store.go: SaveInvocation, ListInvocations, RunMigrations |
|
||||
| 6 | internal/storage/s3 | ✅ | client.go: Upload, Download, Delete, EnsureBucket (Ceph S3) |
|
||||
| 7 | internal/builder | ✅ | builder.go: kaniko Jobs для сборки образов функций |
|
||||
| 8 | controllers/function_controller.go | ✅ | Pending→Building(kaniko)→Ready/Failed, Deployment, finalizer |
|
||||
| 9 | controllers/trigger_controller.go | ✅ | HTTP→Service+Ingress (fallback) или прокси через ExternalURL, Cron→CronJob, finalizer |
|
||||
| 8 | controllers/function_controller.go | ✅ | Pending→Building(kaniko)→Ready/Failed, Deployment, finalizer; handleDeletion удаляет Service+Ingress |
|
||||
| 9 | controllers/trigger_controller.go | ✅ | HTTP→Service+Ingress (fallback) или прокси через ExternalURL, Cron→CronJob, finalizer; handleTriggerDeletion удаляет Service+Ingress |
|
||||
| 10 | internal/api/router.go | ✅ | gorilla/mux, /v1/namespaces/{ns}/... (auth), /fn/{ns}/{name} (публичный прокси) |
|
||||
| 11 | internal/api/handler/ | ✅ | functions.go, triggers.go, invocations.go, invoke.go (proxy), handler.go (slog) |
|
||||
| 11 | internal/api/handler/ | ✅ | functions.go, triggers.go, invocations.go, invoke.go (proxy — no such host → 404), handler.go (slog) |
|
||||
| 12 | internal/api/middleware/ | ✅ | auth.go (Bearer token), logging.go (slog) |
|
||||
| 13 | main.go | ✅ | operator manager + HTTP сервер параллельно, wire всех зависимостей |
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
| 2 | internal/client/client.go | ✅ | HTTP-клиент sless API, готов к переносу в nubes |
|
||||
| 3 | internal/provider/provider.go | ✅ | паттерн идентичен nubes NubesProvider |
|
||||
| 4 | sless_function resource | ✅ | CRUD + upload zip + WaitReady (kaniko) |
|
||||
| 5 | sless_trigger resource | ✅ | CRUD (http/cron) |
|
||||
| 5 | sless_trigger resource | ✅ | CRUD (http/cron); Delete ждёт исчезновения CR (WaitGone, 90с) |
|
||||
| 6 | hack/build-and-publish.sh | ✅ | GPG-подпись + mc upload в S3 |
|
||||
| 7 | Публикация в terra.k8c.ru | ✅ | v0.1.3, key CB3A0DF161ECC416 |
|
||||
| 8 | terraform init | ✅ | Installed terra.k8c.ru/naeel/sless v0.1.3 |
|
||||
@@ -79,6 +79,17 @@
|
||||
**Примечание:** Код провайдера писался с прицелом на перенос в nubes провайдер.
|
||||
`internal/client/` → `internal/core/` nubes, ресурсы → `internal/resources_gen/`.
|
||||
|
||||
### source_dir + fix destroy cleanup (2026-03-09)
|
||||
|
||||
| # | Компонент | Статус | Заметки |
|
||||
|---|-----------|--------|----------|
|
||||
| 1 | provider: source_dir атрибут | ✅ | zip в памяти, SHA256 автоматически; hashicorp/archive не нужен |
|
||||
| 2 | fix: trigger_controller handleTriggerDeletion | ✅ | удаляет Service+Ingress из sless-fn-{ns} |
|
||||
| 3 | fix: function_controller handleDeletion | ✅ | удаляет Service+Ingress из sless-fn-{ns} |
|
||||
| 4 | fix: trigger_resource.go Delete WaitGone | ✅ | polling GetTrigger до 404, таймаут 90с |
|
||||
| 5 | fix: invoke.go no such host → 404 | ✅ | после destroy DNS NXDOMAIN → 404 вместо 502 |
|
||||
| 6 | E2E тест run_terraform_examples.sh | ✅ | все 4 примера: hello-node, simple-node, simple-python, notes-python |
|
||||
|
||||
### Что ещё не сделано
|
||||
|
||||
| # | Компонент | Статус | Заметки |
|
||||
|
||||
Reference in New Issue
Block a user