doc: план для Sonnet (sqs-operator deploy), обновлён progress.md
This commit is contained in:
+54
-1
@@ -1,6 +1,59 @@
|
||||
# Прогресс разработки
|
||||
|
||||
Последнее обновление: 2026-04-06 21:00 МСК
|
||||
Последнее обновление: 2026-04-07 14:30 МСК
|
||||
|
||||
---
|
||||
|
||||
## 2026-04-07 — SQS Operator: переделка через Operator SDK
|
||||
|
||||
### Цель
|
||||
Managed SQS-совместимый сервис (ElasticMQ per-tenant) — Kubernetes оператор.
|
||||
|
||||
### Что сделано (Opus)
|
||||
1. ✅ Установлен operator-sdk v1.37.0 на VM
|
||||
2. ✅ `operator-sdk init` — scaffold (Makefile, Dockerfile, config/, cmd/, PROJECT)
|
||||
3. ✅ `operator-sdk create api --kind QueueService --group sqs --version v1alpha1`
|
||||
4. ✅ CRD types заполнены — QueueServiceSpec (TenantID, MemoryMB, StorageMB, Persistence), QueueServiceStatus (Phase, Endpoint, SecretName, Message, ReadyAt)
|
||||
5. ✅ Reconciler перенесён из ручного кода в `internal/controller/` (provision, checkReady, ensureHealthy, handleDeletion)
|
||||
6. ✅ controller-gen обновлён до v0.17.0 (совместимость с Go 1.26.1)
|
||||
7. ✅ `make generate` — deepcopy автогенерирован
|
||||
8. ✅ `make manifests` — CRD YAML + RBAC ClusterRole из маркеров
|
||||
9. ✅ `make build` — bin/manager 55MB, компиляция без ошибок
|
||||
10. ✅ Коммит `66dcd99` + push
|
||||
|
||||
### Что осталось (Sonnet)
|
||||
- ⬜ Исправить Dockerfile (не копирует internal/config/ и internal/elasticmq/)
|
||||
- ⬜ Docker build + push в pearlharbor registry
|
||||
- ⬜ Обновить kubeconfig (протух)
|
||||
- ⬜ make install (CRD в кластер)
|
||||
- ⬜ make deploy (оператор в кластер) + env SQS_EXTERNAL_HOST + imagePullSecrets
|
||||
- ⬜ Создать тестовый QueueService CR
|
||||
- ⬜ Smoke test SQS API через curl
|
||||
|
||||
### Ключевые решения
|
||||
- Модель: инстанс на тенанта (ElasticMQ Native, ~30MB idle)
|
||||
- Routing: path-based `sqs.kube5s.ru/sqs/{tenantId}`
|
||||
- DNS: sqs.kube5s.ru → 185.247.187.147 (создан)
|
||||
- Namespace: sless-fn-{tenantId} (существующий)
|
||||
- Persistence: H2 на PVC
|
||||
|
||||
### Структура sqs-operator/
|
||||
```
|
||||
sqs-operator/
|
||||
├── api/v1alpha1/ ← CRD types + deepcopy
|
||||
├── cmd/main.go ← entry point
|
||||
├── config/ ← kustomize (CRD, RBAC, manager)
|
||||
├── internal/
|
||||
│ ├── config/ ← env config
|
||||
│ ├── controller/ ← reconciler
|
||||
│ └── elasticmq/ ← HOCON config + credentials
|
||||
├── Makefile ← operator-sdk toolchain
|
||||
├── Dockerfile ← multi-stage (NEEDS FIX)
|
||||
└── PROJECT ← metadata
|
||||
```
|
||||
|
||||
### План для Sonnet
|
||||
Подробный план: `doc/sqs-operator-sonnet-plan.md` — 8 этапов с командами и проверками.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user